@charset "UTF-8";
/* -------------------------------------------------------
  Foundation
   
  基礎設定
   
*/
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
/* ====================================

Responsive 設定

==================================== */
/* ====================================

ベース定義

==================================== */
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul, ol {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-size: 14px;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  line-height: 1.5;
  color: #444;
  box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}

html.is-slidemenu-active body {
  /* position: fixed; */
  width: 100%;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}

ul, ol {
  list-style: none;
}

a {
  color: #0070cb;
  text-decoration: none;
  outline: none;
}

html.no-touchevents a:hover {
  text-decoration: underline;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  outline: none;
}

.g-clearfix:before, .g-clearfix:after {
  content: " ";
  display: table;
}

.g-clearfix:after {
  clear: both;
}

.g-tcenter {
  text-align: center !important;
}

.g-tleft {
  text-align: left !important;
}

.g-tright {
  text-align: right !important;
}

.g-center {
  display: table !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.g-left {
  display: table !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.g-right {
  display: table !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: right !important;
}

.g-xsmall {
  font-size: 11px !important;
}

.g-small {
  font-size: 12px !important;
}

.g-medium {
  font-size: 14px !important;
}

.g-large {
  font-size: 16px !important;
}

.g-xlarge {
  font-size: 18px !important;
}

.g-bold {
  font-weight: bold !important;
}

.g-normal {
  font-weight: normal !important;
}

.g-black {
  color: #000 !important;
}

.g-red {
  color: #e60012 !important;
}

.g-right-red, .g-light-red {
  color: #ff4455 !important;
}

.g-blue {
  color: #0070cb !important;
}

.g-yellow {
  color: #ffea00 !important;
}

.g-gray {
  color: #808080 !important;
}

.g-standard {
  color: #42aa92 !important;
}

.g-highlevel {
  color: #699ad2 !important;
}

.g-nowrap {
  white-space: nowrap !important;
}

/* ====================================

Utilities

==================================== */
.g-mt0 {
  margin-top: 0px !important;
}

.g-mb0 {
  margin-bottom: 0px !important;
}

.g-ml0 {
  margin-left: 0px !important;
}

.g-mr0 {
  margin-right: 0px !important;
}

.g-pt0 {
  padding-top: 0px !important;
}

.g-pb0 {
  padding-bottom: 0px !important;
}

.g-pl0 {
  padding-left: 0px !important;
}

.g-pr0 {
  padding-right: 0px !important;
}

.g-plr0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.g-ptb0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.g-font0 {
  font-size: 0px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt0-pc {
    margin-top: 0px !important;
  }
  .g-mb0-pc {
    margin-bottom: 0px !important;
  }
  .g-ml0-pc {
    margin-left: 0px !important;
  }
  .g-mr0-pc {
    margin-right: 0px !important;
  }
  .g-pt0-pc {
    padding-top: 0px !important;
  }
  .g-pb0-pc {
    padding-bottom: 0px !important;
  }
  .g-pl0-pc {
    padding-left: 0px !important;
  }
  .g-pr0-pc {
    padding-right: 0px !important;
  }
  .g-plr0-pc {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .g-ptb0-pc {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .g-font0-pc {
    font-size: 0px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt0-sp {
    margin-top: 0px !important;
  }
  .g-mb0-sp {
    margin-bottom: 0px !important;
  }
  .g-ml0-sp {
    margin-left: 0px !important;
  }
  .g-mr0-sp {
    margin-right: 0px !important;
  }
  .g-pt0-sp {
    padding-top: 0px !important;
  }
  .g-pb0-sp {
    padding-bottom: 0px !important;
  }
  .g-plr0-sp {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .g-ptb0-sp {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .g-pl0-sp {
    padding-left: 0px !important;
  }
  .g-pr0-sp {
    padding-right: 0px !important;
  }
  .g-font0-sp {
    font-size: 0px !important;
  }
}

.g-mt5 {
  margin-top: 5px !important;
}

.g-mb5 {
  margin-bottom: 5px !important;
}

.g-ml5 {
  margin-left: 5px !important;
}

.g-mr5 {
  margin-right: 5px !important;
}

.g-pt5 {
  padding-top: 5px !important;
}

.g-pb5 {
  padding-bottom: 5px !important;
}

.g-pl5 {
  padding-left: 5px !important;
}

.g-pr5 {
  padding-right: 5px !important;
}

.g-plr5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.g-ptb5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.g-font2 {
  font-size: 2px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt5-pc {
    margin-top: 5px !important;
  }
  .g-mb5-pc {
    margin-bottom: 5px !important;
  }
  .g-ml5-pc {
    margin-left: 5px !important;
  }
  .g-mr5-pc {
    margin-right: 5px !important;
  }
  .g-pt5-pc {
    padding-top: 5px !important;
  }
  .g-pb5-pc {
    padding-bottom: 5px !important;
  }
  .g-pl5-pc {
    padding-left: 5px !important;
  }
  .g-pr5-pc {
    padding-right: 5px !important;
  }
  .g-plr5-pc {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .g-ptb5-pc {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .g-font2-pc {
    font-size: 2px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt5-sp {
    margin-top: 5px !important;
  }
  .g-mb5-sp {
    margin-bottom: 5px !important;
  }
  .g-ml5-sp {
    margin-left: 5px !important;
  }
  .g-mr5-sp {
    margin-right: 5px !important;
  }
  .g-pt5-sp {
    padding-top: 5px !important;
  }
  .g-pb5-sp {
    padding-bottom: 5px !important;
  }
  .g-plr5-sp {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .g-ptb5-sp {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .g-pl5-sp {
    padding-left: 5px !important;
  }
  .g-pr5-sp {
    padding-right: 5px !important;
  }
  .g-font2-sp {
    font-size: 2px !important;
  }
}

.g-mt10 {
  margin-top: 10px !important;
}

.g-mb10 {
  margin-bottom: 10px !important;
}

.g-ml10 {
  margin-left: 10px !important;
}

.g-mr10 {
  margin-right: 10px !important;
}

.g-pt10 {
  padding-top: 10px !important;
}

.g-pb10 {
  padding-bottom: 10px !important;
}

.g-pl10 {
  padding-left: 10px !important;
}

.g-pr10 {
  padding-right: 10px !important;
}

.g-plr10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.g-ptb10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.g-font4 {
  font-size: 4px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt10-pc {
    margin-top: 10px !important;
  }
  .g-mb10-pc {
    margin-bottom: 10px !important;
  }
  .g-ml10-pc {
    margin-left: 10px !important;
  }
  .g-mr10-pc {
    margin-right: 10px !important;
  }
  .g-pt10-pc {
    padding-top: 10px !important;
  }
  .g-pb10-pc {
    padding-bottom: 10px !important;
  }
  .g-pl10-pc {
    padding-left: 10px !important;
  }
  .g-pr10-pc {
    padding-right: 10px !important;
  }
  .g-plr10-pc {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .g-ptb10-pc {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .g-font4-pc {
    font-size: 4px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt10-sp {
    margin-top: 10px !important;
  }
  .g-mb10-sp {
    margin-bottom: 10px !important;
  }
  .g-ml10-sp {
    margin-left: 10px !important;
  }
  .g-mr10-sp {
    margin-right: 10px !important;
  }
  .g-pt10-sp {
    padding-top: 10px !important;
  }
  .g-pb10-sp {
    padding-bottom: 10px !important;
  }
  .g-plr10-sp {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .g-ptb10-sp {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .g-pl10-sp {
    padding-left: 10px !important;
  }
  .g-pr10-sp {
    padding-right: 10px !important;
  }
  .g-font4-sp {
    font-size: 4px !important;
  }
}

.g-mt15 {
  margin-top: 15px !important;
}

.g-mb15 {
  margin-bottom: 15px !important;
}

.g-ml15 {
  margin-left: 15px !important;
}

.g-mr15 {
  margin-right: 15px !important;
}

.g-pt15 {
  padding-top: 15px !important;
}

.g-pb15 {
  padding-bottom: 15px !important;
}

.g-pl15 {
  padding-left: 15px !important;
}

.g-pr15 {
  padding-right: 15px !important;
}

.g-plr15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.g-ptb15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.g-font6 {
  font-size: 6px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt15-pc {
    margin-top: 15px !important;
  }
  .g-mb15-pc {
    margin-bottom: 15px !important;
  }
  .g-ml15-pc {
    margin-left: 15px !important;
  }
  .g-mr15-pc {
    margin-right: 15px !important;
  }
  .g-pt15-pc {
    padding-top: 15px !important;
  }
  .g-pb15-pc {
    padding-bottom: 15px !important;
  }
  .g-pl15-pc {
    padding-left: 15px !important;
  }
  .g-pr15-pc {
    padding-right: 15px !important;
  }
  .g-plr15-pc {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .g-ptb15-pc {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .g-font6-pc {
    font-size: 6px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt15-sp {
    margin-top: 15px !important;
  }
  .g-mb15-sp {
    margin-bottom: 15px !important;
  }
  .g-ml15-sp {
    margin-left: 15px !important;
  }
  .g-mr15-sp {
    margin-right: 15px !important;
  }
  .g-pt15-sp {
    padding-top: 15px !important;
  }
  .g-pb15-sp {
    padding-bottom: 15px !important;
  }
  .g-plr15-sp {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .g-ptb15-sp {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .g-pl15-sp {
    padding-left: 15px !important;
  }
  .g-pr15-sp {
    padding-right: 15px !important;
  }
  .g-font6-sp {
    font-size: 6px !important;
  }
}

.g-mt20 {
  margin-top: 20px !important;
}

.g-mb20 {
  margin-bottom: 20px !important;
}

.g-ml20 {
  margin-left: 20px !important;
}

.g-mr20 {
  margin-right: 20px !important;
}

.g-pt20 {
  padding-top: 20px !important;
}

.g-pb20 {
  padding-bottom: 20px !important;
}

.g-pl20 {
  padding-left: 20px !important;
}

.g-pr20 {
  padding-right: 20px !important;
}

.g-plr20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.g-ptb20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.g-font8 {
  font-size: 8px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt20-pc {
    margin-top: 20px !important;
  }
  .g-mb20-pc {
    margin-bottom: 20px !important;
  }
  .g-ml20-pc {
    margin-left: 20px !important;
  }
  .g-mr20-pc {
    margin-right: 20px !important;
  }
  .g-pt20-pc {
    padding-top: 20px !important;
  }
  .g-pb20-pc {
    padding-bottom: 20px !important;
  }
  .g-pl20-pc {
    padding-left: 20px !important;
  }
  .g-pr20-pc {
    padding-right: 20px !important;
  }
  .g-plr20-pc {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .g-ptb20-pc {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .g-font8-pc {
    font-size: 8px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt20-sp {
    margin-top: 20px !important;
  }
  .g-mb20-sp {
    margin-bottom: 20px !important;
  }
  .g-ml20-sp {
    margin-left: 20px !important;
  }
  .g-mr20-sp {
    margin-right: 20px !important;
  }
  .g-pt20-sp {
    padding-top: 20px !important;
  }
  .g-pb20-sp {
    padding-bottom: 20px !important;
  }
  .g-plr20-sp {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .g-ptb20-sp {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .g-pl20-sp {
    padding-left: 20px !important;
  }
  .g-pr20-sp {
    padding-right: 20px !important;
  }
  .g-font8-sp {
    font-size: 8px !important;
  }
}

.g-mt25 {
  margin-top: 25px !important;
}

.g-mb25 {
  margin-bottom: 25px !important;
}

.g-ml25 {
  margin-left: 25px !important;
}

.g-mr25 {
  margin-right: 25px !important;
}

.g-pt25 {
  padding-top: 25px !important;
}

.g-pb25 {
  padding-bottom: 25px !important;
}

.g-pl25 {
  padding-left: 25px !important;
}

.g-pr25 {
  padding-right: 25px !important;
}

.g-plr25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.g-ptb25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.g-font10 {
  font-size: 10px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt25-pc {
    margin-top: 25px !important;
  }
  .g-mb25-pc {
    margin-bottom: 25px !important;
  }
  .g-ml25-pc {
    margin-left: 25px !important;
  }
  .g-mr25-pc {
    margin-right: 25px !important;
  }
  .g-pt25-pc {
    padding-top: 25px !important;
  }
  .g-pb25-pc {
    padding-bottom: 25px !important;
  }
  .g-pl25-pc {
    padding-left: 25px !important;
  }
  .g-pr25-pc {
    padding-right: 25px !important;
  }
  .g-plr25-pc {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .g-ptb25-pc {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .g-font10-pc {
    font-size: 10px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt25-sp {
    margin-top: 25px !important;
  }
  .g-mb25-sp {
    margin-bottom: 25px !important;
  }
  .g-ml25-sp {
    margin-left: 25px !important;
  }
  .g-mr25-sp {
    margin-right: 25px !important;
  }
  .g-pt25-sp {
    padding-top: 25px !important;
  }
  .g-pb25-sp {
    padding-bottom: 25px !important;
  }
  .g-plr25-sp {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .g-ptb25-sp {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .g-pl25-sp {
    padding-left: 25px !important;
  }
  .g-pr25-sp {
    padding-right: 25px !important;
  }
  .g-font10-sp {
    font-size: 10px !important;
  }
}

.g-mt30 {
  margin-top: 30px !important;
}

.g-mb30 {
  margin-bottom: 30px !important;
}

.g-ml30 {
  margin-left: 30px !important;
}

.g-mr30 {
  margin-right: 30px !important;
}

.g-pt30 {
  padding-top: 30px !important;
}

.g-pb30 {
  padding-bottom: 30px !important;
}

.g-pl30 {
  padding-left: 30px !important;
}

.g-pr30 {
  padding-right: 30px !important;
}

.g-plr30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.g-ptb30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.g-font12 {
  font-size: 12px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt30-pc {
    margin-top: 30px !important;
  }
  .g-mb30-pc {
    margin-bottom: 30px !important;
  }
  .g-ml30-pc {
    margin-left: 30px !important;
  }
  .g-mr30-pc {
    margin-right: 30px !important;
  }
  .g-pt30-pc {
    padding-top: 30px !important;
  }
  .g-pb30-pc {
    padding-bottom: 30px !important;
  }
  .g-pl30-pc {
    padding-left: 30px !important;
  }
  .g-pr30-pc {
    padding-right: 30px !important;
  }
  .g-plr30-pc {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .g-ptb30-pc {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .g-font12-pc {
    font-size: 12px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt30-sp {
    margin-top: 30px !important;
  }
  .g-mb30-sp {
    margin-bottom: 30px !important;
  }
  .g-ml30-sp {
    margin-left: 30px !important;
  }
  .g-mr30-sp {
    margin-right: 30px !important;
  }
  .g-pt30-sp {
    padding-top: 30px !important;
  }
  .g-pb30-sp {
    padding-bottom: 30px !important;
  }
  .g-plr30-sp {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .g-ptb30-sp {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .g-pl30-sp {
    padding-left: 30px !important;
  }
  .g-pr30-sp {
    padding-right: 30px !important;
  }
  .g-font12-sp {
    font-size: 12px !important;
  }
}

.g-mt35 {
  margin-top: 35px !important;
}

.g-mb35 {
  margin-bottom: 35px !important;
}

.g-ml35 {
  margin-left: 35px !important;
}

.g-mr35 {
  margin-right: 35px !important;
}

.g-pt35 {
  padding-top: 35px !important;
}

.g-pb35 {
  padding-bottom: 35px !important;
}

.g-pl35 {
  padding-left: 35px !important;
}

.g-pr35 {
  padding-right: 35px !important;
}

.g-plr35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.g-ptb35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.g-font14 {
  font-size: 14px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt35-pc {
    margin-top: 35px !important;
  }
  .g-mb35-pc {
    margin-bottom: 35px !important;
  }
  .g-ml35-pc {
    margin-left: 35px !important;
  }
  .g-mr35-pc {
    margin-right: 35px !important;
  }
  .g-pt35-pc {
    padding-top: 35px !important;
  }
  .g-pb35-pc {
    padding-bottom: 35px !important;
  }
  .g-pl35-pc {
    padding-left: 35px !important;
  }
  .g-pr35-pc {
    padding-right: 35px !important;
  }
  .g-plr35-pc {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .g-ptb35-pc {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .g-font14-pc {
    font-size: 14px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt35-sp {
    margin-top: 35px !important;
  }
  .g-mb35-sp {
    margin-bottom: 35px !important;
  }
  .g-ml35-sp {
    margin-left: 35px !important;
  }
  .g-mr35-sp {
    margin-right: 35px !important;
  }
  .g-pt35-sp {
    padding-top: 35px !important;
  }
  .g-pb35-sp {
    padding-bottom: 35px !important;
  }
  .g-plr35-sp {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .g-ptb35-sp {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .g-pl35-sp {
    padding-left: 35px !important;
  }
  .g-pr35-sp {
    padding-right: 35px !important;
  }
  .g-font14-sp {
    font-size: 14px !important;
  }
}

.g-mt40 {
  margin-top: 40px !important;
}

.g-mb40 {
  margin-bottom: 40px !important;
}

.g-ml40 {
  margin-left: 40px !important;
}

.g-mr40 {
  margin-right: 40px !important;
}

.g-pt40 {
  padding-top: 40px !important;
}

.g-pb40 {
  padding-bottom: 40px !important;
}

.g-pl40 {
  padding-left: 40px !important;
}

.g-pr40 {
  padding-right: 40px !important;
}

.g-plr40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.g-ptb40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.g-font16 {
  font-size: 16px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt40-pc {
    margin-top: 40px !important;
  }
  .g-mb40-pc {
    margin-bottom: 40px !important;
  }
  .g-ml40-pc {
    margin-left: 40px !important;
  }
  .g-mr40-pc {
    margin-right: 40px !important;
  }
  .g-pt40-pc {
    padding-top: 40px !important;
  }
  .g-pb40-pc {
    padding-bottom: 40px !important;
  }
  .g-pl40-pc {
    padding-left: 40px !important;
  }
  .g-pr40-pc {
    padding-right: 40px !important;
  }
  .g-plr40-pc {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .g-ptb40-pc {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .g-font16-pc {
    font-size: 16px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt40-sp {
    margin-top: 40px !important;
  }
  .g-mb40-sp {
    margin-bottom: 40px !important;
  }
  .g-ml40-sp {
    margin-left: 40px !important;
  }
  .g-mr40-sp {
    margin-right: 40px !important;
  }
  .g-pt40-sp {
    padding-top: 40px !important;
  }
  .g-pb40-sp {
    padding-bottom: 40px !important;
  }
  .g-plr40-sp {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .g-ptb40-sp {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .g-pl40-sp {
    padding-left: 40px !important;
  }
  .g-pr40-sp {
    padding-right: 40px !important;
  }
  .g-font16-sp {
    font-size: 16px !important;
  }
}

.g-mt45 {
  margin-top: 45px !important;
}

.g-mb45 {
  margin-bottom: 45px !important;
}

.g-ml45 {
  margin-left: 45px !important;
}

.g-mr45 {
  margin-right: 45px !important;
}

.g-pt45 {
  padding-top: 45px !important;
}

.g-pb45 {
  padding-bottom: 45px !important;
}

.g-pl45 {
  padding-left: 45px !important;
}

.g-pr45 {
  padding-right: 45px !important;
}

.g-plr45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.g-ptb45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.g-font18 {
  font-size: 18px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt45-pc {
    margin-top: 45px !important;
  }
  .g-mb45-pc {
    margin-bottom: 45px !important;
  }
  .g-ml45-pc {
    margin-left: 45px !important;
  }
  .g-mr45-pc {
    margin-right: 45px !important;
  }
  .g-pt45-pc {
    padding-top: 45px !important;
  }
  .g-pb45-pc {
    padding-bottom: 45px !important;
  }
  .g-pl45-pc {
    padding-left: 45px !important;
  }
  .g-pr45-pc {
    padding-right: 45px !important;
  }
  .g-plr45-pc {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .g-ptb45-pc {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .g-font18-pc {
    font-size: 18px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt45-sp {
    margin-top: 45px !important;
  }
  .g-mb45-sp {
    margin-bottom: 45px !important;
  }
  .g-ml45-sp {
    margin-left: 45px !important;
  }
  .g-mr45-sp {
    margin-right: 45px !important;
  }
  .g-pt45-sp {
    padding-top: 45px !important;
  }
  .g-pb45-sp {
    padding-bottom: 45px !important;
  }
  .g-plr45-sp {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .g-ptb45-sp {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .g-pl45-sp {
    padding-left: 45px !important;
  }
  .g-pr45-sp {
    padding-right: 45px !important;
  }
  .g-font18-sp {
    font-size: 18px !important;
  }
}

.g-mt50 {
  margin-top: 50px !important;
}

.g-mb50 {
  margin-bottom: 50px !important;
}

.g-ml50 {
  margin-left: 50px !important;
}

.g-mr50 {
  margin-right: 50px !important;
}

.g-pt50 {
  padding-top: 50px !important;
}

.g-pb50 {
  padding-bottom: 50px !important;
}

.g-pl50 {
  padding-left: 50px !important;
}

.g-pr50 {
  padding-right: 50px !important;
}

.g-plr50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.g-ptb50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.g-font20 {
  font-size: 20px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt50-pc {
    margin-top: 50px !important;
  }
  .g-mb50-pc {
    margin-bottom: 50px !important;
  }
  .g-ml50-pc {
    margin-left: 50px !important;
  }
  .g-mr50-pc {
    margin-right: 50px !important;
  }
  .g-pt50-pc {
    padding-top: 50px !important;
  }
  .g-pb50-pc {
    padding-bottom: 50px !important;
  }
  .g-pl50-pc {
    padding-left: 50px !important;
  }
  .g-pr50-pc {
    padding-right: 50px !important;
  }
  .g-plr50-pc {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .g-ptb50-pc {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .g-font20-pc {
    font-size: 20px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt50-sp {
    margin-top: 50px !important;
  }
  .g-mb50-sp {
    margin-bottom: 50px !important;
  }
  .g-ml50-sp {
    margin-left: 50px !important;
  }
  .g-mr50-sp {
    margin-right: 50px !important;
  }
  .g-pt50-sp {
    padding-top: 50px !important;
  }
  .g-pb50-sp {
    padding-bottom: 50px !important;
  }
  .g-plr50-sp {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .g-ptb50-sp {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .g-pl50-sp {
    padding-left: 50px !important;
  }
  .g-pr50-sp {
    padding-right: 50px !important;
  }
  .g-font20-sp {
    font-size: 20px !important;
  }
}

.g-mt55 {
  margin-top: 55px !important;
}

.g-mb55 {
  margin-bottom: 55px !important;
}

.g-ml55 {
  margin-left: 55px !important;
}

.g-mr55 {
  margin-right: 55px !important;
}

.g-pt55 {
  padding-top: 55px !important;
}

.g-pb55 {
  padding-bottom: 55px !important;
}

.g-pl55 {
  padding-left: 55px !important;
}

.g-pr55 {
  padding-right: 55px !important;
}

.g-plr55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.g-ptb55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.g-font22 {
  font-size: 22px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt55-pc {
    margin-top: 55px !important;
  }
  .g-mb55-pc {
    margin-bottom: 55px !important;
  }
  .g-ml55-pc {
    margin-left: 55px !important;
  }
  .g-mr55-pc {
    margin-right: 55px !important;
  }
  .g-pt55-pc {
    padding-top: 55px !important;
  }
  .g-pb55-pc {
    padding-bottom: 55px !important;
  }
  .g-pl55-pc {
    padding-left: 55px !important;
  }
  .g-pr55-pc {
    padding-right: 55px !important;
  }
  .g-plr55-pc {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .g-ptb55-pc {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .g-font22-pc {
    font-size: 22px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt55-sp {
    margin-top: 55px !important;
  }
  .g-mb55-sp {
    margin-bottom: 55px !important;
  }
  .g-ml55-sp {
    margin-left: 55px !important;
  }
  .g-mr55-sp {
    margin-right: 55px !important;
  }
  .g-pt55-sp {
    padding-top: 55px !important;
  }
  .g-pb55-sp {
    padding-bottom: 55px !important;
  }
  .g-plr55-sp {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .g-ptb55-sp {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .g-pl55-sp {
    padding-left: 55px !important;
  }
  .g-pr55-sp {
    padding-right: 55px !important;
  }
  .g-font22-sp {
    font-size: 22px !important;
  }
}

.g-mt60 {
  margin-top: 60px !important;
}

.g-mb60 {
  margin-bottom: 60px !important;
}

.g-ml60 {
  margin-left: 60px !important;
}

.g-mr60 {
  margin-right: 60px !important;
}

.g-pt60 {
  padding-top: 60px !important;
}

.g-pb60 {
  padding-bottom: 60px !important;
}

.g-pl60 {
  padding-left: 60px !important;
}

.g-pr60 {
  padding-right: 60px !important;
}

.g-plr60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.g-ptb60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.g-font24 {
  font-size: 24px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt60-pc {
    margin-top: 60px !important;
  }
  .g-mb60-pc {
    margin-bottom: 60px !important;
  }
  .g-ml60-pc {
    margin-left: 60px !important;
  }
  .g-mr60-pc {
    margin-right: 60px !important;
  }
  .g-pt60-pc {
    padding-top: 60px !important;
  }
  .g-pb60-pc {
    padding-bottom: 60px !important;
  }
  .g-pl60-pc {
    padding-left: 60px !important;
  }
  .g-pr60-pc {
    padding-right: 60px !important;
  }
  .g-plr60-pc {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .g-ptb60-pc {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .g-font24-pc {
    font-size: 24px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt60-sp {
    margin-top: 60px !important;
  }
  .g-mb60-sp {
    margin-bottom: 60px !important;
  }
  .g-ml60-sp {
    margin-left: 60px !important;
  }
  .g-mr60-sp {
    margin-right: 60px !important;
  }
  .g-pt60-sp {
    padding-top: 60px !important;
  }
  .g-pb60-sp {
    padding-bottom: 60px !important;
  }
  .g-plr60-sp {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .g-ptb60-sp {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .g-pl60-sp {
    padding-left: 60px !important;
  }
  .g-pr60-sp {
    padding-right: 60px !important;
  }
  .g-font24-sp {
    font-size: 24px !important;
  }
}

.g-mt65 {
  margin-top: 65px !important;
}

.g-mb65 {
  margin-bottom: 65px !important;
}

.g-ml65 {
  margin-left: 65px !important;
}

.g-mr65 {
  margin-right: 65px !important;
}

.g-pt65 {
  padding-top: 65px !important;
}

.g-pb65 {
  padding-bottom: 65px !important;
}

.g-pl65 {
  padding-left: 65px !important;
}

.g-pr65 {
  padding-right: 65px !important;
}

.g-plr65 {
  padding-left: 65px !important;
  padding-right: 65px !important;
}

.g-ptb65 {
  padding-top: 65px !important;
  padding-bottom: 65px !important;
}

.g-font26 {
  font-size: 26px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt65-pc {
    margin-top: 65px !important;
  }
  .g-mb65-pc {
    margin-bottom: 65px !important;
  }
  .g-ml65-pc {
    margin-left: 65px !important;
  }
  .g-mr65-pc {
    margin-right: 65px !important;
  }
  .g-pt65-pc {
    padding-top: 65px !important;
  }
  .g-pb65-pc {
    padding-bottom: 65px !important;
  }
  .g-pl65-pc {
    padding-left: 65px !important;
  }
  .g-pr65-pc {
    padding-right: 65px !important;
  }
  .g-plr65-pc {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .g-ptb65-pc {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .g-font26-pc {
    font-size: 26px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt65-sp {
    margin-top: 65px !important;
  }
  .g-mb65-sp {
    margin-bottom: 65px !important;
  }
  .g-ml65-sp {
    margin-left: 65px !important;
  }
  .g-mr65-sp {
    margin-right: 65px !important;
  }
  .g-pt65-sp {
    padding-top: 65px !important;
  }
  .g-pb65-sp {
    padding-bottom: 65px !important;
  }
  .g-plr65-sp {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .g-ptb65-sp {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .g-pl65-sp {
    padding-left: 65px !important;
  }
  .g-pr65-sp {
    padding-right: 65px !important;
  }
  .g-font26-sp {
    font-size: 26px !important;
  }
}

.g-mt70 {
  margin-top: 70px !important;
}

.g-mb70 {
  margin-bottom: 70px !important;
}

.g-ml70 {
  margin-left: 70px !important;
}

.g-mr70 {
  margin-right: 70px !important;
}

.g-pt70 {
  padding-top: 70px !important;
}

.g-pb70 {
  padding-bottom: 70px !important;
}

.g-pl70 {
  padding-left: 70px !important;
}

.g-pr70 {
  padding-right: 70px !important;
}

.g-plr70 {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.g-ptb70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.g-font28 {
  font-size: 28px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt70-pc {
    margin-top: 70px !important;
  }
  .g-mb70-pc {
    margin-bottom: 70px !important;
  }
  .g-ml70-pc {
    margin-left: 70px !important;
  }
  .g-mr70-pc {
    margin-right: 70px !important;
  }
  .g-pt70-pc {
    padding-top: 70px !important;
  }
  .g-pb70-pc {
    padding-bottom: 70px !important;
  }
  .g-pl70-pc {
    padding-left: 70px !important;
  }
  .g-pr70-pc {
    padding-right: 70px !important;
  }
  .g-plr70-pc {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .g-ptb70-pc {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .g-font28-pc {
    font-size: 28px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt70-sp {
    margin-top: 70px !important;
  }
  .g-mb70-sp {
    margin-bottom: 70px !important;
  }
  .g-ml70-sp {
    margin-left: 70px !important;
  }
  .g-mr70-sp {
    margin-right: 70px !important;
  }
  .g-pt70-sp {
    padding-top: 70px !important;
  }
  .g-pb70-sp {
    padding-bottom: 70px !important;
  }
  .g-plr70-sp {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .g-ptb70-sp {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .g-pl70-sp {
    padding-left: 70px !important;
  }
  .g-pr70-sp {
    padding-right: 70px !important;
  }
  .g-font28-sp {
    font-size: 28px !important;
  }
}

.g-mt75 {
  margin-top: 75px !important;
}

.g-mb75 {
  margin-bottom: 75px !important;
}

.g-ml75 {
  margin-left: 75px !important;
}

.g-mr75 {
  margin-right: 75px !important;
}

.g-pt75 {
  padding-top: 75px !important;
}

.g-pb75 {
  padding-bottom: 75px !important;
}

.g-pl75 {
  padding-left: 75px !important;
}

.g-pr75 {
  padding-right: 75px !important;
}

.g-plr75 {
  padding-left: 75px !important;
  padding-right: 75px !important;
}

.g-ptb75 {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.g-font30 {
  font-size: 30px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt75-pc {
    margin-top: 75px !important;
  }
  .g-mb75-pc {
    margin-bottom: 75px !important;
  }
  .g-ml75-pc {
    margin-left: 75px !important;
  }
  .g-mr75-pc {
    margin-right: 75px !important;
  }
  .g-pt75-pc {
    padding-top: 75px !important;
  }
  .g-pb75-pc {
    padding-bottom: 75px !important;
  }
  .g-pl75-pc {
    padding-left: 75px !important;
  }
  .g-pr75-pc {
    padding-right: 75px !important;
  }
  .g-plr75-pc {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .g-ptb75-pc {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .g-font30-pc {
    font-size: 30px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt75-sp {
    margin-top: 75px !important;
  }
  .g-mb75-sp {
    margin-bottom: 75px !important;
  }
  .g-ml75-sp {
    margin-left: 75px !important;
  }
  .g-mr75-sp {
    margin-right: 75px !important;
  }
  .g-pt75-sp {
    padding-top: 75px !important;
  }
  .g-pb75-sp {
    padding-bottom: 75px !important;
  }
  .g-plr75-sp {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .g-ptb75-sp {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .g-pl75-sp {
    padding-left: 75px !important;
  }
  .g-pr75-sp {
    padding-right: 75px !important;
  }
  .g-font30-sp {
    font-size: 30px !important;
  }
}

.g-mt80 {
  margin-top: 80px !important;
}

.g-mb80 {
  margin-bottom: 80px !important;
}

.g-ml80 {
  margin-left: 80px !important;
}

.g-mr80 {
  margin-right: 80px !important;
}

.g-pt80 {
  padding-top: 80px !important;
}

.g-pb80 {
  padding-bottom: 80px !important;
}

.g-pl80 {
  padding-left: 80px !important;
}

.g-pr80 {
  padding-right: 80px !important;
}

.g-plr80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.g-ptb80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.g-font32 {
  font-size: 32px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt80-pc {
    margin-top: 80px !important;
  }
  .g-mb80-pc {
    margin-bottom: 80px !important;
  }
  .g-ml80-pc {
    margin-left: 80px !important;
  }
  .g-mr80-pc {
    margin-right: 80px !important;
  }
  .g-pt80-pc {
    padding-top: 80px !important;
  }
  .g-pb80-pc {
    padding-bottom: 80px !important;
  }
  .g-pl80-pc {
    padding-left: 80px !important;
  }
  .g-pr80-pc {
    padding-right: 80px !important;
  }
  .g-plr80-pc {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .g-ptb80-pc {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .g-font32-pc {
    font-size: 32px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt80-sp {
    margin-top: 80px !important;
  }
  .g-mb80-sp {
    margin-bottom: 80px !important;
  }
  .g-ml80-sp {
    margin-left: 80px !important;
  }
  .g-mr80-sp {
    margin-right: 80px !important;
  }
  .g-pt80-sp {
    padding-top: 80px !important;
  }
  .g-pb80-sp {
    padding-bottom: 80px !important;
  }
  .g-plr80-sp {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .g-ptb80-sp {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .g-pl80-sp {
    padding-left: 80px !important;
  }
  .g-pr80-sp {
    padding-right: 80px !important;
  }
  .g-font32-sp {
    font-size: 32px !important;
  }
}

.g-mt85 {
  margin-top: 85px !important;
}

.g-mb85 {
  margin-bottom: 85px !important;
}

.g-ml85 {
  margin-left: 85px !important;
}

.g-mr85 {
  margin-right: 85px !important;
}

.g-pt85 {
  padding-top: 85px !important;
}

.g-pb85 {
  padding-bottom: 85px !important;
}

.g-pl85 {
  padding-left: 85px !important;
}

.g-pr85 {
  padding-right: 85px !important;
}

.g-plr85 {
  padding-left: 85px !important;
  padding-right: 85px !important;
}

.g-ptb85 {
  padding-top: 85px !important;
  padding-bottom: 85px !important;
}

.g-font34 {
  font-size: 34px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt85-pc {
    margin-top: 85px !important;
  }
  .g-mb85-pc {
    margin-bottom: 85px !important;
  }
  .g-ml85-pc {
    margin-left: 85px !important;
  }
  .g-mr85-pc {
    margin-right: 85px !important;
  }
  .g-pt85-pc {
    padding-top: 85px !important;
  }
  .g-pb85-pc {
    padding-bottom: 85px !important;
  }
  .g-pl85-pc {
    padding-left: 85px !important;
  }
  .g-pr85-pc {
    padding-right: 85px !important;
  }
  .g-plr85-pc {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .g-ptb85-pc {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .g-font34-pc {
    font-size: 34px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt85-sp {
    margin-top: 85px !important;
  }
  .g-mb85-sp {
    margin-bottom: 85px !important;
  }
  .g-ml85-sp {
    margin-left: 85px !important;
  }
  .g-mr85-sp {
    margin-right: 85px !important;
  }
  .g-pt85-sp {
    padding-top: 85px !important;
  }
  .g-pb85-sp {
    padding-bottom: 85px !important;
  }
  .g-plr85-sp {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .g-ptb85-sp {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .g-pl85-sp {
    padding-left: 85px !important;
  }
  .g-pr85-sp {
    padding-right: 85px !important;
  }
  .g-font34-sp {
    font-size: 34px !important;
  }
}

.g-mt90 {
  margin-top: 90px !important;
}

.g-mb90 {
  margin-bottom: 90px !important;
}

.g-ml90 {
  margin-left: 90px !important;
}

.g-mr90 {
  margin-right: 90px !important;
}

.g-pt90 {
  padding-top: 90px !important;
}

.g-pb90 {
  padding-bottom: 90px !important;
}

.g-pl90 {
  padding-left: 90px !important;
}

.g-pr90 {
  padding-right: 90px !important;
}

.g-plr90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.g-ptb90 {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.g-font36 {
  font-size: 36px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt90-pc {
    margin-top: 90px !important;
  }
  .g-mb90-pc {
    margin-bottom: 90px !important;
  }
  .g-ml90-pc {
    margin-left: 90px !important;
  }
  .g-mr90-pc {
    margin-right: 90px !important;
  }
  .g-pt90-pc {
    padding-top: 90px !important;
  }
  .g-pb90-pc {
    padding-bottom: 90px !important;
  }
  .g-pl90-pc {
    padding-left: 90px !important;
  }
  .g-pr90-pc {
    padding-right: 90px !important;
  }
  .g-plr90-pc {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .g-ptb90-pc {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .g-font36-pc {
    font-size: 36px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt90-sp {
    margin-top: 90px !important;
  }
  .g-mb90-sp {
    margin-bottom: 90px !important;
  }
  .g-ml90-sp {
    margin-left: 90px !important;
  }
  .g-mr90-sp {
    margin-right: 90px !important;
  }
  .g-pt90-sp {
    padding-top: 90px !important;
  }
  .g-pb90-sp {
    padding-bottom: 90px !important;
  }
  .g-plr90-sp {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .g-ptb90-sp {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .g-pl90-sp {
    padding-left: 90px !important;
  }
  .g-pr90-sp {
    padding-right: 90px !important;
  }
  .g-font36-sp {
    font-size: 36px !important;
  }
}

.g-mt95 {
  margin-top: 95px !important;
}

.g-mb95 {
  margin-bottom: 95px !important;
}

.g-ml95 {
  margin-left: 95px !important;
}

.g-mr95 {
  margin-right: 95px !important;
}

.g-pt95 {
  padding-top: 95px !important;
}

.g-pb95 {
  padding-bottom: 95px !important;
}

.g-pl95 {
  padding-left: 95px !important;
}

.g-pr95 {
  padding-right: 95px !important;
}

.g-plr95 {
  padding-left: 95px !important;
  padding-right: 95px !important;
}

.g-ptb95 {
  padding-top: 95px !important;
  padding-bottom: 95px !important;
}

.g-font38 {
  font-size: 38px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt95-pc {
    margin-top: 95px !important;
  }
  .g-mb95-pc {
    margin-bottom: 95px !important;
  }
  .g-ml95-pc {
    margin-left: 95px !important;
  }
  .g-mr95-pc {
    margin-right: 95px !important;
  }
  .g-pt95-pc {
    padding-top: 95px !important;
  }
  .g-pb95-pc {
    padding-bottom: 95px !important;
  }
  .g-pl95-pc {
    padding-left: 95px !important;
  }
  .g-pr95-pc {
    padding-right: 95px !important;
  }
  .g-plr95-pc {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .g-ptb95-pc {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .g-font38-pc {
    font-size: 38px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt95-sp {
    margin-top: 95px !important;
  }
  .g-mb95-sp {
    margin-bottom: 95px !important;
  }
  .g-ml95-sp {
    margin-left: 95px !important;
  }
  .g-mr95-sp {
    margin-right: 95px !important;
  }
  .g-pt95-sp {
    padding-top: 95px !important;
  }
  .g-pb95-sp {
    padding-bottom: 95px !important;
  }
  .g-plr95-sp {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .g-ptb95-sp {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .g-pl95-sp {
    padding-left: 95px !important;
  }
  .g-pr95-sp {
    padding-right: 95px !important;
  }
  .g-font38-sp {
    font-size: 38px !important;
  }
}

.g-mt100 {
  margin-top: 100px !important;
}

.g-mb100 {
  margin-bottom: 100px !important;
}

.g-ml100 {
  margin-left: 100px !important;
}

.g-mr100 {
  margin-right: 100px !important;
}

.g-pt100 {
  padding-top: 100px !important;
}

.g-pb100 {
  padding-bottom: 100px !important;
}

.g-pl100 {
  padding-left: 100px !important;
}

.g-pr100 {
  padding-right: 100px !important;
}

.g-plr100 {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.g-ptb100 {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.g-font40 {
  font-size: 40px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt100-pc {
    margin-top: 100px !important;
  }
  .g-mb100-pc {
    margin-bottom: 100px !important;
  }
  .g-ml100-pc {
    margin-left: 100px !important;
  }
  .g-mr100-pc {
    margin-right: 100px !important;
  }
  .g-pt100-pc {
    padding-top: 100px !important;
  }
  .g-pb100-pc {
    padding-bottom: 100px !important;
  }
  .g-pl100-pc {
    padding-left: 100px !important;
  }
  .g-pr100-pc {
    padding-right: 100px !important;
  }
  .g-plr100-pc {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .g-ptb100-pc {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .g-font40-pc {
    font-size: 40px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt100-sp {
    margin-top: 100px !important;
  }
  .g-mb100-sp {
    margin-bottom: 100px !important;
  }
  .g-ml100-sp {
    margin-left: 100px !important;
  }
  .g-mr100-sp {
    margin-right: 100px !important;
  }
  .g-pt100-sp {
    padding-top: 100px !important;
  }
  .g-pb100-sp {
    padding-bottom: 100px !important;
  }
  .g-plr100-sp {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .g-ptb100-sp {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .g-pl100-sp {
    padding-left: 100px !important;
  }
  .g-pr100-sp {
    padding-right: 100px !important;
  }
  .g-font40-sp {
    font-size: 40px !important;
  }
}

.g-mt105 {
  margin-top: 105px !important;
}

.g-mb105 {
  margin-bottom: 105px !important;
}

.g-ml105 {
  margin-left: 105px !important;
}

.g-mr105 {
  margin-right: 105px !important;
}

.g-pt105 {
  padding-top: 105px !important;
}

.g-pb105 {
  padding-bottom: 105px !important;
}

.g-pl105 {
  padding-left: 105px !important;
}

.g-pr105 {
  padding-right: 105px !important;
}

.g-plr105 {
  padding-left: 105px !important;
  padding-right: 105px !important;
}

.g-ptb105 {
  padding-top: 105px !important;
  padding-bottom: 105px !important;
}

.g-font42 {
  font-size: 42px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt105-pc {
    margin-top: 105px !important;
  }
  .g-mb105-pc {
    margin-bottom: 105px !important;
  }
  .g-ml105-pc {
    margin-left: 105px !important;
  }
  .g-mr105-pc {
    margin-right: 105px !important;
  }
  .g-pt105-pc {
    padding-top: 105px !important;
  }
  .g-pb105-pc {
    padding-bottom: 105px !important;
  }
  .g-pl105-pc {
    padding-left: 105px !important;
  }
  .g-pr105-pc {
    padding-right: 105px !important;
  }
  .g-plr105-pc {
    padding-left: 105px !important;
    padding-right: 105px !important;
  }
  .g-ptb105-pc {
    padding-top: 105px !important;
    padding-bottom: 105px !important;
  }
  .g-font42-pc {
    font-size: 42px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt105-sp {
    margin-top: 105px !important;
  }
  .g-mb105-sp {
    margin-bottom: 105px !important;
  }
  .g-ml105-sp {
    margin-left: 105px !important;
  }
  .g-mr105-sp {
    margin-right: 105px !important;
  }
  .g-pt105-sp {
    padding-top: 105px !important;
  }
  .g-pb105-sp {
    padding-bottom: 105px !important;
  }
  .g-plr105-sp {
    padding-left: 105px !important;
    padding-right: 105px !important;
  }
  .g-ptb105-sp {
    padding-top: 105px !important;
    padding-bottom: 105px !important;
  }
  .g-pl105-sp {
    padding-left: 105px !important;
  }
  .g-pr105-sp {
    padding-right: 105px !important;
  }
  .g-font42-sp {
    font-size: 42px !important;
  }
}

.g-mt110 {
  margin-top: 110px !important;
}

.g-mb110 {
  margin-bottom: 110px !important;
}

.g-ml110 {
  margin-left: 110px !important;
}

.g-mr110 {
  margin-right: 110px !important;
}

.g-pt110 {
  padding-top: 110px !important;
}

.g-pb110 {
  padding-bottom: 110px !important;
}

.g-pl110 {
  padding-left: 110px !important;
}

.g-pr110 {
  padding-right: 110px !important;
}

.g-plr110 {
  padding-left: 110px !important;
  padding-right: 110px !important;
}

.g-ptb110 {
  padding-top: 110px !important;
  padding-bottom: 110px !important;
}

.g-font44 {
  font-size: 44px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt110-pc {
    margin-top: 110px !important;
  }
  .g-mb110-pc {
    margin-bottom: 110px !important;
  }
  .g-ml110-pc {
    margin-left: 110px !important;
  }
  .g-mr110-pc {
    margin-right: 110px !important;
  }
  .g-pt110-pc {
    padding-top: 110px !important;
  }
  .g-pb110-pc {
    padding-bottom: 110px !important;
  }
  .g-pl110-pc {
    padding-left: 110px !important;
  }
  .g-pr110-pc {
    padding-right: 110px !important;
  }
  .g-plr110-pc {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .g-ptb110-pc {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .g-font44-pc {
    font-size: 44px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt110-sp {
    margin-top: 110px !important;
  }
  .g-mb110-sp {
    margin-bottom: 110px !important;
  }
  .g-ml110-sp {
    margin-left: 110px !important;
  }
  .g-mr110-sp {
    margin-right: 110px !important;
  }
  .g-pt110-sp {
    padding-top: 110px !important;
  }
  .g-pb110-sp {
    padding-bottom: 110px !important;
  }
  .g-plr110-sp {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .g-ptb110-sp {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .g-pl110-sp {
    padding-left: 110px !important;
  }
  .g-pr110-sp {
    padding-right: 110px !important;
  }
  .g-font44-sp {
    font-size: 44px !important;
  }
}

.g-mt115 {
  margin-top: 115px !important;
}

.g-mb115 {
  margin-bottom: 115px !important;
}

.g-ml115 {
  margin-left: 115px !important;
}

.g-mr115 {
  margin-right: 115px !important;
}

.g-pt115 {
  padding-top: 115px !important;
}

.g-pb115 {
  padding-bottom: 115px !important;
}

.g-pl115 {
  padding-left: 115px !important;
}

.g-pr115 {
  padding-right: 115px !important;
}

.g-plr115 {
  padding-left: 115px !important;
  padding-right: 115px !important;
}

.g-ptb115 {
  padding-top: 115px !important;
  padding-bottom: 115px !important;
}

.g-font46 {
  font-size: 46px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt115-pc {
    margin-top: 115px !important;
  }
  .g-mb115-pc {
    margin-bottom: 115px !important;
  }
  .g-ml115-pc {
    margin-left: 115px !important;
  }
  .g-mr115-pc {
    margin-right: 115px !important;
  }
  .g-pt115-pc {
    padding-top: 115px !important;
  }
  .g-pb115-pc {
    padding-bottom: 115px !important;
  }
  .g-pl115-pc {
    padding-left: 115px !important;
  }
  .g-pr115-pc {
    padding-right: 115px !important;
  }
  .g-plr115-pc {
    padding-left: 115px !important;
    padding-right: 115px !important;
  }
  .g-ptb115-pc {
    padding-top: 115px !important;
    padding-bottom: 115px !important;
  }
  .g-font46-pc {
    font-size: 46px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt115-sp {
    margin-top: 115px !important;
  }
  .g-mb115-sp {
    margin-bottom: 115px !important;
  }
  .g-ml115-sp {
    margin-left: 115px !important;
  }
  .g-mr115-sp {
    margin-right: 115px !important;
  }
  .g-pt115-sp {
    padding-top: 115px !important;
  }
  .g-pb115-sp {
    padding-bottom: 115px !important;
  }
  .g-plr115-sp {
    padding-left: 115px !important;
    padding-right: 115px !important;
  }
  .g-ptb115-sp {
    padding-top: 115px !important;
    padding-bottom: 115px !important;
  }
  .g-pl115-sp {
    padding-left: 115px !important;
  }
  .g-pr115-sp {
    padding-right: 115px !important;
  }
  .g-font46-sp {
    font-size: 46px !important;
  }
}

.g-mt120 {
  margin-top: 120px !important;
}

.g-mb120 {
  margin-bottom: 120px !important;
}

.g-ml120 {
  margin-left: 120px !important;
}

.g-mr120 {
  margin-right: 120px !important;
}

.g-pt120 {
  padding-top: 120px !important;
}

.g-pb120 {
  padding-bottom: 120px !important;
}

.g-pl120 {
  padding-left: 120px !important;
}

.g-pr120 {
  padding-right: 120px !important;
}

.g-plr120 {
  padding-left: 120px !important;
  padding-right: 120px !important;
}

.g-ptb120 {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

.g-font48 {
  font-size: 48px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt120-pc {
    margin-top: 120px !important;
  }
  .g-mb120-pc {
    margin-bottom: 120px !important;
  }
  .g-ml120-pc {
    margin-left: 120px !important;
  }
  .g-mr120-pc {
    margin-right: 120px !important;
  }
  .g-pt120-pc {
    padding-top: 120px !important;
  }
  .g-pb120-pc {
    padding-bottom: 120px !important;
  }
  .g-pl120-pc {
    padding-left: 120px !important;
  }
  .g-pr120-pc {
    padding-right: 120px !important;
  }
  .g-plr120-pc {
    padding-left: 120px !important;
    padding-right: 120px !important;
  }
  .g-ptb120-pc {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
  .g-font48-pc {
    font-size: 48px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt120-sp {
    margin-top: 120px !important;
  }
  .g-mb120-sp {
    margin-bottom: 120px !important;
  }
  .g-ml120-sp {
    margin-left: 120px !important;
  }
  .g-mr120-sp {
    margin-right: 120px !important;
  }
  .g-pt120-sp {
    padding-top: 120px !important;
  }
  .g-pb120-sp {
    padding-bottom: 120px !important;
  }
  .g-plr120-sp {
    padding-left: 120px !important;
    padding-right: 120px !important;
  }
  .g-ptb120-sp {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
  .g-pl120-sp {
    padding-left: 120px !important;
  }
  .g-pr120-sp {
    padding-right: 120px !important;
  }
  .g-font48-sp {
    font-size: 48px !important;
  }
}

.g-mt125 {
  margin-top: 125px !important;
}

.g-mb125 {
  margin-bottom: 125px !important;
}

.g-ml125 {
  margin-left: 125px !important;
}

.g-mr125 {
  margin-right: 125px !important;
}

.g-pt125 {
  padding-top: 125px !important;
}

.g-pb125 {
  padding-bottom: 125px !important;
}

.g-pl125 {
  padding-left: 125px !important;
}

.g-pr125 {
  padding-right: 125px !important;
}

.g-plr125 {
  padding-left: 125px !important;
  padding-right: 125px !important;
}

.g-ptb125 {
  padding-top: 125px !important;
  padding-bottom: 125px !important;
}

.g-font50 {
  font-size: 50px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt125-pc {
    margin-top: 125px !important;
  }
  .g-mb125-pc {
    margin-bottom: 125px !important;
  }
  .g-ml125-pc {
    margin-left: 125px !important;
  }
  .g-mr125-pc {
    margin-right: 125px !important;
  }
  .g-pt125-pc {
    padding-top: 125px !important;
  }
  .g-pb125-pc {
    padding-bottom: 125px !important;
  }
  .g-pl125-pc {
    padding-left: 125px !important;
  }
  .g-pr125-pc {
    padding-right: 125px !important;
  }
  .g-plr125-pc {
    padding-left: 125px !important;
    padding-right: 125px !important;
  }
  .g-ptb125-pc {
    padding-top: 125px !important;
    padding-bottom: 125px !important;
  }
  .g-font50-pc {
    font-size: 50px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt125-sp {
    margin-top: 125px !important;
  }
  .g-mb125-sp {
    margin-bottom: 125px !important;
  }
  .g-ml125-sp {
    margin-left: 125px !important;
  }
  .g-mr125-sp {
    margin-right: 125px !important;
  }
  .g-pt125-sp {
    padding-top: 125px !important;
  }
  .g-pb125-sp {
    padding-bottom: 125px !important;
  }
  .g-plr125-sp {
    padding-left: 125px !important;
    padding-right: 125px !important;
  }
  .g-ptb125-sp {
    padding-top: 125px !important;
    padding-bottom: 125px !important;
  }
  .g-pl125-sp {
    padding-left: 125px !important;
  }
  .g-pr125-sp {
    padding-right: 125px !important;
  }
  .g-font50-sp {
    font-size: 50px !important;
  }
}

.g-mt130 {
  margin-top: 130px !important;
}

.g-mb130 {
  margin-bottom: 130px !important;
}

.g-ml130 {
  margin-left: 130px !important;
}

.g-mr130 {
  margin-right: 130px !important;
}

.g-pt130 {
  padding-top: 130px !important;
}

.g-pb130 {
  padding-bottom: 130px !important;
}

.g-pl130 {
  padding-left: 130px !important;
}

.g-pr130 {
  padding-right: 130px !important;
}

.g-plr130 {
  padding-left: 130px !important;
  padding-right: 130px !important;
}

.g-ptb130 {
  padding-top: 130px !important;
  padding-bottom: 130px !important;
}

.g-font52 {
  font-size: 52px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt130-pc {
    margin-top: 130px !important;
  }
  .g-mb130-pc {
    margin-bottom: 130px !important;
  }
  .g-ml130-pc {
    margin-left: 130px !important;
  }
  .g-mr130-pc {
    margin-right: 130px !important;
  }
  .g-pt130-pc {
    padding-top: 130px !important;
  }
  .g-pb130-pc {
    padding-bottom: 130px !important;
  }
  .g-pl130-pc {
    padding-left: 130px !important;
  }
  .g-pr130-pc {
    padding-right: 130px !important;
  }
  .g-plr130-pc {
    padding-left: 130px !important;
    padding-right: 130px !important;
  }
  .g-ptb130-pc {
    padding-top: 130px !important;
    padding-bottom: 130px !important;
  }
  .g-font52-pc {
    font-size: 52px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt130-sp {
    margin-top: 130px !important;
  }
  .g-mb130-sp {
    margin-bottom: 130px !important;
  }
  .g-ml130-sp {
    margin-left: 130px !important;
  }
  .g-mr130-sp {
    margin-right: 130px !important;
  }
  .g-pt130-sp {
    padding-top: 130px !important;
  }
  .g-pb130-sp {
    padding-bottom: 130px !important;
  }
  .g-plr130-sp {
    padding-left: 130px !important;
    padding-right: 130px !important;
  }
  .g-ptb130-sp {
    padding-top: 130px !important;
    padding-bottom: 130px !important;
  }
  .g-pl130-sp {
    padding-left: 130px !important;
  }
  .g-pr130-sp {
    padding-right: 130px !important;
  }
  .g-font52-sp {
    font-size: 52px !important;
  }
}

.g-mt135 {
  margin-top: 135px !important;
}

.g-mb135 {
  margin-bottom: 135px !important;
}

.g-ml135 {
  margin-left: 135px !important;
}

.g-mr135 {
  margin-right: 135px !important;
}

.g-pt135 {
  padding-top: 135px !important;
}

.g-pb135 {
  padding-bottom: 135px !important;
}

.g-pl135 {
  padding-left: 135px !important;
}

.g-pr135 {
  padding-right: 135px !important;
}

.g-plr135 {
  padding-left: 135px !important;
  padding-right: 135px !important;
}

.g-ptb135 {
  padding-top: 135px !important;
  padding-bottom: 135px !important;
}

.g-font54 {
  font-size: 54px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt135-pc {
    margin-top: 135px !important;
  }
  .g-mb135-pc {
    margin-bottom: 135px !important;
  }
  .g-ml135-pc {
    margin-left: 135px !important;
  }
  .g-mr135-pc {
    margin-right: 135px !important;
  }
  .g-pt135-pc {
    padding-top: 135px !important;
  }
  .g-pb135-pc {
    padding-bottom: 135px !important;
  }
  .g-pl135-pc {
    padding-left: 135px !important;
  }
  .g-pr135-pc {
    padding-right: 135px !important;
  }
  .g-plr135-pc {
    padding-left: 135px !important;
    padding-right: 135px !important;
  }
  .g-ptb135-pc {
    padding-top: 135px !important;
    padding-bottom: 135px !important;
  }
  .g-font54-pc {
    font-size: 54px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt135-sp {
    margin-top: 135px !important;
  }
  .g-mb135-sp {
    margin-bottom: 135px !important;
  }
  .g-ml135-sp {
    margin-left: 135px !important;
  }
  .g-mr135-sp {
    margin-right: 135px !important;
  }
  .g-pt135-sp {
    padding-top: 135px !important;
  }
  .g-pb135-sp {
    padding-bottom: 135px !important;
  }
  .g-plr135-sp {
    padding-left: 135px !important;
    padding-right: 135px !important;
  }
  .g-ptb135-sp {
    padding-top: 135px !important;
    padding-bottom: 135px !important;
  }
  .g-pl135-sp {
    padding-left: 135px !important;
  }
  .g-pr135-sp {
    padding-right: 135px !important;
  }
  .g-font54-sp {
    font-size: 54px !important;
  }
}

.g-mt140 {
  margin-top: 140px !important;
}

.g-mb140 {
  margin-bottom: 140px !important;
}

.g-ml140 {
  margin-left: 140px !important;
}

.g-mr140 {
  margin-right: 140px !important;
}

.g-pt140 {
  padding-top: 140px !important;
}

.g-pb140 {
  padding-bottom: 140px !important;
}

.g-pl140 {
  padding-left: 140px !important;
}

.g-pr140 {
  padding-right: 140px !important;
}

.g-plr140 {
  padding-left: 140px !important;
  padding-right: 140px !important;
}

.g-ptb140 {
  padding-top: 140px !important;
  padding-bottom: 140px !important;
}

.g-font56 {
  font-size: 56px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt140-pc {
    margin-top: 140px !important;
  }
  .g-mb140-pc {
    margin-bottom: 140px !important;
  }
  .g-ml140-pc {
    margin-left: 140px !important;
  }
  .g-mr140-pc {
    margin-right: 140px !important;
  }
  .g-pt140-pc {
    padding-top: 140px !important;
  }
  .g-pb140-pc {
    padding-bottom: 140px !important;
  }
  .g-pl140-pc {
    padding-left: 140px !important;
  }
  .g-pr140-pc {
    padding-right: 140px !important;
  }
  .g-plr140-pc {
    padding-left: 140px !important;
    padding-right: 140px !important;
  }
  .g-ptb140-pc {
    padding-top: 140px !important;
    padding-bottom: 140px !important;
  }
  .g-font56-pc {
    font-size: 56px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt140-sp {
    margin-top: 140px !important;
  }
  .g-mb140-sp {
    margin-bottom: 140px !important;
  }
  .g-ml140-sp {
    margin-left: 140px !important;
  }
  .g-mr140-sp {
    margin-right: 140px !important;
  }
  .g-pt140-sp {
    padding-top: 140px !important;
  }
  .g-pb140-sp {
    padding-bottom: 140px !important;
  }
  .g-plr140-sp {
    padding-left: 140px !important;
    padding-right: 140px !important;
  }
  .g-ptb140-sp {
    padding-top: 140px !important;
    padding-bottom: 140px !important;
  }
  .g-pl140-sp {
    padding-left: 140px !important;
  }
  .g-pr140-sp {
    padding-right: 140px !important;
  }
  .g-font56-sp {
    font-size: 56px !important;
  }
}

.g-mt145 {
  margin-top: 145px !important;
}

.g-mb145 {
  margin-bottom: 145px !important;
}

.g-ml145 {
  margin-left: 145px !important;
}

.g-mr145 {
  margin-right: 145px !important;
}

.g-pt145 {
  padding-top: 145px !important;
}

.g-pb145 {
  padding-bottom: 145px !important;
}

.g-pl145 {
  padding-left: 145px !important;
}

.g-pr145 {
  padding-right: 145px !important;
}

.g-plr145 {
  padding-left: 145px !important;
  padding-right: 145px !important;
}

.g-ptb145 {
  padding-top: 145px !important;
  padding-bottom: 145px !important;
}

.g-font58 {
  font-size: 58px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt145-pc {
    margin-top: 145px !important;
  }
  .g-mb145-pc {
    margin-bottom: 145px !important;
  }
  .g-ml145-pc {
    margin-left: 145px !important;
  }
  .g-mr145-pc {
    margin-right: 145px !important;
  }
  .g-pt145-pc {
    padding-top: 145px !important;
  }
  .g-pb145-pc {
    padding-bottom: 145px !important;
  }
  .g-pl145-pc {
    padding-left: 145px !important;
  }
  .g-pr145-pc {
    padding-right: 145px !important;
  }
  .g-plr145-pc {
    padding-left: 145px !important;
    padding-right: 145px !important;
  }
  .g-ptb145-pc {
    padding-top: 145px !important;
    padding-bottom: 145px !important;
  }
  .g-font58-pc {
    font-size: 58px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt145-sp {
    margin-top: 145px !important;
  }
  .g-mb145-sp {
    margin-bottom: 145px !important;
  }
  .g-ml145-sp {
    margin-left: 145px !important;
  }
  .g-mr145-sp {
    margin-right: 145px !important;
  }
  .g-pt145-sp {
    padding-top: 145px !important;
  }
  .g-pb145-sp {
    padding-bottom: 145px !important;
  }
  .g-plr145-sp {
    padding-left: 145px !important;
    padding-right: 145px !important;
  }
  .g-ptb145-sp {
    padding-top: 145px !important;
    padding-bottom: 145px !important;
  }
  .g-pl145-sp {
    padding-left: 145px !important;
  }
  .g-pr145-sp {
    padding-right: 145px !important;
  }
  .g-font58-sp {
    font-size: 58px !important;
  }
}

.g-mt150 {
  margin-top: 150px !important;
}

.g-mb150 {
  margin-bottom: 150px !important;
}

.g-ml150 {
  margin-left: 150px !important;
}

.g-mr150 {
  margin-right: 150px !important;
}

.g-pt150 {
  padding-top: 150px !important;
}

.g-pb150 {
  padding-bottom: 150px !important;
}

.g-pl150 {
  padding-left: 150px !important;
}

.g-pr150 {
  padding-right: 150px !important;
}

.g-plr150 {
  padding-left: 150px !important;
  padding-right: 150px !important;
}

.g-ptb150 {
  padding-top: 150px !important;
  padding-bottom: 150px !important;
}

.g-font60 {
  font-size: 60px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt150-pc {
    margin-top: 150px !important;
  }
  .g-mb150-pc {
    margin-bottom: 150px !important;
  }
  .g-ml150-pc {
    margin-left: 150px !important;
  }
  .g-mr150-pc {
    margin-right: 150px !important;
  }
  .g-pt150-pc {
    padding-top: 150px !important;
  }
  .g-pb150-pc {
    padding-bottom: 150px !important;
  }
  .g-pl150-pc {
    padding-left: 150px !important;
  }
  .g-pr150-pc {
    padding-right: 150px !important;
  }
  .g-plr150-pc {
    padding-left: 150px !important;
    padding-right: 150px !important;
  }
  .g-ptb150-pc {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
  }
  .g-font60-pc {
    font-size: 60px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt150-sp {
    margin-top: 150px !important;
  }
  .g-mb150-sp {
    margin-bottom: 150px !important;
  }
  .g-ml150-sp {
    margin-left: 150px !important;
  }
  .g-mr150-sp {
    margin-right: 150px !important;
  }
  .g-pt150-sp {
    padding-top: 150px !important;
  }
  .g-pb150-sp {
    padding-bottom: 150px !important;
  }
  .g-plr150-sp {
    padding-left: 150px !important;
    padding-right: 150px !important;
  }
  .g-ptb150-sp {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
  }
  .g-pl150-sp {
    padding-left: 150px !important;
  }
  .g-pr150-sp {
    padding-right: 150px !important;
  }
  .g-font60-sp {
    font-size: 60px !important;
  }
}

.g-mt155 {
  margin-top: 155px !important;
}

.g-mb155 {
  margin-bottom: 155px !important;
}

.g-ml155 {
  margin-left: 155px !important;
}

.g-mr155 {
  margin-right: 155px !important;
}

.g-pt155 {
  padding-top: 155px !important;
}

.g-pb155 {
  padding-bottom: 155px !important;
}

.g-pl155 {
  padding-left: 155px !important;
}

.g-pr155 {
  padding-right: 155px !important;
}

.g-plr155 {
  padding-left: 155px !important;
  padding-right: 155px !important;
}

.g-ptb155 {
  padding-top: 155px !important;
  padding-bottom: 155px !important;
}

.g-font62 {
  font-size: 62px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt155-pc {
    margin-top: 155px !important;
  }
  .g-mb155-pc {
    margin-bottom: 155px !important;
  }
  .g-ml155-pc {
    margin-left: 155px !important;
  }
  .g-mr155-pc {
    margin-right: 155px !important;
  }
  .g-pt155-pc {
    padding-top: 155px !important;
  }
  .g-pb155-pc {
    padding-bottom: 155px !important;
  }
  .g-pl155-pc {
    padding-left: 155px !important;
  }
  .g-pr155-pc {
    padding-right: 155px !important;
  }
  .g-plr155-pc {
    padding-left: 155px !important;
    padding-right: 155px !important;
  }
  .g-ptb155-pc {
    padding-top: 155px !important;
    padding-bottom: 155px !important;
  }
  .g-font62-pc {
    font-size: 62px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt155-sp {
    margin-top: 155px !important;
  }
  .g-mb155-sp {
    margin-bottom: 155px !important;
  }
  .g-ml155-sp {
    margin-left: 155px !important;
  }
  .g-mr155-sp {
    margin-right: 155px !important;
  }
  .g-pt155-sp {
    padding-top: 155px !important;
  }
  .g-pb155-sp {
    padding-bottom: 155px !important;
  }
  .g-plr155-sp {
    padding-left: 155px !important;
    padding-right: 155px !important;
  }
  .g-ptb155-sp {
    padding-top: 155px !important;
    padding-bottom: 155px !important;
  }
  .g-pl155-sp {
    padding-left: 155px !important;
  }
  .g-pr155-sp {
    padding-right: 155px !important;
  }
  .g-font62-sp {
    font-size: 62px !important;
  }
}

.g-mt160 {
  margin-top: 160px !important;
}

.g-mb160 {
  margin-bottom: 160px !important;
}

.g-ml160 {
  margin-left: 160px !important;
}

.g-mr160 {
  margin-right: 160px !important;
}

.g-pt160 {
  padding-top: 160px !important;
}

.g-pb160 {
  padding-bottom: 160px !important;
}

.g-pl160 {
  padding-left: 160px !important;
}

.g-pr160 {
  padding-right: 160px !important;
}

.g-plr160 {
  padding-left: 160px !important;
  padding-right: 160px !important;
}

.g-ptb160 {
  padding-top: 160px !important;
  padding-bottom: 160px !important;
}

.g-font64 {
  font-size: 64px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt160-pc {
    margin-top: 160px !important;
  }
  .g-mb160-pc {
    margin-bottom: 160px !important;
  }
  .g-ml160-pc {
    margin-left: 160px !important;
  }
  .g-mr160-pc {
    margin-right: 160px !important;
  }
  .g-pt160-pc {
    padding-top: 160px !important;
  }
  .g-pb160-pc {
    padding-bottom: 160px !important;
  }
  .g-pl160-pc {
    padding-left: 160px !important;
  }
  .g-pr160-pc {
    padding-right: 160px !important;
  }
  .g-plr160-pc {
    padding-left: 160px !important;
    padding-right: 160px !important;
  }
  .g-ptb160-pc {
    padding-top: 160px !important;
    padding-bottom: 160px !important;
  }
  .g-font64-pc {
    font-size: 64px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt160-sp {
    margin-top: 160px !important;
  }
  .g-mb160-sp {
    margin-bottom: 160px !important;
  }
  .g-ml160-sp {
    margin-left: 160px !important;
  }
  .g-mr160-sp {
    margin-right: 160px !important;
  }
  .g-pt160-sp {
    padding-top: 160px !important;
  }
  .g-pb160-sp {
    padding-bottom: 160px !important;
  }
  .g-plr160-sp {
    padding-left: 160px !important;
    padding-right: 160px !important;
  }
  .g-ptb160-sp {
    padding-top: 160px !important;
    padding-bottom: 160px !important;
  }
  .g-pl160-sp {
    padding-left: 160px !important;
  }
  .g-pr160-sp {
    padding-right: 160px !important;
  }
  .g-font64-sp {
    font-size: 64px !important;
  }
}

.g-mt165 {
  margin-top: 165px !important;
}

.g-mb165 {
  margin-bottom: 165px !important;
}

.g-ml165 {
  margin-left: 165px !important;
}

.g-mr165 {
  margin-right: 165px !important;
}

.g-pt165 {
  padding-top: 165px !important;
}

.g-pb165 {
  padding-bottom: 165px !important;
}

.g-pl165 {
  padding-left: 165px !important;
}

.g-pr165 {
  padding-right: 165px !important;
}

.g-plr165 {
  padding-left: 165px !important;
  padding-right: 165px !important;
}

.g-ptb165 {
  padding-top: 165px !important;
  padding-bottom: 165px !important;
}

.g-font66 {
  font-size: 66px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt165-pc {
    margin-top: 165px !important;
  }
  .g-mb165-pc {
    margin-bottom: 165px !important;
  }
  .g-ml165-pc {
    margin-left: 165px !important;
  }
  .g-mr165-pc {
    margin-right: 165px !important;
  }
  .g-pt165-pc {
    padding-top: 165px !important;
  }
  .g-pb165-pc {
    padding-bottom: 165px !important;
  }
  .g-pl165-pc {
    padding-left: 165px !important;
  }
  .g-pr165-pc {
    padding-right: 165px !important;
  }
  .g-plr165-pc {
    padding-left: 165px !important;
    padding-right: 165px !important;
  }
  .g-ptb165-pc {
    padding-top: 165px !important;
    padding-bottom: 165px !important;
  }
  .g-font66-pc {
    font-size: 66px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt165-sp {
    margin-top: 165px !important;
  }
  .g-mb165-sp {
    margin-bottom: 165px !important;
  }
  .g-ml165-sp {
    margin-left: 165px !important;
  }
  .g-mr165-sp {
    margin-right: 165px !important;
  }
  .g-pt165-sp {
    padding-top: 165px !important;
  }
  .g-pb165-sp {
    padding-bottom: 165px !important;
  }
  .g-plr165-sp {
    padding-left: 165px !important;
    padding-right: 165px !important;
  }
  .g-ptb165-sp {
    padding-top: 165px !important;
    padding-bottom: 165px !important;
  }
  .g-pl165-sp {
    padding-left: 165px !important;
  }
  .g-pr165-sp {
    padding-right: 165px !important;
  }
  .g-font66-sp {
    font-size: 66px !important;
  }
}

.g-mt170 {
  margin-top: 170px !important;
}

.g-mb170 {
  margin-bottom: 170px !important;
}

.g-ml170 {
  margin-left: 170px !important;
}

.g-mr170 {
  margin-right: 170px !important;
}

.g-pt170 {
  padding-top: 170px !important;
}

.g-pb170 {
  padding-bottom: 170px !important;
}

.g-pl170 {
  padding-left: 170px !important;
}

.g-pr170 {
  padding-right: 170px !important;
}

.g-plr170 {
  padding-left: 170px !important;
  padding-right: 170px !important;
}

.g-ptb170 {
  padding-top: 170px !important;
  padding-bottom: 170px !important;
}

.g-font68 {
  font-size: 68px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt170-pc {
    margin-top: 170px !important;
  }
  .g-mb170-pc {
    margin-bottom: 170px !important;
  }
  .g-ml170-pc {
    margin-left: 170px !important;
  }
  .g-mr170-pc {
    margin-right: 170px !important;
  }
  .g-pt170-pc {
    padding-top: 170px !important;
  }
  .g-pb170-pc {
    padding-bottom: 170px !important;
  }
  .g-pl170-pc {
    padding-left: 170px !important;
  }
  .g-pr170-pc {
    padding-right: 170px !important;
  }
  .g-plr170-pc {
    padding-left: 170px !important;
    padding-right: 170px !important;
  }
  .g-ptb170-pc {
    padding-top: 170px !important;
    padding-bottom: 170px !important;
  }
  .g-font68-pc {
    font-size: 68px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt170-sp {
    margin-top: 170px !important;
  }
  .g-mb170-sp {
    margin-bottom: 170px !important;
  }
  .g-ml170-sp {
    margin-left: 170px !important;
  }
  .g-mr170-sp {
    margin-right: 170px !important;
  }
  .g-pt170-sp {
    padding-top: 170px !important;
  }
  .g-pb170-sp {
    padding-bottom: 170px !important;
  }
  .g-plr170-sp {
    padding-left: 170px !important;
    padding-right: 170px !important;
  }
  .g-ptb170-sp {
    padding-top: 170px !important;
    padding-bottom: 170px !important;
  }
  .g-pl170-sp {
    padding-left: 170px !important;
  }
  .g-pr170-sp {
    padding-right: 170px !important;
  }
  .g-font68-sp {
    font-size: 68px !important;
  }
}

.g-mt175 {
  margin-top: 175px !important;
}

.g-mb175 {
  margin-bottom: 175px !important;
}

.g-ml175 {
  margin-left: 175px !important;
}

.g-mr175 {
  margin-right: 175px !important;
}

.g-pt175 {
  padding-top: 175px !important;
}

.g-pb175 {
  padding-bottom: 175px !important;
}

.g-pl175 {
  padding-left: 175px !important;
}

.g-pr175 {
  padding-right: 175px !important;
}

.g-plr175 {
  padding-left: 175px !important;
  padding-right: 175px !important;
}

.g-ptb175 {
  padding-top: 175px !important;
  padding-bottom: 175px !important;
}

.g-font70 {
  font-size: 70px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt175-pc {
    margin-top: 175px !important;
  }
  .g-mb175-pc {
    margin-bottom: 175px !important;
  }
  .g-ml175-pc {
    margin-left: 175px !important;
  }
  .g-mr175-pc {
    margin-right: 175px !important;
  }
  .g-pt175-pc {
    padding-top: 175px !important;
  }
  .g-pb175-pc {
    padding-bottom: 175px !important;
  }
  .g-pl175-pc {
    padding-left: 175px !important;
  }
  .g-pr175-pc {
    padding-right: 175px !important;
  }
  .g-plr175-pc {
    padding-left: 175px !important;
    padding-right: 175px !important;
  }
  .g-ptb175-pc {
    padding-top: 175px !important;
    padding-bottom: 175px !important;
  }
  .g-font70-pc {
    font-size: 70px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt175-sp {
    margin-top: 175px !important;
  }
  .g-mb175-sp {
    margin-bottom: 175px !important;
  }
  .g-ml175-sp {
    margin-left: 175px !important;
  }
  .g-mr175-sp {
    margin-right: 175px !important;
  }
  .g-pt175-sp {
    padding-top: 175px !important;
  }
  .g-pb175-sp {
    padding-bottom: 175px !important;
  }
  .g-plr175-sp {
    padding-left: 175px !important;
    padding-right: 175px !important;
  }
  .g-ptb175-sp {
    padding-top: 175px !important;
    padding-bottom: 175px !important;
  }
  .g-pl175-sp {
    padding-left: 175px !important;
  }
  .g-pr175-sp {
    padding-right: 175px !important;
  }
  .g-font70-sp {
    font-size: 70px !important;
  }
}

.g-mt180 {
  margin-top: 180px !important;
}

.g-mb180 {
  margin-bottom: 180px !important;
}

.g-ml180 {
  margin-left: 180px !important;
}

.g-mr180 {
  margin-right: 180px !important;
}

.g-pt180 {
  padding-top: 180px !important;
}

.g-pb180 {
  padding-bottom: 180px !important;
}

.g-pl180 {
  padding-left: 180px !important;
}

.g-pr180 {
  padding-right: 180px !important;
}

.g-plr180 {
  padding-left: 180px !important;
  padding-right: 180px !important;
}

.g-ptb180 {
  padding-top: 180px !important;
  padding-bottom: 180px !important;
}

.g-font72 {
  font-size: 72px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt180-pc {
    margin-top: 180px !important;
  }
  .g-mb180-pc {
    margin-bottom: 180px !important;
  }
  .g-ml180-pc {
    margin-left: 180px !important;
  }
  .g-mr180-pc {
    margin-right: 180px !important;
  }
  .g-pt180-pc {
    padding-top: 180px !important;
  }
  .g-pb180-pc {
    padding-bottom: 180px !important;
  }
  .g-pl180-pc {
    padding-left: 180px !important;
  }
  .g-pr180-pc {
    padding-right: 180px !important;
  }
  .g-plr180-pc {
    padding-left: 180px !important;
    padding-right: 180px !important;
  }
  .g-ptb180-pc {
    padding-top: 180px !important;
    padding-bottom: 180px !important;
  }
  .g-font72-pc {
    font-size: 72px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt180-sp {
    margin-top: 180px !important;
  }
  .g-mb180-sp {
    margin-bottom: 180px !important;
  }
  .g-ml180-sp {
    margin-left: 180px !important;
  }
  .g-mr180-sp {
    margin-right: 180px !important;
  }
  .g-pt180-sp {
    padding-top: 180px !important;
  }
  .g-pb180-sp {
    padding-bottom: 180px !important;
  }
  .g-plr180-sp {
    padding-left: 180px !important;
    padding-right: 180px !important;
  }
  .g-ptb180-sp {
    padding-top: 180px !important;
    padding-bottom: 180px !important;
  }
  .g-pl180-sp {
    padding-left: 180px !important;
  }
  .g-pr180-sp {
    padding-right: 180px !important;
  }
  .g-font72-sp {
    font-size: 72px !important;
  }
}

.g-mt185 {
  margin-top: 185px !important;
}

.g-mb185 {
  margin-bottom: 185px !important;
}

.g-ml185 {
  margin-left: 185px !important;
}

.g-mr185 {
  margin-right: 185px !important;
}

.g-pt185 {
  padding-top: 185px !important;
}

.g-pb185 {
  padding-bottom: 185px !important;
}

.g-pl185 {
  padding-left: 185px !important;
}

.g-pr185 {
  padding-right: 185px !important;
}

.g-plr185 {
  padding-left: 185px !important;
  padding-right: 185px !important;
}

.g-ptb185 {
  padding-top: 185px !important;
  padding-bottom: 185px !important;
}

.g-font74 {
  font-size: 74px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt185-pc {
    margin-top: 185px !important;
  }
  .g-mb185-pc {
    margin-bottom: 185px !important;
  }
  .g-ml185-pc {
    margin-left: 185px !important;
  }
  .g-mr185-pc {
    margin-right: 185px !important;
  }
  .g-pt185-pc {
    padding-top: 185px !important;
  }
  .g-pb185-pc {
    padding-bottom: 185px !important;
  }
  .g-pl185-pc {
    padding-left: 185px !important;
  }
  .g-pr185-pc {
    padding-right: 185px !important;
  }
  .g-plr185-pc {
    padding-left: 185px !important;
    padding-right: 185px !important;
  }
  .g-ptb185-pc {
    padding-top: 185px !important;
    padding-bottom: 185px !important;
  }
  .g-font74-pc {
    font-size: 74px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt185-sp {
    margin-top: 185px !important;
  }
  .g-mb185-sp {
    margin-bottom: 185px !important;
  }
  .g-ml185-sp {
    margin-left: 185px !important;
  }
  .g-mr185-sp {
    margin-right: 185px !important;
  }
  .g-pt185-sp {
    padding-top: 185px !important;
  }
  .g-pb185-sp {
    padding-bottom: 185px !important;
  }
  .g-plr185-sp {
    padding-left: 185px !important;
    padding-right: 185px !important;
  }
  .g-ptb185-sp {
    padding-top: 185px !important;
    padding-bottom: 185px !important;
  }
  .g-pl185-sp {
    padding-left: 185px !important;
  }
  .g-pr185-sp {
    padding-right: 185px !important;
  }
  .g-font74-sp {
    font-size: 74px !important;
  }
}

.g-mt190 {
  margin-top: 190px !important;
}

.g-mb190 {
  margin-bottom: 190px !important;
}

.g-ml190 {
  margin-left: 190px !important;
}

.g-mr190 {
  margin-right: 190px !important;
}

.g-pt190 {
  padding-top: 190px !important;
}

.g-pb190 {
  padding-bottom: 190px !important;
}

.g-pl190 {
  padding-left: 190px !important;
}

.g-pr190 {
  padding-right: 190px !important;
}

.g-plr190 {
  padding-left: 190px !important;
  padding-right: 190px !important;
}

.g-ptb190 {
  padding-top: 190px !important;
  padding-bottom: 190px !important;
}

.g-font76 {
  font-size: 76px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt190-pc {
    margin-top: 190px !important;
  }
  .g-mb190-pc {
    margin-bottom: 190px !important;
  }
  .g-ml190-pc {
    margin-left: 190px !important;
  }
  .g-mr190-pc {
    margin-right: 190px !important;
  }
  .g-pt190-pc {
    padding-top: 190px !important;
  }
  .g-pb190-pc {
    padding-bottom: 190px !important;
  }
  .g-pl190-pc {
    padding-left: 190px !important;
  }
  .g-pr190-pc {
    padding-right: 190px !important;
  }
  .g-plr190-pc {
    padding-left: 190px !important;
    padding-right: 190px !important;
  }
  .g-ptb190-pc {
    padding-top: 190px !important;
    padding-bottom: 190px !important;
  }
  .g-font76-pc {
    font-size: 76px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt190-sp {
    margin-top: 190px !important;
  }
  .g-mb190-sp {
    margin-bottom: 190px !important;
  }
  .g-ml190-sp {
    margin-left: 190px !important;
  }
  .g-mr190-sp {
    margin-right: 190px !important;
  }
  .g-pt190-sp {
    padding-top: 190px !important;
  }
  .g-pb190-sp {
    padding-bottom: 190px !important;
  }
  .g-plr190-sp {
    padding-left: 190px !important;
    padding-right: 190px !important;
  }
  .g-ptb190-sp {
    padding-top: 190px !important;
    padding-bottom: 190px !important;
  }
  .g-pl190-sp {
    padding-left: 190px !important;
  }
  .g-pr190-sp {
    padding-right: 190px !important;
  }
  .g-font76-sp {
    font-size: 76px !important;
  }
}

.g-mt195 {
  margin-top: 195px !important;
}

.g-mb195 {
  margin-bottom: 195px !important;
}

.g-ml195 {
  margin-left: 195px !important;
}

.g-mr195 {
  margin-right: 195px !important;
}

.g-pt195 {
  padding-top: 195px !important;
}

.g-pb195 {
  padding-bottom: 195px !important;
}

.g-pl195 {
  padding-left: 195px !important;
}

.g-pr195 {
  padding-right: 195px !important;
}

.g-plr195 {
  padding-left: 195px !important;
  padding-right: 195px !important;
}

.g-ptb195 {
  padding-top: 195px !important;
  padding-bottom: 195px !important;
}

.g-font78 {
  font-size: 78px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt195-pc {
    margin-top: 195px !important;
  }
  .g-mb195-pc {
    margin-bottom: 195px !important;
  }
  .g-ml195-pc {
    margin-left: 195px !important;
  }
  .g-mr195-pc {
    margin-right: 195px !important;
  }
  .g-pt195-pc {
    padding-top: 195px !important;
  }
  .g-pb195-pc {
    padding-bottom: 195px !important;
  }
  .g-pl195-pc {
    padding-left: 195px !important;
  }
  .g-pr195-pc {
    padding-right: 195px !important;
  }
  .g-plr195-pc {
    padding-left: 195px !important;
    padding-right: 195px !important;
  }
  .g-ptb195-pc {
    padding-top: 195px !important;
    padding-bottom: 195px !important;
  }
  .g-font78-pc {
    font-size: 78px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt195-sp {
    margin-top: 195px !important;
  }
  .g-mb195-sp {
    margin-bottom: 195px !important;
  }
  .g-ml195-sp {
    margin-left: 195px !important;
  }
  .g-mr195-sp {
    margin-right: 195px !important;
  }
  .g-pt195-sp {
    padding-top: 195px !important;
  }
  .g-pb195-sp {
    padding-bottom: 195px !important;
  }
  .g-plr195-sp {
    padding-left: 195px !important;
    padding-right: 195px !important;
  }
  .g-ptb195-sp {
    padding-top: 195px !important;
    padding-bottom: 195px !important;
  }
  .g-pl195-sp {
    padding-left: 195px !important;
  }
  .g-pr195-sp {
    padding-right: 195px !important;
  }
  .g-font78-sp {
    font-size: 78px !important;
  }
}

.g-mt200 {
  margin-top: 200px !important;
}

.g-mb200 {
  margin-bottom: 200px !important;
}

.g-ml200 {
  margin-left: 200px !important;
}

.g-mr200 {
  margin-right: 200px !important;
}

.g-pt200 {
  padding-top: 200px !important;
}

.g-pb200 {
  padding-bottom: 200px !important;
}

.g-pl200 {
  padding-left: 200px !important;
}

.g-pr200 {
  padding-right: 200px !important;
}

.g-plr200 {
  padding-left: 200px !important;
  padding-right: 200px !important;
}

.g-ptb200 {
  padding-top: 200px !important;
  padding-bottom: 200px !important;
}

.g-font80 {
  font-size: 80px !important;
}

@media only screen and (min-width: 768px), print, tv {
  .g-mt200-pc {
    margin-top: 200px !important;
  }
  .g-mb200-pc {
    margin-bottom: 200px !important;
  }
  .g-ml200-pc {
    margin-left: 200px !important;
  }
  .g-mr200-pc {
    margin-right: 200px !important;
  }
  .g-pt200-pc {
    padding-top: 200px !important;
  }
  .g-pb200-pc {
    padding-bottom: 200px !important;
  }
  .g-pl200-pc {
    padding-left: 200px !important;
  }
  .g-pr200-pc {
    padding-right: 200px !important;
  }
  .g-plr200-pc {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .g-ptb200-pc {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .g-font80-pc {
    font-size: 80px !important;
  }
}

@media only screen and (max-width: 767px) {
  .g-mt200-sp {
    margin-top: 200px !important;
  }
  .g-mb200-sp {
    margin-bottom: 200px !important;
  }
  .g-ml200-sp {
    margin-left: 200px !important;
  }
  .g-mr200-sp {
    margin-right: 200px !important;
  }
  .g-pt200-sp {
    padding-top: 200px !important;
  }
  .g-pb200-sp {
    padding-bottom: 200px !important;
  }
  .g-plr200-sp {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .g-ptb200-sp {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .g-pl200-sp {
    padding-left: 200px !important;
  }
  .g-pr200-sp {
    padding-right: 200px !important;
  }
  .g-font80-sp {
    font-size: 80px !important;
  }
}

.g-lh10 {
  line-height: 1 !important;
}

.g-lh12 {
  line-height: 1.2 !important;
}

.g-lh15 {
  line-height: 1.5 !important;
}

.g-lh175 {
  line-height: 1.75 !important;
}

.g-lh18 {
  line-height: 1.8 !important;
}

.g-lh20 {
  line-height: 2 !important;
}

.g-lh25 {
  line-height: 2.5 !important;
}

.g-pos-rel {
  position: relative !important;
}

.g-pos-abs {
  position: absolute !important;
}

.g-pos-sta {
  position: static !important;
}

.g-pos-fix {
  position: fixed !important;
}

.g-float-left {
  float: left !important;
}

.g-float-right {
  float: right !important;
}

.g-float-clear {
  clear: both !important;
}

.g-va-top {
  vertical-align: top !important;
}

.g-va-middle {
  vertical-align: middle !important;
}

.g-va-bottom {
  vertical-align: bottom !important;
}

@media only screen and (max-width: 767px) {
  .g-hidden-sp {
    display: none !important;
  }
  .g-visible-pc {
    display: none !important;
  }
  .g-visible-print {
    display: none !important;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .g-hidden-pc {
    display: none !important;
  }
  .g-visible-sp {
    display: none !important;
  }
  .g-visible-print {
    display: none !important;
  }
}

@media print {
  .g-hidden-print {
    display: none !important;
  }
  .g-visible-sp {
    display: none !important;
  }
  .g-visible-pc {
    display: none !important;
  }
}

.g-text-push {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
  vertical-align: middle;
}

.g-full-img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 767px) {
  #cboxTopLeft, #cboxTopCenter, #cboxTopRight,
  #cboxMiddleLeft, #cboxMiddleRight,
  #cboxBottomLeft, #cboxBottomCenter, #cboxBottomRight {
    background-image: none;
  }
  #cboxClose, #cboxClose:hover {
    top: 5px;
    right: 7px;
    width: 30px;
    height: 30px;
    background-image: url("/_common/s17_icon_sprite_legacy.png");
    background-position: 0px -697px;
    background-size: 80px;
  }
}

/* -------------------------------------------------------
  Components
   
  レイアウト用の汎用コンポーネント
   
*/
/* ====================================

Unit

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-unit__box, .m-unit__box--spx {
    margin-left: auto;
    margin-right: auto;
    width: 960px;
  }
  .m-unit__section-a {
    padding-bottom: 80px;
  }
  .m-unit__section-b {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .m-unit__section-c {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .m-unit__section-a1 {
    padding-bottom: 60px;
  }
  .m-unit__section-b1 {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 767px) {
  .m-unit__box {
    padding-left: 15px;
    padding-right: 15px;
  }
  .m-unit__box--spx {
    padding-left: 0;
    padding-right: 0;
  }
  .m-unit__section-a {
    padding-bottom: 60px;
  }
  .m-unit__section-b {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .m-unit__section-c {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .m-unit__section-a1 {
    padding-bottom: 40px;
  }
  .m-unit__section-b1 {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}

/* ====================================

UnitBox

==================================== */
.m-unit__box--section {
  background-color: #fff;
  border-radius: 6px;
  padding: 10px;
}
@media only screen and (max-width: 767px) {
  .m-unit__box--section {
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit__box--section {
    padding: 40px;
  }
}

/* ====================================

Bg-color

==================================== */
.m-unit--bg-gray {
  background-color: #f3f3f3;
}

.m-unit--bg-yellow {
  background-color: #ffea00;
}

.m-unit--bg-white {
  background-color: #fff;
}

.m-unit--bg-blue {
  background-color: #0070cb;
  color: #fff;
}

.m-unit--bg-light-blue {
  background-color: #edf7ff;
}

.m-unit--bg-sky-blue {
  background-color: #cceeff;
}

.m-unit--bg-cerulean-blue {
  background-color: #2299dd;
}

.m-unit--bg-cream {
  background-color: #faed96;
}

.m-unit--bg-cream-a {
  background-color: #fff6cc;
  border-top: 1px solid #faed96;
  border-bottom: 1px solid #faed96;
}

.m-unit--bg-pink {
  background-color: #fbe5e7;
}

/* ====================================

Arrow

==================================== */
.m-unit--arrow-blue {
  position: relative;
}

.m-unit--arrow-blue:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-top: solid 40px #0070cb;
  border-left: solid 60px transparent;
  border-right: solid 60px transparent;
}

@media only screen and (max-width: 767px) {
  .m-unit--arrow-blue:after {
    bottom: -28px;
    border-top-width: 30px;
    border-left-width: 40px;
    border-right-width: 40px;
  }
}

.m-unit--arrow-top-pink {
  position: relative;
}

.m-unit--arrow-top-pink:after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  top: -30px;
  border-width: 0 50px 30px 50px;
  border-color: transparent transparent #fbe5e7 transparent;
}

@media only screen and (max-width: 767px) {
  .m-unit--arrow-top-pink:after {
    top: -20px;
    border-width: 0 24px 20px 24px;
  }
}

.m-unit--arrow-top-white {
  position: relative;
}

.m-unit--arrow-top-white:after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  top: 0;
  border-width: 30px 50px 0 50px;
  border-color: #ffffff transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
  .m-unit--arrow-top-white:after {
    content: '';
    display: inline-block;
    border-top: 25px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 40px solid transparent;
    border-top-color: #fff;
    position: absolute;
    left: 50%;
    top: 40px;
    margin-top: -40px;
    margin-left: -40px;
  }
}

.m-unit--arrow-top-white-middle {
  position: relative;
}

.m-unit--arrow-top-white-middle:after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 30px 0 30px;
  border-color: #fff transparent transparent transparent;
}

@media only screen and (min-width: 768px), print, tv {
  .m-unit--arrow-top-white-middle:after {
    border-width: 40px 60px 0 60px;
  }
}

.m-unit--bg-pcgray-spwhite {
  background-color: #f2f2f2;
}

@media only screen and (max-width: 767px) {
  .m-unit--bg-pcgray-spwhite {
    background-color: #ffffff;
  }
}

/* ====================================

Grid [SG01 / SG08 / SG09]

==================================== */
.m-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
         -webkit-box-pack: justify;
            -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .m-grid--2col-pc > .m-grid__col,
  .m-grid--3col-pc > .m-grid__col,
  .m-grid--4col-pc > .m-grid__col,
  .m-grid--5col-pc > .m-grid__col,
  .m-grid-btn--2col-pc > .m-grid__col,
  .m-grid-btn--3col-pc > .m-grid__col,
  .m-grid-btn--4col-pc > .m-grid__col,
  .m-grid-btn--5col-pc > .m-grid__col {
    width: 100%;
  }
}

/* column ---------------*/
.m-grid--1col > .m-grid__col,
.m-grid-btn--1col > .m-grid__col {
  width: 100%;
}
@media only screen and (min-width: 768px), print, tv {
  .m-grid--1col.m-grid--1col-1sec > .m-grid__col {
    width: 460px;
    margin: 0 auto;
  }
}

.m-grid--2col > .m-grid__col,
.m-grid--2col-sp > .m-grid__col,
.m-grid-btn--2col > .m-grid__col,
.m-grid-btn--2col-sp > .m-grid__col,
.m-grid-tab--2col > .m-grid__col {
  width: 48.2758621%;
}

.m-grid-btn--3col > .m-grid__col,
.m-grid-btn--3col-sp > .m-grid__col,
.m-grid-tab--3col > .m-grid__col {
  width: 31.0344828%;
}

.m-grid-btn--4col > .m-grid__col,
.m-grid-btn--4col-sp > .m-grid__col,
.m-grid-tab--4col > .m-grid__col {
  width: 22.4137931%;
}

.m-grid--3col > .m-grid__col, .m-grid--4col > .m-grid__col, .m-grid--5col > .m-grid__col, .m-grid--6col > .m-grid__col,
.m-grid-btn--5col > .m-grid__col {
  width: 100%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-grid--2col > .m-grid__col,
  .m-grid--2col-pc > .m-grid__col {
    width: 47.9166667%;
  }
  .m-grid-btn--2col > .m-grid__col,
  .m-grid-btn--2col-pc > .m-grid__col {
    width: 48.75%;
  }
  .m-grid-tab--2col > .m-grid__col {
    width: 49.3670886%;
  }

  .m-grid--3col > .m-grid__col,
  .m-grid--3col-pc > .m-grid__col {
    width: 30.4166667%;
  }
  .m-grid-btn--3col > .m-grid__col,
  .m-grid-btn--3col-pc > .m-grid__col {
    width: 31.6666667%;
  }
  .m-grid-tab--3col > .m-grid__col {
    width: 32.4894515%;
  }

  .m-grid--4col > .m-grid__col,
  .m-grid--4col-pc > .m-grid__col {
    width: 21.875%;
  }
  .m-grid-btn--4col > .m-grid__col,
  .m-grid-btn--4col-pc > .m-grid__col {
    width: 23.125%;
  }
  .m-grid-tab--4col > .m-grid__col {
    width: 24.0506329%;
  }

  .m-grid--5col > .m-grid__col,
  .m-grid--5col-pc > .m-grid__col {
    width: 16.66667%;
  }
  .m-grid-btn--5col > .m-grid__col,
  .m-grid-btn--5col-pc > .m-grid__col {
    width: 18.3333333%;
  }
  .m-grid-tab--5col > .m-grid__col {
    width: 18.9873418%;
  }

  .m-grid--6col > .m-grid__col,
  .m-grid--6col-pc > .m-grid__col {
    width: 13.0208333%;
  }

  .m-grid-tab--2col,
  .m-grid-tab--3col,
  .m-grid-tab--4col,
  .m-grid-tab--5col {
    padding: 0 6px;
  }
}

/* pc-only ---------------*/
@media only screen and (max-width: 767px) {
  .m-grid--pc_only > .m-grid__col {
    width: 100%;
  }
}

/* -------------------------------------------------------
  Layout
   
  共通レイアウト・ナビゲーション等
   
*/
.m-wrapper {
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .m-wrapper {
    width: 100%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-wrapper {
    min-width: 990px;
  }
  /* html.is-modal-open .m-wrapper {
    -webkit-filter: blur(20px);
            filter: blur(20px);
  } */
}

/* ====================================

Header

==================================== */
.m-header {
  background-color: #fff;
  font-size: 12px;
  position: relative;
  z-index: 1000;
}

@media only screen and (min-width: 768px), print, tv {
  .m-header {
    -webkit-box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
            box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
  }
}

.m-header__upper,
.m-header__lower {
  margin: 0 auto;
  width: 960px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .m-header__upper,
  .m-header__lower {
    width: auto;
  }
}

@media only screen and (max-width: 767px) {
  .m-header__upper {
    -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
    padding: 9px 9px 9px 15px;
  }
}

.m-header__lower {
  padding: 3px 0 20px;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.m-header__l {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .m-header__l {
    height: 42px;
  }
}

@media only screen and (max-width: 767px) {
  .m-header__head-company-btn {
    display: inline-block;
    width: 79px;
    height: 16px;
    background-image: url("/_common/s17_sprite_sp.png");
    background-repeat: no-repeat;
    background-position: 0px -127px;
    -webkit-background-size: 149px auto;
    -moz-background-size: 149px auto;
    background-size: 149px auto;
  }
}

.m-header__logo-sp {
  margin-left: 3px;
}

.m-header__l .m-link--s {
  font-size: 12px;
  line-height: 20px;
  margin-top: 4px;
  margin-right: 10px;
}

.m-header__r {
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .m-header__r {
    margin-top: 3px;
  }
}

.m-header__r a {
  color: #000000;
}

.m-header__r a.is-active {
  color: #b2b2b2;
}

.m-header__bc {
  padding: 11px 0;
  display: block;
}

@media only screen and (max-width: 767px) {
  .m-header__bc {
    line-height: 1;
  }
  .m-header__bc img {
    height: 15px;
  }
}

.m-header__plus {
  margin-right: 15px;
  line-height: 1;
}

.m-header__sm,
.m-header__mem {
  display: inline-block;
  vertical-align: middle;
}

.m-header__r .m-header__mem {
  color: #ffffff;
}

.m-header__sm {
  margin-right: 12px;
}

.m-link, .m-link--tel, .m-link--s,
.m-linklist a,
.m-link--s,
.m-linklist--s a {
  padding-left: 15px;
  display: inline-block;
}

.m-header__gmenu {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
  background: #fff;
}

html.is-scl-stuck:not(.is-no-scl-up) .m-header__gmenu {
  position: fixed;
  z-index: 1500;
}

/* html.is-scl-stuck.is-scl-dw:not(.is-hnav-modal-open) .m-header__gmenu {
  transform: translateY(-100%);
  transition: 0.4s;
} */
html.is-scl-stuck.is-scl-dw:not(.is-hnav-modal-open) .m-header__gmenu {
  transform: translateY(0);
  transition: 0.4s;
  position: fixed;
  z-index: 1500;
}

html.is-scl-stuck.is-scl-up:not(.is-hnav-modal-open) .m-header__gmenu {
  transform: translateY(0);
  transition: 0.4s;
}

/*@-webkit-keyframes header-in {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes header-in {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes header-out {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes header-out {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}*/

.m-header__gmenu > ul {
  *zoom: 1;
}

.m-header__gmenu > ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  font-size: 0;
  height: 0;
  clear: both;
}

.m-header__gmenu > ul > li {
  float: left;
  width: 33.3%;
  text-align: center;
}

.m-header__gmenu > ul > li > a {
  display: block;
  border-left: 1px solid #e6e6e6;
  max-height: 44px;
  overflow: hidden;
}

@media only screen and (min-width: 768px), print, tv {
  .m-header__gmenu > ul > li > a {
    position: relative;
  }
}

.m-header__gmenu > ul > li > a > img {
  max-width: 100%;
}

@media only screen and (max-width: 767px) {
  .m-header__gmenu > ul > li > a:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '.';
    color: #fff;
  }
}

.m-header__gmenu > ul > li:first-child > a {
  border: none;
}

.m-header__gmenu.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1500;
}

.m-header__gmenu > ul > li:nth-child(2) > a:after {
  color: #ff4455;
}

.m-header__gmenu > ul > li:nth-child(2) {
  background-color: #ff4455;
}

.m-hnav-bar {
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
}

html.is-hnav-modal-open .m-hnav-bar {
  position: relative;
}

html.is-scl-stuck:not(.is-no-scl-up) .m-hnav-bar {
  position: fixed;
}

html.is-scl-stuck.is-scl-dw:not(.is-no-scl-up):not(.is-hnav-modal-open) .m-hnav-bar {
  -webkit-animation: hnav-out .4s forwards;
          animation: hnav-out .4s forwards;
}

html.is-scl-stuck.is-scl-up:not(.is-hnav-modal-open) .m-hnav-bar {
  -webkit-animation: hnav-in .4s backwards;
          animation: hnav-in .4s backwards;
}

@-webkit-keyframes hnav-in {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes hnav-in {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes hnav-out {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes hnav-out {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

/* hnav */
.m-hnav-bar--simple--kou {
  border-top: 1px solid #e6e6e6;
  background-color: #fff;
  position: relative;
  z-index: 1000;
  -webkit-box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
}

.m-hnav-bar--simple--kou ul {
  width: 960px;
  height: 55px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.m-hnav-bar--simple--kou ul > li {
  height: 55px;
}

.m-hnav-bar--simple--kou ul > li:nth-child(4) {
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}

.m-hnav-bar--simple--kou ul > li > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  text-align: center;
  color: #333;
  border-left: 1px solid #e6e6e6;
  border-bottom: 4px solid #005bac;
  line-height: 1.5;
  padding: 0 25px;
  cursor: pointer;
}

.m-hnav-bar--simple--kou ul > li > a:hover,
.m-hnav-bar--simple--kou ul > li > a.is-current {
  background: #0070cb;
  text-decoration: none;
  color: #fff;
}

.m-hnav-bar--simple--kou ul > li > a.is-current {
  background-color: #0070cb;
}

.m-hnav-bar--simple--kou ul > li:first-child > a.is-current {
  background-color: #005bac;
  color: #fff;
}

.m-hnav-bar--simple--kou ul > li:first-child > a {
  border-left: none;
  color: #0070cb;
  padding: 8px 0;
  width: 100px;
}

.m-hnav-bar--simple--kou ul > li:first-child > a:hover {
  background: #0070cb;
  text-decoration: none;
  color: #fff;
}

.m-hnav-bar--simple--kou ul > li:last-child a {
  border-bottom: none;
  padding: 6px 0 6px 14px;
}

.m-hnav-bar--simple--kou ul > li:last-child a:hover,
.m-hnav-bar--simple--kou ul > li:last-child a.is-current {
  background-color: #ffffff;
  opacity: 0.7;
}

/* /hnav */

/* ====================================

FixedBtn

==================================== */
.m-fixed-btn {
  position: fixed;
  z-index: 1500;
  right: 0;
  top: 148px;
  width: 152px;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

@media only screen and (max-width: 767px) {
  .m-fixed-btn {
    display: none;
  }
}

.m-fixed-btn a {
  margin-bottom: -6px;
  display: block;
}

html.is-scl-stuck.is-scl-dw .m-fixed-btn {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}

html.is-scl-stuck.is-scl-up .m-fixed-btn {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

.m-img-btn {
  display: inline-block;
}

.m-img-btn, .m-img-btn img {
  position: relative;
}

.m-img-btn__box {
  display: block;
  padding: 0 2px 3px 0;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  z-index: 1;
  opacity: 0;
}

.m-img-btn__bg {
  display: block;
  height: 100%;
  background-color: #fff;
  border-radius: 6px;
}

.m-fixed-btn .m-img-btn__box {
  padding: 5px 0 9px 6px;
}

.m-fixed-btn a:hover .m-img-btn__box {
  opacity: .3;
}

.m-path {
  margin: 30px 0;
}

@media only screen and (max-width: 767px) {
  .m-path {
    display: none;
  }
}

.m-path ul li {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  line-height: 24px;
}

.m-path ul li a {
  font-weight: normal;
  color: #0071bc;
}

.m-path ul li::after {
  content: " > ";
}

.m-path ul li:last-child::after {
  content: none;
}

/* ====================================

Footer

==================================== */
.m-footer {
  font-size: 12px;
  clear: both;
  border-top: 1px solid #e6e6e6;
}

@media only screen and (max-width: 767px) {
  .m-footer {
    position: relative;
    padding-bottom: 30px;
    border-bottom: #08c solid 3px;
    text-align: center;
  }
  .m-footer-logo-btn {
    display: inline-block;
    width: 96px;
    height: 19px;
    background-image: url("/_common/s17_sprite_sp.png");
    background-repeat: no-repeat;
    background-position: 0px -182px;
    -webkit-background-size: 149px auto;
    -moz-background-size: 149px auto;
    background-size: 149px auto;
  }
}

.m-fnav + .m-footer, .m-footer-notice + .m-footer {
  border-top: 0;
}

.m-footer, .m-footer a {
  color: #808080;
}

@media only screen and (min-width: 768px), print, tv {
  .m-footer__box {
    padding: 14px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
}

@media only screen and (max-width: 767px) {
  .m-footer__box {
    padding: 14px 0 0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-footer__copy {
    margin-left: 20px;
    -webkit-flex-grow: 2;
    -ms-flex-positive: 2;
    -webkit-box-flex: 2;
            flex-grow: 2;
  }
}

@media only screen and (max-width: 767px) {
  .m-footer__copy {
    display: block;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    font-size: 10px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-footer__links {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .m-footer__links > * {
    white-space: nowrap;
  }
  .m-footer__links > *:after {
    content: "|";
    margin: 0 12px;
    display: inline-block;
    color: #ccc;
  }
  .m-footer__links > *:first-child:after {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-footer__links > * {
    margin: 15px auto;
    min-width: 0px;
    width: auto;
  }
  .m-footer__links > * a {
    display: inline-block;
    padding: 0 10px;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
}

.m-footer--p a {
  font-size: 12px;
  color: #08c;
}

.m-footer-notice {
  padding: 14px;
  background-color: #f2f2f2;
  font-size: 12px;
  text-align: center;
}

.m-footer-notice a {
  color: #808080;
}

.m-fnav {
  margin-top: 60px;
  font-size: 12px;
  position: relative;
  z-index: 2;
}

.m-fnav a {
  color: #fff;
}

.m-fnav a:hover {
  text-decoration: underline;
}

.m-fnav__tab {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
}

.m-fnav__tab a {
  background-image: url(https://kou.benesse.co.jp/_share16/pc/img/fnav.png);
  width: 100%;
  height: 44px;
  text-indent: -9999px;
  overflow: hidden;
}

.m-fnav__tab a.is-active {
  height: 54px;
}

html.no-touchevents .m-fnav__tab a.is-active:hover img {
  opacity: 1;
}

.m-fnav__tab span {
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  text-align: center;
}

.m-fnav__tab li {
  position: relative;
  width: 225px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
}

.m-fnav__tab li:nth-child(n+2) {
  margin-left: 20px;
}

.m-fnav__tab li:nth-child(1) a {
  background-position: 0 0;
}

.m-fnav__tab li:nth-child(1) a.is-active {
  background-position: 0 -44px;
}

.m-fnav__tab li:nth-child(2) a {
  background-position: -245px 0;
}

.m-fnav__tab li:nth-child(2) a.is-active {
  background-position: -245px -44px;
}

.m-fnav__tab li:nth-child(3) a {
  background-position: -490px 0;
}

.m-fnav__tab li:nth-child(3) a.is-active {
  background-position: -490px -44px;
}

.m-fnav__tab li:nth-child(4) a {
  background-position: -735px 0;
}

.m-fnav__tab li:nth-child(4) a.is-active {
  background-position: -735px -44px;
}

.m-fnav__body .m-fnav__body-box {
  padding-top: 40px;
  padding-bottom: 40px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.m-fnav__map__body {
  width: 545px;
}

.m-fnav__map__body:nth-of-type(n+2), .m-fnav__map__year + .m-fnav__map__body {
  margin-top: 15px;
}

.m-fnav__map__year {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.m-fnav__map__year dt {
  margin-right: 15px;
  white-space: nowrap;
}

.m-fnav__map__year dd {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
          flex-grow: 1;
}

.m-fnav--chu .m-fnav__tab a {
  background: none;
  text-indent: 0;
}

.m-fnav--chu .m-fnav__map {
  border-right: 1px solid #66a9e0;
  width: 775px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.m-fnav--chu .m-fnav__map__ttl {
  width: 215px;
}

.m-fnav--chu .m-fnav__map__ttl:before {
  content: "【";
}

.m-fnav--chu .m-fnav__map__ttl:after {
  content: "】";
}

.m-fnav--chu .m-fnav__map__ttl:nth-of-type(n+2) {
  margin-top: 15px;
}

.m-fnav--chu .m-fnav__map__ttl:empty:before, .m-fnav--chu .m-fnav__map__ttl:empty:after {
  content: "";
}

.m-fnav__contact-h {
  width: 377px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.m-fnav__contact-h i {
  margin: 0 auto 15px;
  display: block;
}

.m-fnav__contact-h li {
  width: 118px;
  height: 93px;
  border-left: 1px solid #66a9e0;
  text-align: center;
}

.m-fnav__contact-h li:nth-child(1) {
  border-left: 0;
}

.m-fnav__contact-h li:nth-child(2) {
  width: 140px;
}

.m-fnav__contact-h li:nth-child(2) i {
  margin-top: 2px;
}

.m-fnav__contact-h li:nth-child(3) i {
  margin-top: -5px;
  margin-bottom: 16px;
}

.m-fnav__contact-v {
  width: 167px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 20px;
}

.m-fnav__contact-v li {
  margin: 12px 0;
  -webkit-flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.m-fnav__contact-v a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.m-fnav__contact-v div {
  margin-right: 10px;
  width: 44px;
  text-align: center;
}

.m-footer {
  font-size: 12px;
  clear: both;
  border-top: 1px solid #e6e6e6;
}

.m-fnav + .m-footer, .m-footer-notice + .m-footer {
  border-top: 0;
}

.m-fnav-sp__ttl {
  padding: 15px 10px 14px 10px;
  font-size: 107%;
  font-weight: bold;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  border-left: 5px solid #0070cb;
  color: #0070cb;
}

.m-fnav-sp__item:first-child > dt {
  border: none;
}

.m-fnav-sp__item > dt {
  border-top: 1px solid #e6e6e6;
}

.m-fnav-sp__item > dd {
  display: none;
}

.m-fnav-sp__item .m-fnav-sp__item-ttl,
.is-active .m-fnav-sp__item-ttl,
.m-fnav-sp__item-ttl--link {
  position: relative;
  display: block;
  padding: 15px 15px 14px 15px;
}

.m-fnav-sp__item-ttl {
  background-color: #f3f3f3;
  color: #000;
}

.m-fnav-sp__item-ttl:after {
  position: absolute;
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("/_common/s17_icon_sprite_legacy.png");
  background-repeat: no-repeat;
  background-position: 0px -140px;
  background-size: 80px 2464px;
  margin-top: -6px;
  right: 15px;
  top: 50%;
  overflow: hidden;
}

.is-active .m-fnav-sp__item-ttl {
  background-color: #0070cb;
  color: #fff;
}

.is-active .m-fnav-sp__item-ttl:after {
  position: absolute;
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("/_common/s17_icon_sprite_legacy.png");
  background-repeat: no-repeat;
  background-position: 0px -154px;
  background-size: 80px 2464px;
  margin-top: -6px;
  right: 15px;
  top: 50%;
  overflow: hidden;
}

.m-fnav-sp__item-ttl--link {
  background-color: #f3f3f3;
  color: #000;
}

.m-fnav-sp__item-ttl--link:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_icon_sprite_legacy.png");
  background-repeat: no-repeat;
  background-position: 0px -101px;
  background-size: 80px 2464px;
  margin-top: -5px;
  right: 17px;
  top: 50%;
  overflow: hidden;
}

.is-active.m-fnav-sp__item-ttl,
.is-active.m-fnav-sp__item-link--gray {
  background-color: #0070cb;
  color: #fff;
}

.m-fnav-sp__item-link, .m-fnav-sp__item-link--gray {
  position: relative;
  display: block;
  padding: 15px 15px 14px 15px;
  background-color: #fff;
  color: #000;
  border-top: 1px solid #f3f3f3;
}

.m-fnav-sp__item-link--gray {
  background-color: #f3f3f3;
  border-top: 1px solid #e6e6e6;
}

.m-fnav-sp__item-link:after, .m-fnav-sp__item-link--gray:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_icon_sprite_legacy.png");
  background-repeat: no-repeat;
  background-position: 0px -101px;
  background-size: 80px 2464px;
  margin-top: -5px;
  right: 17px;
  top: 50%;
  overflow: hidden;
}

.m-fnav-sp__item-link.is-current, .is-current.m-fnav-sp__item-link--gray {
  background-color: #edf7ff;
}

.m-footer-entry {
  border-top: 1px solid #e6e6e6;
  padding: 15px;
}

/* ====================================

Slidemenu

==================================== */
.m-overlay-content,
.m-overlay-head,
.m-overlay-gmenu {
  visibility: hidden;
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.android4 .m-overlay-content, .android4
.m-overlay-head, .android4
.m-overlay-gmenu {
  z-index: 1;
  -webkit-transition: none 0s;
  transition: none 0s;
  -webkit-transform: translate3d(0, 0, 0.3px);
          transform: translate3d(0, 0, 0.3px);
}

.m-overlay-content.is-active,
.m-overlay-head.is-active,
.m-overlay-gmenu.is-active {
  visibility: visible;
  opacity: 0.4;
}

.m-overlay-content {
  z-index: 1000;
}

.m-slmenu-body {
  position: fixed;
  top: 0;
  bottom: 0;
  right: -580px;
  display: block;
  overflow-y: scroll;
  *zoom: 1;
  width: 580px;
  background: #fff;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 1500;
  font-size: 14px;
  -webkit-overflow-scrolling: touch;
}

.m-slmenu-body.is-active {
  right: -290px;
}

.android4 .m-slmenu-body {
  right: 0;
  display: none;
}

.android4 .m-slmenu-body.is-active {
  right: -290px;
  display: block;
}

.m-slmenu-body:after {
  content: "";
  display: block;
  clear: both;
}

.is-fixed .m-slmenu-body {
  top: 0;
}

.m-slmenu-body__inner {
  overflow: hidden;
}

.m-slmenu {
  float: left;
  width: 290px;
  overflow: hidden;
  z-index: 1;
}

.m-slmenu.is-action {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.m-slmenu.is-active {
  margin-left: -290px;
}

.m-slmenu.is-slide-on {
  margin-left: -290px;
}

.m-slmenu.is-slide-first {
  margin-left: -290px;
}

.android4 .m-slmenu.is-action {
  -webkit-transition: none 0 ease;
  transition: none 0 ease;
}

.m-slmenu-scrl {
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
  -webkit-transform: translate3d(0, 0, 2px);
          transform: translate3d(0, 0, 2px);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
  background: #fff;
}

.m-slmenu-scrl__inner {
  padding-bottom: 150px;
}

@media screen and (orientation: landscape) {
  .m-slmenu-scrl__inner {
    padding-bottom: 300px;
  }
}

.m-sldmnu-first.is-action {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.m-sldmnu-first.is-active {
  margin-left: -290px;
}

.m-sldmnu-set__hd,
.m-sldmnu-set__hd--sec0,
.m-sldmnu-set__hd--sec1,
.m-sldmnu-set__hd--sec2,
.m-sldmnu-set__hd--sec3 {
  position: relative;
  padding: 17px 26px 17px 14px;
  border-bottom: 2px solid #e6e6e6;
}

.m-sldmnu-set__hd--sec0 {
  background: #0070cb;
  padding: 16px 26px 18px 14px;
}

.m-sldmnu-set__hd--sec1 {
  background: #005bac;
  padding: 16px 26px 18px 14px;
}

.m-sldmnu-set__hd--sec2 {
  background: #005bac;
  padding: 16px 26px 18px 14px;
}

.m-sldmnu-set__hd--sec3 {
  background: #005bac;
  padding: 16px 26px 18px 14px;
}

.m-sldmnu-set__cls,
.m-sldmnu-set__cls--sec {
  position: absolute;
  top: 14px;
  right: 0;
  width: 30px;
  height: 30px;
  display: block;
  text-align: center;
  padding: 9px;
}

.m-sldmnu-set__cls--sec {
  top: 12px;
}

.m-sldmnu-set__lg-chu-ico {
  display: inline-block;
  width: 149px;
  height: 16px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -164px;
  background-size: 149px auto;
}

.m-sldmnu-set__lg-chu-ico--sec {
  display: inline-block;
  width: 125px;
  height: 16px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -146px;
  background-size: 149px auto;
  margin-left: 3px;
  line-height: 16px;
  height: 16px;
  overflow: hidden;
}

.m-sldmnu-set__lg-kou-ico {
  display: inline-block;
  width: 149px;
  height: 16px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -164px;
  background-size: 149px auto;
}

.m-sldmnu-set__lg-kou-ico--sec {
  display: inline-block;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -146px;
  background-size: 149px auto;
  margin-left: 3px;
  line-height: 16px;
  height: 16px;
  overflow: hidden;
  width: 149px;
  height: 16px;
}

.m-sldmnu-set__cls-ico {
  display: block;
  width: 11px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -52px;
  background-size: 149px auto;
}

.m-sldmnu-set__cls-ico--sec {
  display: block;
  width: 11px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -52px;
  background-size: 149px auto;
}

.m-sldmnu-set__return {
  display: inline-block;
  padding-right: 5px;
  position: relative;
}

.m-sldmnu-set__return:before {
  display: block;
  content: "";
  position: absolute;
  top: -15px;
  bottom: -15px;
  left: -15px;
  right: -15px;
}

.m-sldmnu-set__return > span {
  vertical-align: middle;
}

.m-sldmnu-set__return-ico {
  display: inline-block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -65px;
  background-size: 149px auto;
}

.m-sldmnu-set__logo--sec {
  display: inline-block;
  padding-right: 5px;
}

.m-sldmnu-set__ttl--sec, .m-sldmnu-set__ttl--sec-block {
  color: #fff;
  vertical-align: middle !important;
  line-height: 16px;
  height: 16px;
  overflow: hidden;
  position: relative;
  top: 2px;
}

@media only screen and (max-width: 767px) {
  .m-sldmnu-set__ttl--sec-block {
    display: block;
  }
}

.m-sldmnu-ls {
  border-top: 2px solid #e6e6e6;
}

.m-sldmnu-ls:first-child {
  border: none;
}

.m-sldmnu-ls--last {
  border-bottom: 1px solid #e6e6e6;
}

.m-sldmnu-ls__itm {
  border-top: 1px solid #e6e6e6;
}

.m-sldmnu-ls__itm > a {
  cursor: pointer;
}

.m-sldmnu-ls__mnu-tag,
.m-sldmnu-ls__mnu-ttl {
  display: block;
  padding: 15px 14px;
  background: #f3f3f3;
}

.m-sldmnu-ls__mnu-ttl {
  background: #f3f3f3;
  font-weight: bold;
}

.m-sldmnu-ls__mnu-dbl,
.m-sldmnu-ls__mnu-ico,
.m-sldmnu-ls__mnu-user,
.m-sldmnu-ls__mnu-entry,
.m-sldmnu-ls__mnu-trial,
.m-sldmnu-ls__mnu-intro,
.m-sldmnu-ls__mnu-site,
.m-sldmnu-ls__mnu-ico--sec {
  position: relative;
  display: block;
  padding: 15px 14px;
}

.m-sldmnu-ls__mnu-dbl:after {
  position: absolute;
  content: '';
  display: block;
  width: 13px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -13px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 9px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-cls1 {
  color: #005bac;
}

.m-sldmnu-ls__mnu-cls2 {
  color: #005bac;
}

.m-sldmnu-ls__mnu-cls3 {
  color: #005bac;
}

.m-sldmnu-ls__mnu-ico,
.m-sldmnu-ls__mnu-ico--sec {
  color: #000;
}

.m-sldmnu-ls__mnu-ico:after,
.m-sldmnu-ls__mnu-ico--sec:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-user {
  background: #0070cb;
  color: #fff;
}

.m-sldmnu-ls__mnu-user:after {
  position: absolute;
  content: '';
  display: block;
  width: 13px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -39px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 9px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-entry {
  padding-left: 40px;
  background: #46bf0a;
  color: #fff;
}

.m-sldmnu-ls__mnu-entry:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -26px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-entry:before {
  position: absolute;
  content: '';
  display: block;
  width: 17px;
  height: 15px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -95px;
  background-size: 149px auto;
  margin-top: -7px;
  left: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-trial {
  padding-left: 40px;
  background: #508cce;
  color: #fff;
}

.m-sldmnu-ls__mnu-trial:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -26px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-trial:before {
  position: absolute;
  content: '';
  display: block;
  width: 17px;
  height: 15px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -78px;
  background-size: 149px auto;
  margin-top: -7px;
  left: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-intro {
  padding-left: 40px;
  background: #fff;
  color: #000;
}

.m-sldmnu-ls__mnu-intro:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-intro:before {
  position: absolute;
  content: '';
  display: block;
  width: 17px;
  height: 15px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -112px;
  background-size: 149px auto;
  margin-top: -7px;
  left: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__mnu-site {
  background: #fff;
  color: #000;
}

.m-sldmnu-ls__mnu-site:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 149px auto;
  margin-top: -5px;
  right: 12px;
  top: 50%;
  overflow: hidden;
}

.m-sldmnu-ls__tag-hybrid {
  display: inline-block;
  vertical-align: bottom;
  width: 143px;
  height: 20px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -225px;
  background-size: 149px auto;
}

.m-sldmnu-ls__tag-origin {
  display: inline-block;
  vertical-align: bottom;
  width: 143px;
  height: 20px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-repeat: no-repeat;
  background-position: 0px -203px;
  background-size: 149px auto;
}

.m-sldmnu__btm-close-btn {
  text-align: center;
  margin: 0;
  padding: 17px;
  border-bottom: 2px solid #e6e6e6;
}

/* -------------------------------------------------------
  Modules
   
  共通の小型パーツ
   
*/
.m-acc {
  margin-top: 15px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-acc--sp-only .m-acc__btn, .m-acc--sp-only .m-acc__btn--right, .m-acc--sp-only .m-acc__btn--sp-left, .m-acc--sp-only .m-acc__btn--gray-left {
    display: none;
  }
  .m-acc--sp-only .m-acc__content {
    display: block !important;
  }
}

.m-acc__btn, .m-acc__btn--right, .m-acc__btn--sp-left, .m-acc__btn--gray-left {
  display: table;
  margin-bottom: 10px;
  font-size: 12px;
  color: #08c;
  cursor: pointer;
}

@media only screen and (max-width: 767px) {
  .m-acc__btn, .m-acc__btn--right, .m-acc__btn--sp-left, .m-acc__btn--gray-left {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

.m-unit--bg-blue .m-acc__btn, .m-unit--bg-blue .m-acc__btn--right, .m-unit--bg-blue .m-acc__btn--sp-left, .m-unit--bg-blue .m-acc__btn--gray-left {
  color: #fff;
}

@media only screen and (min-width: 768px), print, tv {
  .m-acc__btn:hover, .m-acc__btn--right:hover, .m-acc__btn--sp-left:hover, .m-acc__btn--gray-left:hover {
    text-decoration: underline;
  }
}

.m-acc__btn:before, .m-acc__btn--right:before, .m-acc__btn--sp-left:before, .m-acc__btn--gray-left:before {
  content: attr(data-inactive);
}

.m-acc__btn.is-active:before, .is-active.m-acc__btn--right:before, .is-active.m-acc__btn--sp-left:before, .is-active.m-acc__btn--gray-left:before {
  content: attr(data-active);
}

.m-acc__btn--right {
  margin-left: auto;
}

.m-acc__content {
  display: none;
}

@media only screen and (max-width: 767px) {
  .m-acc__btn--sp-left {
    margin-left: 0;
  }
}

.m-acc__btn--gray-left {
  color: #888;
  margin-left: 0;
}

/* balloon */
.m-balloon--yellow, .m-balloon--red {
  background-image: url(/_common/s17_sprite_sp.png);
  background-repeat: no-repeat;
  background-size: 149px auto;
  width: 48px;
  height: 48px;
  display: table;
  font-size: 15px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-balloon--yellow, .m-balloon--red {
    background-image: url(/_common/s17_sprite_pc.png);
    width: 76px;
    height: 76px;
    background-size: auto;
  }
}

.m-balloon--yellow span, .m-balloon--red span {
  font-size: 78%;
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

@media only screen and (min-width: 768px), print, tv {
  .m-balloon--yellow span, .m-balloon--red span {
    line-height: 1.1;
    margin-top: 24px;
    font-size: 100%;
    padding-top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon--yellow span, .m-balloon--red span {
    font-size: 11px;
  }
}

.m-balloon--yellow {
  background-position: 0 -455px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-balloon--yellow {
    background-position: 0 -531px;
  }
}

.m-balloon--yellow span {
  color: #005bac;
}

.m-balloon--red {
  background-position: 0 -505px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-balloon--red {
    background-position: -86px -531px;
  }
}

.m-balloon--red span {
  color: #fff;
}

.m-balloon--yellow-left, .m-balloon--yellow-pc-l-sp-b {
  display: table;
  font-size: 15px;
  background-image: url(/_common/s17_sprite.png);
  background-position: -70px -102px;
  width: 60px;
  height: 60px;
}

@media only screen and (max-width: 767px) {
  .m-balloon--yellow-left, .m-balloon--yellow-pc-l-sp-b {
    background-image: url(/_common/s17_sprite.png);
    background-position: -47px 0px;
    width: 42px;
    height: 42px;
    background-size: 151.5px 116px;
  }
}

.m-balloon--yellow-left > span, .m-balloon--yellow-pc-l-sp-b > span {
  font-size: 78%;
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color: #005bac;
  letter-spacing: -0.1em;
}

@media only screen and (min-width: 768px), print, tv {
  .m-balloon--yellow-left > span, .m-balloon--yellow-pc-l-sp-b > span {
    line-height: 1.1;
    margin-top: 24px;
    font-size: 100%;
    padding-top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon--yellow-left > span, .m-balloon--yellow-pc-l-sp-b > span {
    font-size: 11px;
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon--yellow-pc-l-sp-b {
    background-image: url(/_common/s17_sprite.png);
    background-position: 0px 0px;
    width: 42px;
    height: 46px;
    background-size: 151.5px 116px;
    font-size: 10px;
  }
}

/* ====================================

Btn

==================================== */
.m-btn--normal, .m-btn--arrow, .m-btn--arrow-red, .m-btn--arrow-red-s, .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro, .m-btn--for-member, .m-btn--arrow-gray, .m-btn--learning-style, .m-btn--faq, .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou, .m-btn--variable-detail, .m-btn--more, .m-btn--more-2, .m-btn--small-arrow-gray, .m-btn--small-arrow-blue, .m-btn--variable {
  display: inline-block;
  padding: 0;
  text-decoration: none;
  text-align: center;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  font-family: inherit;
}

.m-btn--normal:hover, .m-btn--arrow:hover, .m-btn--arrow-red:hover, .m-btn--arrow-red-s:hover, .m-btn--icon-left:hover, .m-btn--icon-top:hover, .m-btn--icon-top-a:hover, .m-btn--variable-req:hover, .m-btn--icon-top-b:hover, .m-btn--variable-intro:hover, .m-btn--for-member:hover, .m-btn--arrow-gray:hover, .m-btn--learning-style:hover, .m-btn--faq:hover, .m-btn--member:hover, .m-btn--member-2row:hover, .m-btn--member-2row-kou:hover, .m-btn--variable-detail:hover, .m-btn--more:hover, .m-btn--more-2:hover, .m-btn--small-arrow-gray:hover, .m-btn--small-arrow-blue:hover, .m-btn--variable:hover {
  opacity: 0.7;
  text-decoration: none;
}

.m-btn--normal:focus, .m-btn--arrow:focus, .m-btn--arrow-red:focus, .m-btn--arrow-red-s:focus, .m-btn--icon-left:focus, .m-btn--icon-top:focus, .m-btn--icon-top-a:focus, .m-btn--variable-req:focus, .m-btn--icon-top-b:focus, .m-btn--variable-intro:focus, .m-btn--for-member:focus, .m-btn--arrow-gray:focus, .m-btn--learning-style:focus, .m-btn--faq:focus, .m-btn--member:focus, .m-btn--member-2row:focus, .m-btn--member-2row-kou:focus, .m-btn--variable-detail:focus, .m-btn--more:focus, .m-btn--more-2:focus, .m-btn--small-arrow-gray:focus, .m-btn--small-arrow-blue:focus, .m-btn--variable:focus {
  opacity: 0.7;
  text-decoration: none;
}

.m-btn--normal, .m-btn--arrow, .m-btn--arrow-red, .m-btn--arrow-red-s, .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro, .m-btn--for-member, .m-btn--arrow-gray, .m-btn--learning-style, .m-btn--faq, .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou, .m-btn--variable-detail, .m-btn--more, .m-btn--more-2, .m-btn--small-arrow-gray, .m-btn--small-arrow-blue, .m-btn--variable {
  display: block;
}

.m-btn--sample {
  padding: 10px;
  color: #fff;
  background-color: #999;
}

.m-btn--normal, .m-btn--arrow, .m-btn--arrow-red, .m-btn--arrow-red-s, .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro, .m-btn--for-member, .m-btn--arrow-gray, .m-btn--learning-style, .m-btn--faq, .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou, .m-btn--variable-detail, .m-btn--more, .m-btn--more-2 {
  position: relative;
  background-color: #0070cb;
  color: #ffffff;
  padding: 16px 26px;
  border-radius: 6px;
  -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

.m-unit--bg-blue .m-btn--normal, .m-unit--bg-blue .m-btn--arrow, .m-unit--bg-blue .m-btn--arrow-red, .m-unit--bg-blue .m-btn--arrow-red-s, .m-unit--bg-blue .m-btn--icon-left, .m-unit--bg-blue .m-btn--icon-top, .m-unit--bg-blue .m-btn--icon-top-a, .m-unit--bg-blue .m-btn--variable-req, .m-unit--bg-blue .m-btn--icon-top-b, .m-unit--bg-blue .m-btn--variable-intro, .m-unit--bg-blue .m-btn--for-member, .m-unit--bg-blue .m-btn--arrow-gray, .m-unit--bg-blue .m-btn--learning-style, .m-unit--bg-blue .m-btn--faq, .m-unit--bg-blue .m-btn--member, .m-unit--bg-blue .m-btn--member-2row, .m-unit--bg-blue .m-btn--member-2row-kou, .m-unit--bg-blue .m-btn--variable-detail, .m-unit--bg-blue .m-btn--more, .m-unit--bg-blue .m-btn--more-2 {
  background-color: #f3f3f3;
  color: #08c;
}

.m-unit--bg-blue .m-btn--normal:hover, .m-unit--bg-blue .m-btn--arrow:hover, .m-unit--bg-blue .m-btn--arrow-red:hover, .m-unit--bg-blue .m-btn--arrow-red-s:hover, .m-unit--bg-blue .m-btn--icon-left:hover, .m-unit--bg-blue .m-btn--icon-top:hover, .m-unit--bg-blue .m-btn--icon-top-a:hover, .m-unit--bg-blue .m-btn--variable-req:hover, .m-unit--bg-blue .m-btn--icon-top-b:hover, .m-unit--bg-blue .m-btn--variable-intro:hover, .m-unit--bg-blue .m-btn--for-member:hover, .m-unit--bg-blue .m-btn--arrow-gray:hover, .m-unit--bg-blue .m-btn--learning-style:hover, .m-unit--bg-blue .m-btn--faq:hover, .m-unit--bg-blue .m-btn--member:hover, .m-unit--bg-blue .m-btn--member-2row:hover, .m-unit--bg-blue .m-btn--member-2row-kou:hover, .m-unit--bg-blue .m-btn--variable-detail:hover, .m-unit--bg-blue .m-btn--more:hover, .m-unit--bg-blue .m-btn--more-2:hover {
  opacity: 1;
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .m-btn--normal, .m-btn--arrow, .m-btn--arrow-red, .m-btn--arrow-red-s, .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro, .m-btn--for-member, .m-btn--arrow-gray, .m-btn--learning-style, .m-btn--faq, .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou, .m-btn--variable-detail, .m-btn--more, .m-btn--more-2 {
    font-weight: bold;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--normal, .m-btn--arrow, .m-btn--arrow-red, .m-btn--arrow-red-s, .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro, .m-btn--for-member, .m-btn--arrow-gray, .m-btn--learning-style, .m-btn--faq, .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou, .m-btn--variable-detail, .m-btn--more, .m-btn--more-2 {
    padding: 22px;
    font-size: 16px;
  }
}

.m-btn--arrow:after, .m-btn--arrow-red:after, .m-btn--arrow-red-s:after, .m-btn--icon-left:after, .m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--variable-req:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after, .m-btn--for-member:after, .m-btn--arrow-gray:after, .m-btn--learning-style:after, .m-btn--faq:after, .m-btn--member:after, .m-btn--member-2row:after, .m-btn--member-2row-kou:after, .m-btn--variable-detail:after {
  content: "";
  display: block;
  margin-top: auto;
  margin-bottom: auto;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  background-image: url(/_common/s17_sprite.png);
  background-position: -178px -172px;
  width: 12px;
  height: 22px;
}

@media only screen and (max-width: 767px) {
  .m-btn--arrow:after, .m-btn--arrow-red:after, .m-btn--arrow-red-s:after, .m-btn--icon-left:after, .m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--variable-req:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after, .m-btn--for-member:after, .m-btn--arrow-gray:after, .m-btn--learning-style:after, .m-btn--faq:after, .m-btn--member:after, .m-btn--member-2row:after, .m-btn--member-2row-kou:after, .m-btn--variable-detail:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -89px -86px;
    width: 6px;
    height: 11px;
    background-size: 151.5px 116px;
  }
}

.m-unit--bg-blue .m-btn--arrow:after, .m-unit--bg-blue .m-btn--arrow-red:after, .m-unit--bg-blue .m-btn--arrow-red-s:after, .m-unit--bg-blue .m-btn--icon-left:after, .m-unit--bg-blue .m-btn--icon-top:after, .m-unit--bg-blue .m-btn--icon-top-a:after, .m-unit--bg-blue .m-btn--variable-req:after, .m-unit--bg-blue .m-btn--icon-top-b:after, .m-unit--bg-blue .m-btn--variable-intro:after, .m-unit--bg-blue .m-btn--for-member:after, .m-unit--bg-blue .m-btn--arrow-gray:after, .m-unit--bg-blue .m-btn--learning-style:after, .m-unit--bg-blue .m-btn--faq:after, .m-unit--bg-blue .m-btn--member:after, .m-unit--bg-blue .m-btn--member-2row:after, .m-unit--bg-blue .m-btn--member-2row-kou:after, .m-unit--bg-blue .m-btn--variable-detail:after {
  display: inline-block;
  vertical-align: middle;
  background-image: url(/_common/s17_sprite.png);
  background-position: -290px -174px;
  width: 12px;
  height: 22px;
}

@media only screen and (max-width: 767px) {
  .m-unit--bg-blue .m-btn--arrow:after, .m-unit--bg-blue .m-btn--arrow-red:after, .m-unit--bg-blue .m-btn--arrow-red-s:after, .m-unit--bg-blue .m-btn--icon-left:after, .m-unit--bg-blue .m-btn--icon-top:after, .m-unit--bg-blue .m-btn--icon-top-a:after, .m-unit--bg-blue .m-btn--variable-req:after, .m-unit--bg-blue .m-btn--icon-top-b:after, .m-unit--bg-blue .m-btn--variable-intro:after, .m-unit--bg-blue .m-btn--for-member:after, .m-unit--bg-blue .m-btn--arrow-gray:after, .m-unit--bg-blue .m-btn--learning-style:after, .m-unit--bg-blue .m-btn--faq:after, .m-unit--bg-blue .m-btn--member:after, .m-unit--bg-blue .m-btn--member-2row:after, .m-unit--bg-blue .m-btn--member-2row-kou:after, .m-unit--bg-blue .m-btn--variable-detail:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -145px -87px;
    width: 6px;
    height: 11px;
    background-size: 151.5px 116px;
  }
}

.m-btn--arrow-red, .m-btn--arrow-red-s {
  background-color: #e60012;
}

.m-btn--arrow-red-s {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  .m-btn--arrow-red-s {
    padding: 12px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--arrow-red-s:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -281px -214px;
    width: 6px;
    height: 11px;
  }
}

.m-btn--more, .m-btn--more-2 {
  background-color: #f3f3f3;
  color: #08c;
  font-weight: normal;
  font-size: 15px;
  padding: 12px 25px 12px 20px;
}

.m-btn--more:before, .m-btn--more-2:before {
  display: block;
  content: 'つづきを見る';
}

.m-btn--more:after, .m-btn--more-2:after {
  position: absolute;
  content: '';
  display: block;
  width: 12px;
  height: 7px;
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-repeat: no-repeat;
  background-position: 0px -9px;
  background-size: 80px 2464px;
  margin-top: -3px;
  right: 10px;
  top: 50%;
  overflow: hidden;
}

.m-btn--more.is-active:before, .is-active.m-btn--more-2:before {
  content: '閉じる';
}

.m-btn--more.is-active:after, .is-active.m-btn--more-2:after {
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-position: 0px -18px;
  background-size: 80px 2464px;
}

.m-btn--more-2:before {
  display: block;
  content: 'もっと見る';
}

@media only screen and (max-width: 767px) {
  .m-btn--icon-left, .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro {
    font-size: 17px;
    font-weight: bold;
  }
}

.m-btn--icon-left:before, .m-btn--icon-top:before, .m-btn--icon-top-a:before, .m-btn--variable-req:before, .m-btn--icon-top-b:before, .m-btn--variable-intro:before {
  position: absolute;
  content: '';
  display: block;
  width: 18px;
  height: 20px;
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-repeat: no-repeat;
  background-position: 0px -352px;
  background-size: 80px 2464px;
  margin-top: -10px;
  left: 15px;
  top: 50%;
  overflow: hidden;
}

.m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro {
  font-size: 85%;
  padding: 23px 30px 23px 40px;
  background: #508cce;
  color: #fff;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--icon-top-b {
    font-size: 16px;
  }
  .m-btn--variable-req, .m-btn--variable-intro {
    font-size: 13px;
    padding: 14px 20px 14px 30px;
    width: 225px;
  }
  .m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--variable-req:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after {
    content: "";
    display: block;
    clear: both;
  }
}

@media only screen and (max-width: 767px) {
  .m-btn--icon-top, .m-btn--icon-top-a, .m-btn--variable-req, .m-btn--icon-top-b, .m-btn--variable-intro {
    padding: 12px 20px;
    min-height: 94px;
  }
}

.m-btn--icon-top:before, .m-btn--icon-top-a:before, .m-btn--variable-req:before, .m-btn--icon-top-b:before, .m-btn--variable-intro:before {
  width: 21px;
  height: 26px;
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-repeat: no-repeat;
  background-position: 0px -490px;
  background-size: 80px 2464px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--variable-req:before {
    width: 18px;
    height: 22px;
    background-position: 0px -391px;
    background-size: 64px auto;
  }
}

@media only screen and (max-width: 767px) {
  .m-btn--icon-top:before, .m-btn--icon-top-a:before, .m-btn--variable-req:before, .m-btn--icon-top-b:before, .m-btn--variable-intro:before {
    position: static;
    display: block;
    margin: 0 auto 10px;
  }
}

.m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--variable-req:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after {
  position: absolute;
  content: '';
  display: block;
  margin-top: -5px;
  right: 10px;
  top: 50%;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--variable-req:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after {
    width: 7px;
    height: 11px;
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-repeat: no-repeat;
    background-position: 0px -62px;
    background-size: 80px 2464px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--icon-top:after, .m-btn--icon-top-a:after, .m-btn--icon-top-b:after, .m-btn--variable-intro:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -178px -172px;
    width: 12px;
    height: 22px;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
  }
  .m-btn--variable-req:after {
    width: 10px;
    height: 20px;
    background-position: -621px -503px;
    background-size: 240px auto;
    top: 43%;
  }
}

.m-btn__txt {
  display: block;
  margin-top: 10px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn__txt {
    float: left;
  }
}

.m-btn--icon-top-b, .m-btn--variable-intro {
  background: #f3f3f3;
  color: #000;
}

.m-btn--icon-top-b:before, .m-btn--variable-intro:before {
  width: 30px;
  height: 26px;
  background-position: 0px -518px;
}

.m-btn--icon-top-b:after, .m-btn--variable-intro:after {
  background-position: 0px -75px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--variable-intro:before {
    width: 24px;
    height: 21px;
    background-position: 0px -414px;
    background-size: 64px auto;
  }
  .m-btn--icon-top-b:after, .m-btn--variable-intro:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -200px -172px;
    width: 11px;
    height: 18px;
  }
}

.m-btn--for-member {
  border-radius: 0 0 5px 5px;
  width: 130px;
  padding: 7px;
  font-size: 14px;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .m-btn--for-member {
    width: 72px;
    padding: 9.5px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: normal;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.m-btn--for-member:before {
  position: absolute;
  top: 8px;
  left: 11px;
  content: "";
  display: block;
  background-image: url(/_common/s17_sprite.png);
  background-position: -258px -214px;
  width: 13px;
  height: 17px;
}

@media only screen and (max-width: 767px) {
  .m-btn--for-member:before {
    display: none;
  }
}

.m-btn--for-member:after {
  background-image: url(/_common/s17_sprite.png);
  background-position: -281px -214px;
  width: 6px;
  height: 11px;
  background-size: auto;
}

@media only screen and (max-width: 767px) {
  .m-btn--for-member:after {
    display: none;
  }
}

.m-btn--arrow-gray, .m-btn--learning-style {
  background-color: #f3f3f3;
  color: #0070cb;
}

.m-btn--arrow-gray:after, .m-btn--learning-style:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-repeat: no-repeat;
  background-position: 0px -88px;
  background-size: 80px 2464px;
  bottom: 50%;
  right: 10px;
  top: 50%;
  overflow: hidden;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--arrow-gray:after, .m-btn--learning-style:after {
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    width: 9px;
    min-width: 9px;
    max-width: 9px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    background-position: -551px -196px;
  }
}

.m-btn--small-arrow-gray, .m-btn--small-arrow-blue {
  position: relative;
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
  padding: 12px 25px 12px 20px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-gray, .m-btn--small-arrow-blue {
    padding: 11px 28px;
    border-radius: 5px;
    display: inline-block;
    -webkit-box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.25);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: background-color .2s;
    transition: background-color .2s;
  }
}

.m-btn--small-arrow-gray:after, .m-btn--small-arrow-blue:after {
  position: absolute;
  content: '';
  display: block;
  width: 7px;
  height: 11px;
  background-image: url(/_common/s17_icon_sprite_legacy.png);
  background-repeat: no-repeat;
  background-size: 80px 2464px;
  margin-top: -5px;
  right: 10px;
  top: 50%;
  overflow: hidden;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-gray:after, .m-btn--small-arrow-blue:after {
    margin: auto;
    top: 0;
    bottom: 0;
    right: 6px;
    zoom: 1;
    width: 9px;
    min-width: 9px;
    max-width: 9px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    display: inline-block;
    vertical-align: middle;
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
  }
}

.m-btn--small-arrow-gray {
  background-color: #0070cb;
  color: #fff;
}

.m-btn--small-arrow-gray:after {
  background-position: 0px -62px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-gray:after {
    background-position: -551px -172px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-gray:hover {
    background-color: #008cfe;
  }
}

.m-btn--small-arrow-blue {
  background-color: #f3f3f3;
  color: #0070cb;
}

.m-btn--small-arrow-blue:after {
  background-position: 0px -88px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-blue:after {
    background-position: -417px -168px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--small-arrow-blue:hover {
    background-color: #ffffff;
  }
}

.m-btn--faq {
  background-color: #f3f3f3;
  color: #0070cb;
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .m-btn--faq {
    font-size: 16px;
    font-weight: bold;
  }
}

.m-btn--faq:before {
  background-image: url(/_common/s17_sprite.png);
  background-position: -70px -172px;
  width: 46px;
  height: 46px;
  position: absolute;
  content: '';
  display: block;
  margin-top: -10px;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .m-btn--faq:before {
    display: none;
  }
}

.m-btn--faq:after {
  background-image: url(/_common/s17_sprite.png);
  background-position: -290px -174px;
  width: 12px;
  height: 22px;
}

@media only screen and (max-width: 767px) {
  .m-btn--faq:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -145px -87px;
    width: 6px;
    height: 11px;
    background-size: 151.5px 116px;
  }
}

.m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou {
  padding-top: 5px;
  padding-bottom: 5px;
  border: 1px solid #e6e6e6;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #fff;
  color: #0070cb;
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--member, .m-btn--member-2row, .m-btn--member-2row-kou {
    padding-top: 27px;
    padding-bottom: 27px;
    border-width: 2px;
  }
}

.m-btn--member:after, .m-btn--member-2row:after, .m-btn--member-2row-kou:after {
  background-image: url(/_common/s17_sprite.png);
  background-position: -290px -174px;
  width: 12px;
  height: 22px;
}

@media only screen and (max-width: 767px) {
  .m-btn--member:after, .m-btn--member-2row:after, .m-btn--member-2row-kou:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -145px -87px;
    width: 6px;
    height: 11px;
    background-size: 151.5px 116px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--member-2row, .m-btn--member-2row-kou {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.m-btn--member-2row-kou {
  padding: 20px;
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .m-btn--member-2row-kou {
    padding: 5px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-btn--variable, .m-btn--variable-detail {
    display: inline-block;
    min-height: auto;
    padding: 0 0 0 15px;
    background-color: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 14px;
    color: #08c;
  }
  .m-btn--variable:before, .m-btn--variable-detail:before {
    display: inline-block;
    vertical-align: middle;
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    width: 7px;
    min-width: 7px;
    max-width: 7px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    background-position: -552px -220px;
    content: "";
    position: absolute;
    -webkit-transform: translate(-12px, 2px);
        -ms-transform: translate(-12px, 2px);
            transform: translate(-12px, 2px);
  }
  .m-btn--variable:after, .m-btn--variable-detail:after {
    display: none;
  }
  .m-btn--variable:hover, .m-btn--variable-detail:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 767px) {
  .m-btn--variable-detail {
    background-color: #f3f3f3;
    color: #08c;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .m-btn--variable-detail:after {
    background-image: url(/_common/s17_sprite.png);
    background-position: -145px -87px;
    width: 6px;
    height: 11px;
    background-size: 151.5px 116px;
  }
}

.m-btn--learning-style {
  padding: 15px 20px;
  font-size: 14px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .m-btn--learning-style {
    padding: 12px 8px;
    font-size: 10px;
    font-weight: normal;
  }
}

/* ====================================

Chart

==================================== */
.m-chart {
  position: relative;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background-color: #f9c88f;
}

.m-chart__text {
  position: absolute;
  top: 35px;
  right: 35px;
  bottom: 35px;
  left: 35px;
  padding-top: 40px;
  border-radius: 50%;
  background-color: #fff;
  font-size: 38px;
  font-weight: bold;
  color: #ff9f1a;
  line-height: 1.1;
  text-align: center;
}

.m-chart__svg {
  height: 100%;
}

/* ====================================

Em

==================================== */
.m-em, .m-em--conversion {
  margin-bottom: 10px;
  vertical-align: middle;
  text-align: center;
  color: #f00;
  line-height: 1;
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  .m-em, .m-em--conversion {
    font-size: 13px;
  }
}

.m-em__num {
  font-size: 44px;
}

.m-em__num small {
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  .m-em__num {
    font-weight: bold;
    font-size: 27px;
  }
}

.m-em--conversion {
  font-weight: bold;
  color: #e60012;
}

@media only screen and (max-width: 767px) {
  .m-em--conversion {
    text-align: left;
  }
}

.m-em--conversion .m-em__num {
  font-size: 32px;
}

@media only screen and (max-width: 767px) {
  .m-em--conversion .m-em__num {
    font-size: 24px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-hr-dotline {
    display: none;
  }
}


/* ====================================

DotLine

==================================== */
@media only screen and (max-width: 767px) {
  .m-hr-dotline:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    padding: 20px 0;
    background: url(https://kou.benesse.co.jp/_share17/rwd/bg_dot_sp.png);
    background-repeat: repeat-x;
    background-position: 0 20px;
    background-size: 6px 2px;
  }
}

/* ====================================

Link

==================================== */
.m-link, .m-link--tel,
.m-link--wh, .m-link--red {
  display: inline-block;
  padding-left: 17px;
  position: relative;
  text-decoration: none;
}
.m-link--s {
  display: inline-block;
  padding-left: 15px;
  position: relative;
  text-decoration: none;
}

@media only screen and (min-width: 768px), print, tv {
  .m-link:hover, .m-link--tel:hover, .m-link--s:hover,
  .m-link--wh:hover, .m-link--red:hover {
    text-decoration: underline;
  }
}

.m-link--s {
  font-size: 12px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-link, .m-link--tel,
  .m-link--wh, .m-link--red {
    font-size: 16px;
    padding-left: 18px;
  }
  .m-link--s {
    font-size: 14px;
    padding-left: 18px;
  }
}

.m-link:before, .m-link--tel:before, .m-link--s:before,
.m-link--wh:before, .m-link--red:before {
  position: absolute;
  content: '';
  display: inline-block;
  width: 7px;
  height: 11px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-position: 0 -17px;
  background-size: 80px auto;
  overflow: hidden;
}
.m-link--wh:before {
  background-position: -23px -17px;
}
.m-link--red:before {
  background-position: -34px -17px;
}
@media only screen and (max-width: 767px) {
  .m-link:before, .m-link--tel:before, .m-link--s:before,
  .m-link--wh:before,
  .m-link--red:before {
    margin-top: -6px;
    left: 0px;
    top: 50%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-link:before, .m-link--s:before,
  .m-link--wh:before,
  .m-link--red:before {
    display: inline-block;
    vertical-align: middle;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 115px auto;
    background-position: 0 -19px;
    width: 8px;
    min-width: 8px;
    max-width: 8px;
    height: 15px;
    min-height: 15px;
    max-height: 15px;
    content: "";
    position: absolute;
    margin-top: -9px;
    left: 0;
    top: 50%;
  }
  .m-link--wh:before {
    background-position: -28px -19px;
  }
  .m-link--red:before {
    background-position: -43px -19px;
  }
}

.m-link--wh {
  color: #fff;
}

.m-link--red {
  color: #ff4455;
}

.m-link--modal,
.m-imp--modal,
.m-link--window {
  padding-right: 23px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-link--modal,
  .m-imp--modal,
  .m-link--window {
    padding-right: 26px;
  }
}

.m-link--modal:after,
.m-imp--modal:after,
.m-link--window:after {
  position: absolute;
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-position: 0 -72px;
  background-size: 80px auto;
  overflow: hidden;
}
.m-link--window:after {
  background-position: 0 -54px;
}
.m-link--wh.m-link--modal:after {
  background-position: -17px -72px;
}
.m-link--red.m-link--modal:after {
  background-position: -34px -72px;
}
.m-link--wh.m-link--window:after {
  background-position: -18px -54px;
}
@media only screen and (max-width: 767px) {
  .m-link--modal:after,
  .m-imp--modal:after,
  .m-link--window:after {
    margin-top: -7px;
    right: 0px;
    top: 50%;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-link--modal:after,
  .m-imp--modal:after,
  .m-link--window:after {
    display: inline-block;
    vertical-align: middle;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 -116px;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
    content: "";
    position: absolute;
    margin-top: -9px;
    right: 0;
    top: 50%;
  }
  .m-link--wh.m-link--modal:after {
    background-position: -26px -116px;
  }
  .m-link--red.m-link--modal:after {
    background-position: -52px -116px;
  }
  .m-link--window:after {
    background-position: 0 -90px;
  }
  .m-link--wh.m-link--window:after {
    background-position: -26px -90px;
  }
}

.m-link--tel {
  padding-left: 30px;
  position: relative;
  font-size: 12px;
}

.m-link--tel:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url(/_common/s17_sprite_pc.png);
  background-size: auto;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  background-position: -499px -46px;
  left: 0;
  -webkit-transform: translate(-12px, 0px);
      -ms-transform: translate(-12px, 0px);
          transform: translate(-12px, 0px);
}

@media only screen and (max-width: 767px) {
  .m-link--white-sp {
    color: #ffffff;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-link--white-sp {
    padding-left: 0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-link--white-sp:before {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-link--white-sp:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -77px -86px;
    width: 7px;
    height: 11px;
    background-size: 151.5px 116px;
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -5px;
  }
}

.m-link-op {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.m-link-op:hover {
  opacity: 0.7;
}

/* ====================================

List

==================================== */
.m-list-icon li, .m-list-icon--check li, .m-list-icon--check-green li, .m-list-icon--check-blue li {
  position: relative;
  margin-top: 2px;
  padding-left: 24px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-list-icon li, .m-list-icon--check li, .m-list-icon--check-green li, .m-list-icon--check-blue li {
    margin-top: 4px;
  }
}

.m-list-icon li:before, .m-list-icon--check li:before, .m-list-icon--check-green li:before, .m-list-icon--check-blue li:before {
  position: absolute;
  left: 0px;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
}

@media only screen and (min-width: 768px), print, tv {
  .m-list-icon li:before, .m-list-icon--check li:before, .m-list-icon--check-green li:before, .m-list-icon--check-blue li:before {
    display: inline-block;
    vertical-align: middle;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-list-icon--check li:before, .m-list-icon--check-green li:before, .m-list-icon--check-blue li:before {
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    width: 19px;
    min-width: 19px;
    max-width: 19px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-list-icon--check-green li:before {
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    background-position: -360px -325px;
  }
}

@media only screen and (max-width: 767px) {
  .m-list-icon--check-green li:before {
    background-image: url(https://kou.benesse.co.jp/_share17/rwd/checkbox_1.png);
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-list-icon--check-blue li:before {
    height: 17px;
    min-height: 17px;
    max-height: 17px;
    background-position: -268px -305px;
  }
}

@media only screen and (max-width: 767px) {
  .m-list-icon--check-blue li:before {
    background-image: url(https://kou.benesse.co.jp/_share17/rwd/checkbox_2.png);
  }
}

/* ====================================

Modal

==================================== */
.m-modal, .m-modal--year, .m-modal--year--kou, .m-modal--contact, .m-modal--member, .m-modal--member-kou, .m-modal--lecture, .m-modal--select-chu {
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3000;
  visibility: hidden;
  opacity: 0;
  -webkit-box-shadow: 5px 5px 6px 1px rgba(0, 0, 0, 0.3);
          box-shadow: 5px 5px 6px 1px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  border: 6px solid #006eb3;
  border-radius: 6px;
  padding: 25px 35px;
  -webkit-transition-property: visibility, opacity;
  transition-property: visibility, opacity;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.m-modal.is-active, .is-active.m-modal--year, .is-active.m-modal--year--kou, .is-active.m-modal--contact, .is-active.m-modal--member, .is-active.m-modal--member-kou, .is-active.m-modal--lecture, .is-active.m-modal--select-chu {
  visibility: visible;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .m-modal, .m-modal--year, .m-modal--year--kou, .m-modal--contact, .m-modal--member, .m-modal--member-kou, .m-modal--lecture, .m-modal--select-chu {
    max-width: 400px;
    padding: 12px;
    -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    border: 3px solid #005bac;
  }
}

.m-modal__shade {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2000;
  visibility: hidden;
}

html.is-modal-open .m-modal__shade {
  visibility: visible;
  opacity: 0.4;
}

.m-modal__shade {
  background-color: #000;
  opacity: 0;
  -webkit-transition: all 0.3s;
          transition: all 0.3s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .m-modal__shade {
    background-color: #000;
    opacity: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

.m-modal__close {
  position: absolute;
  top: -23px;
  right: -23px;
  cursor: pointer;
  background-image: url(/_common/s17_sprite.png);
  background-position: -258px -77px;
  width: 40px;
  height: 40px;
}

@media only screen and (max-width: 767px) {
  .m-modal__close {
    top: -15px;
    right: -15px;
    width: 30px;
    height: 30px;
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-position: 0 -697px;
    background-size: 80px;
  }
}

.m-modal__title {
  font-size: 18px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-modal__title {
    font-size: 14px;
    font-weight: bold;
  }
}

.m-modal--year, .m-modal--year--kou {
  width: 630px;
}

@media only screen and (max-width: 767px) {
  .m-modal--year, .m-modal--year--kou {
    width: 92%;
  }
}

.m-modal--year--kou {
  width: 480px;
}

@media only screen and (max-width: 767px) {
  .m-modal--year--kou {
    width: 92%;
  }
}

.m-modal--contact {
  width: 680px;
}

@media only screen and (max-width: 767px) {
  .m-modal--contact {
    width: 92%;
  }
}

@media only screen and (max-width: 767px) {
  .m-modal--contact .m-modal__btn-box {
    margin: 15px 5px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-modal--contact .m-modal__btn-box {
    width: 558px;
    margin: 20px auto;
  }
}

.m-modal--contact .m-modal__content {
  font-size: 12px;
  color: #808080;
}

@media only screen and (min-width: 768px), print, tv {
  .m-modal--contact .m-modal__content {
    width: 460px;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .m-modal--contact .m-modal__content {
    padding: 5px;
  }
}

.m-modal--member, .m-modal--member-kou {
  width: 960px;
  padding-bottom: 5px;
}

@media only screen and (max-width: 767px) {
  .m-modal--member, .m-modal--member-kou {
    width: 92%;
  }
}

.m-modal--member .m-modal__title, .m-modal--member-kou .m-modal__title {
  margin-bottom: 25px;
  color: #0070cb;
  font-size: 28px;
}

@media only screen and (max-width: 767px) {
  .m-modal--member .m-modal__title, .m-modal--member-kou .m-modal__title {
    margin-bottom: 5px;
    font-size: 16px;
  }
}

.m-modal--member .m-modal__member, .m-modal--member-kou .m-modal__member {
  float: left;
  width: 555px;
}

@media only screen and (max-width: 767px) {
  .m-modal--member .m-modal__member, .m-modal--member-kou .m-modal__member {
    width: calc(50% - 5px);
    max-width: 50%;
  }
}

.m-modal--member .m-modal__guardian, .m-modal--member-kou .m-modal__guardian {
  float: right;
  width: 305px;
}

@media only screen and (max-width: 767px) {
  .m-modal--member .m-modal__guardian, .m-modal--member-kou .m-modal__guardian {
    width: calc(50% - 5px);
    max-width: 50%;
  }
}

.m-modal--member .m-modal__foot, .m-modal--member-kou .m-modal__foot {
  clear: both;
  padding-top: 25px;
}

@media only screen and (max-width: 767px) {
  .m-modal--member .m-modal__foot, .m-modal--member-kou .m-modal__foot {
    padding-top: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .m-modal--member-kou {
    padding: 18px 12px 13px;
  }
}

@media only screen and (max-width: 767px) {
  .m-modal--member-kou .m-modal__title {
    margin-bottom: 15px;
    font-size: 17px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-modal--member-kou .m-modal__member {
    width: 430px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-modal--member-kou .m-modal__guardian {
    width: 430px;
  }
}

.m-modal--member-kou .m-modal__guardian-inner {
  border: none;
}

@media only screen and (max-width: 767px) {
  .m-modal--member-kou .m-modal__foot {
    margin-left: -5px;
    margin-right: -5px;
  }
}

.m-modal--lecture {
  width: 960px;
}

@media only screen and (max-width: 767px) {
  .m-modal--lecture {
    width: 92%;
  }
}

/* 「今入会すると届く教材を見る」 */
.m-modal--select-chu {
  width: 500px;
}

@media only screen and (max-width: 767px) {
  .m-modal--select-chu {
    width: 92%;
  }
}

.m-modal--select-chu .m-modal__title {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .m-modal--select-chu .m-modal__title {
    margin-bottom: 10px;
  }
}

.m-modal--select-chu .m-modal__link, .m-modal--select-chu .m-modal__link--protrude-left {
  display: block;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .m-modal--select-chu .m-modal__link, .m-modal--select-chu .m-modal__link--protrude-left {
    margin-bottom: 15px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-modal--select-chu .m-modal__link--protrude-left {
    margin-left: -13px;
  }
}

/* ====================================

Notice

==================================== */
.m-notice {
  font-size: 14px;
}
.m-notice--s {
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .m-notice {
    font-size: 12px;
  }
  .m-notice--s {
    font-size: 11px;
  }
}

.m-unit--bg-blue .m-notice, .m-unit--bg-blue .m-notice--s {
  color: #fff;
}

.m-notice li, .m-notice--s li {
  position: relative;
  padding-left: 1.2em;
}

.m-notice li:before, .m-notice--s li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.m-notice li.m-notice__no-mark, .m-notice--s li.m-notice__no-mark {
  padding-left: 0;
  font-size: 11px;
}

.m-notice li.m-notice__no-mark:before, .m-notice--s li.m-notice__no-mark:before {
  display: none;
}

.m-notice--s li + li {
  margin-top: 5px;
}

@media only screen and (max-width: 767px) {
  .m-notice--s li + li {
    margin-top: 0;
  }
}

.m-tilelink {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.m-tilelink > * {
  white-space: nowrap;
}

.m-tilelink > *:after {
  content: "|";
  margin: 0 12px;
  display: inline-block;
  color: #ccc;
}

.m-tilelink > *:last-child:after {
  display: none;
}

.m-tilelink--tight > *:after {
  margin: 0 5px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-tilelink--underline > li > a:hover {
    text-decoration: underline;
  }
}

.m-totop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 1000;
  background-image: url(/_common/s17_sprite.png);
  background-position: -258px -127px;
  width: 36px;
  height: 37px;
  cursor: pointer;
  outline: none;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.m-totop:hover {
  opacity: 0.7;
}

.m-totop.is-bottom {
  position: absolute;
}

@media only screen and (min-width: 768px), print, tv {
  .m-fade-in {
    -webkit-transition: opacity 0.5s 1s linear,margin-left 0.5s 1s linear;
    transition: opacity 0.5s 1s linear,margin-left 0.5s 1s linear;
    opacity: 0;
    margin-left: -15px;
  }
  .m-fade-in.is-active {
    opacity: 1;
    margin-left: 0;
  }
}

.m-dropdown {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.m-dropdown__btn {
  color: #0070cb;
}

.m-dropdown__btn:hover {
  text-decoration: underline;
}

.m-dropdown__btn:after {
  display: inline-block;
  margin-left: 10px;
  background-image: url("/_common/s17_sprite_sp.png");
  background-position: 0 -342px;
  background-size: 149px auto;
  width: 12px;
  height: 7px;
  content: "";
}

@media only screen and (min-width: 768px), print, tv {
  .m-dropdown__btn:after {
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    background-position: -172px -569px;
    width: 14px;
    height: 9px;
  }
}

.m-dropdown__list {
  display: none;
  position: absolute;
  z-index: 500;
  left: 0;
  right: 0;
  height: 320px;
  border: 1px solid #0070cb;
  overflow-y: scroll;
  background-color: #fff;
}

.m-dropdown__list.is-active {
  display: block;
}

.m-dropdown__list li + li {
  border-top: 1px solid #ccc;
}

.m-dropdown__list a {
  display: block;
  padding: 3px 0;
}

.m-dropdown__list a:hover {
  text-decoration: underline;
}

.m-label, .m-label--english, .m-label--lang, .m-label--math, .m-label--science, .m-label--geographic {
  display: inline-block;
  padding: 5px;
  color: #ffffff;
  margin-right: 4px;
  line-height: 1;
  font-weight: normal;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .m-label, .m-label--english, .m-label--lang, .m-label--math, .m-label--science, .m-label--geographic {
    padding: 3px;
    line-height: 1;
  }
}

.m-label--english {
  background-color: #b60004;
}

.m-label--lang {
  background-color: #bf7600;
}

.m-label--math {
  background-color: #0089b9;
}

.m-label--science {
  background-color: #006f3f;
}

.m-label--geographic {
  background-color: #955f2a;
}

/* ====================================

CopyGuard

==================================== */
.m-cover_wrap {
  vertical-align: top;
  position: relative;
}
.m-cover_wrap img:first-child {
  line-height: 0;
  border: 0 !important;
  margin: 0 !important;
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -------------------------------------------------------
  Blocks
   
  ブロック
   
*/
/* -------------------------------------------------------
  Type-C
   
  ブロック：カラムレベルのモジュール
   
*/
.m-c-box-cvr__btn {
  margin-bottom: 20px;
  padding: 15px;
  background-color: #46bf0a;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-box-cvr__links {
    display: table;
    margin-right: -15px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-box-cvr__links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: -15px;
  }
}

.m-c-box-cvr__link {
  width: 50%;
  padding-right: 15px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-box-cvr__link {
    display: table-cell;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-box-cvr__btn-bottom {
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 0;
    background-color: transparent;
    color: #08c;
    padding-left: 15px;
    font-size: 14px;
    display: inline-block;
    min-height: auto;
  }
  .m-c-box-cvr__btn-bottom:before {
    display: inline-block;
    vertical-align: middle;
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    width: 7px;
    min-width: 7px;
    max-width: 7px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    background-position: -552px -220px;
    content: "";
    position: absolute;
    -webkit-transform: translate(-12px, 2px);
        -ms-transform: translate(-12px, 2px);
            transform: translate(-12px, 2px);
  }
  .m-c-box-cvr__btn-bottom:after {
    display: none;
  }
  .m-c-box-cvr__btn-bottom:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-box-cvr__btn-bottom {
    height: 100%;
  }
}

.m-c-box-price {
  margin-bottom: 15px;
}

@media only screen and (max-width: 767px) {
  .m-c-box-price {
    margin-top: 15px;
    padding: 15px;
    background-color: #fff;
    border: 2px solid #faed96;
    border-radius: 5px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-box-price__price-box {
    display: table;
    width: 100%;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 2px solid #faed96;
  }
}

.m-c-box-price__price-txt {
  display: inline-block;
  width: 45%;
  vertical-align: middle;
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  .m-c-box-price__price-txt {
    display: table-cell;
    vertical-align: middle;
    padding-right: 15px;
    font-size: 12px;
  }
}

.m-c-box-price__price-num {
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .m-c-box-price__price-num {
    display: table-cell;
  }
}

.m-c-box-price__link {
  margin-top: 15px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .m-c-box-price__link {
    margin-top: 5px;
    text-align: left;
  }
}

.m-c-compare-course, .m-c-compare-course--chu-std, .m-c-compare-course--chu-high, .m-c-compare-course--kou-std, .m-c-compare-course--kou-difficult, .m-c-compare-course--kou-extreme {
  font-size: 14px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course, .m-c-compare-course--chu-std, .m-c-compare-course--chu-high, .m-c-compare-course--kou-std, .m-c-compare-course--kou-difficult, .m-c-compare-course--kou-extreme {
    border-radius: 6px 6px 0 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course, .m-c-compare-course--chu-std, .m-c-compare-course--chu-high, .m-c-compare-course--kou-std, .m-c-compare-course--kou-difficult, .m-c-compare-course--kou-extreme {
    -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
  }
}

.m-c-compare-course--chu-std .m-c-compare-course__lead, .m-c-compare-course--chu-high .m-c-compare-course__lead {
  padding: 20px 10px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-std .m-c-compare-course__lead, .m-c-compare-course--chu-high .m-c-compare-course__lead {
    border-left: 1px solid #e6e6e6;
  }
}

.m-c-compare-course--chu-std .m-c-compare-course__list, .m-c-compare-course--chu-high .m-c-compare-course__list {
  padding: 20px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-std .m-c-compare-course__list, .m-c-compare-course--chu-high .m-c-compare-course__list {
    border-left: 1px solid #e6e6e6;
  }
}

.m-c-compare-course--chu-std .m-c-compare-course__ttl {
  background-color: #3caa91;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-std .m-c-compare-course__ttl {
    background-color: #40a991;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-std .m-c-compare-course__head {
    width: 200%;
  }
}

.m-c-compare-course--chu-high .m-c-compare-course__ttl {
  background-color: #6b9ad1;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-high .m-c-compare-course__ttl {
    background-color: #6b9ad1;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--chu-high .m-c-compare-course__cont {
    display: none;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-high .m-c-compare-course__lead, .m-c-compare-course--chu-high .m-c-compare-course__list, .m-c-compare-course--chu-high .m-c-compare-course__chart {
    border-right: 1px solid #e6e6e6;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--chu-high .m-c-compare-course__head {
    visibility: hidden;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--chu-high .m-c-compare-course__head {
    background-color: #cfdef1;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__ttl, .m-c-compare-course--kou-difficult .m-c-compare-course__ttl, .m-c-compare-course--kou-extreme .m-c-compare-course__ttl {
    padding: 30px 0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__head, .m-c-compare-course--kou-difficult .m-c-compare-course__head, .m-c-compare-course--kou-extreme .m-c-compare-course__head {
    padding: 20px 0;
    font-size: 18px;
  }
}

.m-c-compare-course--kou-std .m-c-compare-course__chart, .m-c-compare-course--kou-difficult .m-c-compare-course__chart, .m-c-compare-course--kou-extreme .m-c-compare-course__chart {
  padding: 15px 0;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__chart, .m-c-compare-course--kou-difficult .m-c-compare-course__chart, .m-c-compare-course--kou-extreme .m-c-compare-course__chart {
    padding: 20px 30px;
    border-bottom: none;
  }
}

.m-c-compare-course--kou-std .m-c-compare-course__chart__desc, .m-c-compare-course--kou-difficult .m-c-compare-course__chart__desc, .m-c-compare-course--kou-extreme .m-c-compare-course__chart__desc {
  margin-top: 20px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-std .m-c-compare-course__chart__desc, .m-c-compare-course--kou-difficult .m-c-compare-course__chart__desc, .m-c-compare-course--kou-extreme .m-c-compare-course__chart__desc {
    display: none;
  }
}

.m-c-compare-course--kou-std .m-c-compare-course__school, .m-c-compare-course--kou-difficult .m-c-compare-course__school, .m-c-compare-course--kou-extreme .m-c-compare-course__school {
  padding: 15px 5%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__school, .m-c-compare-course--kou-difficult .m-c-compare-course__school, .m-c-compare-course--kou-extreme .m-c-compare-course__school {
    padding: 20px 30px;
    border-left: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
  }
}

.m-c-compare-course--kou-std .m-c-compare-course__ttl {
  background-color: #8fc31f;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__ttl {
    border-top-left-radius: 8px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-std .m-c-compare-course__head {
    width: 300%;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-std .m-c-compare-course__head {
    background-color: #f3f8e7;
    color: #7bb204;
  }
}

.m-c-compare-course--kou-difficult .m-c-compare-course__ttl {
  background-color: #00a0e9;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-difficult .m-c-compare-course__head {
    visibility: hidden;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-difficult .m-c-compare-course__head {
    background-color: #e5f5fd;
    color: #0094d9;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-difficult .m-c-compare-course__cont {
    display: none;
  }
}

.m-c-compare-course--kou-extreme .m-c-compare-course__ttl {
  background-color: #d20b17;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-extreme .m-c-compare-course__ttl {
    border-top-right-radius: 8px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-extreme .m-c-compare-course__head {
    visibility: hidden;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-extreme .m-c-compare-course__head {
    background-color: #fae6e7;
    color: #d20b17;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course--kou-extreme .m-c-compare-course__cont {
    display: none;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course--kou-extreme .m-c-compare-course__chart, .m-c-compare-course--kou-extreme .m-c-compare-course__school {
    border-right: 1px solid #e6e6e6;
  }
}

.m-c-compare-course__ttl {
  position: relative;
  padding: 13px 35px 13px 15px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course__ttl {
    padding: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course__ttl {
    cursor: pointer;
  }
}

.m-c-compare-course__ttl:after {
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background-image: url(https://kou.benesse.co.jp/_share17/rwd/acc_default.png);
  background-repeat: no-repeat;
  background-position: 0;
  background-size: 100%;
  margin-top: -5px;
  right: 15px;
  top: 50%;
  overflow: hidden;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course__ttl:after {
    display: none;
  }
}

.m-c-compare-course__ttl.is-active:after {
  background-image: url(https://kou.benesse.co.jp/_share17/rwd/acc_active.png);
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course__cont {
    display: block !important;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-compare-course__cont {
    -webkit-box-shadow: 0 5px 5px 0 rgba(128, 128, 128, 0.1) inset;
            box-shadow: 0 5px 5px 0 rgba(128, 128, 128, 0.1) inset;
    border-left: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
}

.m-c-compare-course__head {
  padding: 10px 0;
  text-align: center;
  background-color: #7fc8b7;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course__head {
    background-color: #f3f3f3;
    padding: 8px;
    border: 1px solid #e6e6e6;
    font-weight: bold;
    font-size: 16px;
  }
}

.m-c-compare-course__chart {
  padding: 13px;
  text-align: center;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-compare-course__chart {
    border-left: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
  }
}

.m-c-course-item__ttl {
  font-size: 18px;
  font-weight: bold;
  color: #0070cb;
  text-align: center;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-course-item__ttl {
    margin: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-course-item__ttl {
    font-size: 15px;
  }
}

.m-c-course-item__btn {
  display: block;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-course-item__btn {
    padding: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-course-item__btn {
    font-size: 15px;
    font-weight: bold;
    margin: 5px 0 20px;
  }
}

.m-c-course-item__btn:after {
  right: 14px;
}

.m-c-deadline {
  padding: 24px 0 30px;
  background: #fff;
  border: 2px solid #faed96;
  border-radius: 5px;
  background-color: #FFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline {
    display: table;
    width: 100%;
    padding: 15px 0;
  }
}

.m-c-deadline__ttl {
  margin-bottom: 20px;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__ttl {
    margin: auto 15px 15px;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
  }
}

.m-c-deadline__main {
  margin: 0 30px;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__main {
    margin: 0 15px;
  }
}

.m-c-deadline__main:after {
  content: "";
  display: block;
  clear: both;
}

.m-c-deadline__img {
  float: left;
  width: 188px;
  text-align: center;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__img {
    width: 46.51%;
    margin-right: 5.81%;
  }
}

.m-c-deadline__txt-box {
  float: right;
  width: 198px;
  vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__txt-box {
    width: 47.67%;
  }
}

.m-c-deadline__notice {
  float: right;
  width: 198px;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__notice {
    float: none;
    clear: both;
    width: 100%;
    letter-spacing: -0.05em;
    padding: 15px 0 0;
  }
}

.m-c-deadline__txt-top {
  margin-bottom: 16px;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__txt-top {
    font-size: 12px;
    margin-bottom: 10px
  }
}

.m-c-deadline__logo {
  display: inline-block;
  width: 160px;
  vertical-align: bottom;
}

.m-c-deadline__date {
  color: #f00;
  font-size: 18px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .m-c-deadline__date {
    font-weight: bold;
    font-size: 18px;
  }
}

.m-c-grades__item, .m-c-grades__item--kou {
  display: block;
  width: 302px;
  max-width: 100%;
  height: 124px;
  margin: 0 auto 25px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  background-image: url(https://kou.benesse.co.jp/_share17/pc/img/years_4line_modal.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}

.m-c-grades__item:nth-child(2), .m-c-grades__item--kou:nth-child(2) {
  background-position: -330px 0;
}

.m-c-grades__item:nth-child(3), .m-c-grades__item--kou:nth-child(3) {
  background-position: -660px 0;
}

.m-c-grades__item:nth-child(4), .m-c-grades__item--kou:nth-child(4) {
  background-position: -990px 0;
}

.m-c-lead-reason--new .m-c-lead-reason__head:after, .m-c-lead-reason--new .m-c-lead-reason__head--level:after, .m-c-lead-reason--new .m-c-lead-reason__head--analysis:after, .m-c-lead-reason--new .m-c-lead-reason__head--weak:after, .m-c-lead-reason--new .m-c-lead-reason__head--support:after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 46px;
  height: 24px;
  background-image: url(/_common/s17_icon_new.png);
  background-repeat: no-repeat;
}

.m-c-lead-reason__head, .m-c-lead-reason__head--level, .m-c-lead-reason__head--analysis, .m-c-lead-reason__head--weak, .m-c-lead-reason__head--support {
  position: relative;
  display: inline-block;
  padding: 0 60px 0 30px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: bold;
  color: #0070cb;
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head, .m-c-lead-reason__head--level, .m-c-lead-reason__head--analysis, .m-c-lead-reason__head--weak, .m-c-lead-reason__head--support {
    font-size: 16px;
    display: inline-block;
    margin-bottom: 20px;
    padding-right: 60px;
    padding-left: 40px;
    position: relative;
  }
}

.m-c-lead-reason__head:before, .m-c-lead-reason__head--level:before, .m-c-lead-reason__head--analysis:before, .m-c-lead-reason__head--weak:before, .m-c-lead-reason__head--support:before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head:before, .m-c-lead-reason__head--level:before, .m-c-lead-reason__head--analysis:before, .m-c-lead-reason__head--weak:before, .m-c-lead-reason__head--support:before {
    width: 30px;
    height: 30px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lead-reason__head--level:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -188px -140px;
    width: 24px;
    height: 22px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head--level:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: 0px -86px;
    width: 30px;
    height: 30px;
    background-size: 151.5px 116px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lead-reason__head--analysis:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -140px -136px;
    width: 24px;
    height: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head--analysis:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: 0px -51px;
    width: 30px;
    height: 30px;
    background-size: 151.5px 116px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lead-reason__head--weak:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -222px -140px;
    width: 24px;
    height: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head--weak:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -94px 0px;
    width: 30px;
    height: 30px;
    background-size: 151.5px 116px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lead-reason__head--support:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -140px -102px;
    width: 24px;
    height: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__head--support:before {
    background-image: url(/_common/s17_sprite.png);
    background-position: -94px -35px;
    width: 30px;
    height: 30px;
    background-size: 151.5px 116px;
  }
}

.m-c-lead-reason__bottom {
  font-size: 22px;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__bottom {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lead-reason__bottom {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-lead-reason__bottom strong {
    color: #0070cb;
  }
}

.m-c-lnav-item, .m-c-lnav-item--study, .m-c-lnav-item--test, .m-c-lnav-item--schedule, .m-c-lnav-item--support {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .m-c-lnav-item, .m-c-lnav-item--study, .m-c-lnav-item--test, .m-c-lnav-item--schedule, .m-c-lnav-item--support {
    border-top: solid 1px #e6e6e6;
    border-left: solid 2px #e6e6e6;
    border-right: solid 2px #e6e6e6;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lnav-item:before, .m-c-lnav-item--study:before, .m-c-lnav-item--test:before, .m-c-lnav-item--schedule:before, .m-c-lnav-item--support:before {
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    width: 18px;
    height: 35px;
    margin: auto 0 auto -4px;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 5;
  }
}

.m-c-member-navi--member, .m-c-member-navi--member-kou, .m-c-member-navi--guardian, .m-c-member-navi--guardian-kou {
  padding: 15px;
  border-radius: 6px;
  border: 1px solid #d5d5d5;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--member, .m-c-member-navi--member-kou, .m-c-member-navi--guardian, .m-c-member-navi--guardian-kou {
    padding: 10px 5px;
  }
}

.m-c-member-navi--member, .m-c-member-navi--member-kou {
  padding: 15px 7px;
  background-color: #0070cb;
  color: #fff;
}

.m-c-member-navi--member .m-c-member-navi__title:before, .m-c-member-navi--member-kou .m-c-member-navi__title:before {
  background-image: url(/_common/s17_sprite.png);
  background-position: -126px -172px;
  width: 18px;
  height: 30px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--member-kou {
    padding: 12px 23px 16px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--member-kou {
    padding: 5px 5px 10px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--member-kou .m-c-member-navi__content {
    display: block;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--member-kou .m-c-member-navi__btn {
    padding-top: 43px;
    padding-bottom: 13px;
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--member-kou .m-c-member-navi__btn {
    padding-top: 22%;
    padding-bottom: 22%;
  }
}

.m-c-member-navi--guardian, .m-c-member-navi--guardian-kou {
  background-color: #f7f7f7;
  color: #0070cb;
}

.m-c-member-navi--guardian .m-c-member-navi__title:before, .m-c-member-navi--guardian-kou .m-c-member-navi__title:before {
  background-image: url(/_common/s17_sprite.png);
  background-position: -258px -174px;
  width: 22px;
  height: 30px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--guardian .m-c-member-navi__btn, .m-c-member-navi--guardian-kou .m-c-member-navi__btn {
    margin: 0 11px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--guardian .m-c-member-navi__btn, .m-c-member-navi--guardian-kou .m-c-member-navi__btn {
    padding-top: 45%;
    padding-bottom: 45%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--guardian-kou {
    padding: 12px 23px 16px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--guardian-kou {
    padding: 5px 5px 10px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--guardian-kou .m-c-member-navi__content {
    display: block;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi--guardian-kou .m-c-member-navi__btn {
    width: 100%;
    height: auto;
    padding-top: 45px;
    padding-bottom: 45px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi--guardian-kou .m-c-member-navi__btn {
    padding-top: 22%;
    padding-bottom: 22%;
  }
}

.m-c-member-navi__title {
  margin-bottom: 15px;
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi__title {
    margin-bottom: 5px;
    font-size: 12px;
  }
}

.m-c-member-navi__title:before {
  content: "";
  display: inline-block;
  margin-right: 20px;
  vertical-align: -5px;
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi__title:before {
    margin-right: 10px;
    -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
            transform: scale(0.7);
    vertical-align: -10px;
  }
}

.m-c-member-navi__content {
  font-size: 0;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi__content {
    display: table;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi__content-item {
    display: table-cell;
    width: 100%;
    vertical-align: middle;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi__btn {
    width: 250px;
    height: 170px;
    display: table;
    padding: 0;
    margin: 0 8px;
  }
  .m-c-member-navi__btn:hover {
    opacity: 1;
  }
  .m-c-member-navi__btn:hover .m-c-member-navi__inner {
    opacity: 0.7;
  }
  .m-c-member-navi__btn:hover:after {
    opacity: 0.7;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi__btn {
    position: relative;
    display: block;
    padding: 5% 13px 5% 8px;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    border: 1px solid #e6e6e6;
    background-color: #fff;
  }
  .m-c-member-navi__btn:after {
    content: "";
    position: absolute;
    width: 6px;
    height: 9px;
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-repeat: no-repeat;
    background-position: 0 -27px;
    background-size: 80px;
    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto 0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi__btn + .m-c-member-navi__btn {
    margin-left: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-member-navi__btn + .m-c-member-navi__btn {
    margin-top: 10px;
  }
}

.m-c-member-navi__inner {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-member-navi__inner {
    display: table-cell;
    vertical-align: middle;
  }
}

.m-c-member-navi__btn-txt {
  margin-top: 10px;
  color: #000;
}

.m-c-table-cost, .m-c-table-cost--sp {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 8px;
  table-layout: fixed;
}

@media only screen and (max-width: 767px) {
  .m-c-table-cost, .m-c-table-cost--sp {
    font-size: 13px;
  }
}

.m-c-table-cost th, .m-c-table-cost--sp th, .m-c-table-cost td, .m-c-table-cost--sp td {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  color: #000;
  padding: 16px 0;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-c-table-cost th, .m-c-table-cost--sp th, .m-c-table-cost td, .m-c-table-cost--sp td {
    padding: 8px;
  }
}

.m-c-table-cost th, .m-c-table-cost--sp th {
  background-color: #f3f3f3;
  font-weight: bold;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .m-c-table-cost--sp {
    font-size: 14px;
    line-height: 2;
  }
}

.m-c-table-cost--sp th {
  font-weight: normal;
}

.m-c-table-cost__price {
  font-size: 17px;
}

/* ====================================

受講費_料金表

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-p-table-payment {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-table-payment__item {
    display: table-cell;
  }
}

.m-c-table-payment {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 0;
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment {
    display: table;
    width: 100%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment:first-child {
    border-radius: 6px 0 0 6px;
  }
  .m-c-table-payment:nth-child(2) {
    border-left: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment:first-child {
    border-radius: 4px 4px 0 0;
  }
  .m-c-table-payment:nth-child(2) {
    border-top: none;
  }
}

.m-c-table-payment:first-child .m-c-table-payment__ttl {
  background-color: #0070cb;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment:first-child .m-c-table-payment__ttl {
    border-radius: 6px 0 0 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment:first-child .m-c-table-payment__ttl {
    border-radius: 4px 0 0 0;
  }
}

.m-c-table-payment:first-child .m-c-table-payment__item-ans {
  background-color: #ffea00;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment:last-child {
    border-left: none;
    border-radius: 0 6px 6px 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment:last-child {
    border-top: none;
    border-radius: 0 0 4px 4px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment:last-child .m-c-table-payment__ttl {
    border-radius: 0 6px 0 0;
    background-color: #338dd5;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment:last-child .m-c-table-payment__ttl {
    border-radius: 0 0 0 4px;
    background-color: #4c9bda;
  }
}

.m-c-table-payment__ttl {
  position: relative;
  color: #fff;
  text-align: center;
  background-color: #197ed0;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__ttl {
    padding: 25px 15px;
    font-size: 16px;
    font-weight: bold;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__ttl {
    display: table-cell;
    width: 31%;
    border-right: 1px solid #e6e6e6;
    vertical-align: middle;
    background-color: #197ed0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__balloon {
    position: absolute;
    top: -15px;
    right: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__balloon {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__cont {
    display: table-cell;
    padding: 15px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__item, .m-c-table-payment__item--arrow {
    padding: 30px 0;
  }
}

.m-c-table-payment__item h3, .m-c-table-payment__item--arrow h3 {
  margin: -30px 0 10px;
  color: #0070cb;
  font-weight: bold;
  background-color: #e5f0fa;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__item h3, .m-c-table-payment__item--arrow h3 {
    padding: 8px 30px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item h3, .m-c-table-payment__item--arrow h3 {
    margin: 0;
    padding: 5px 10px;
  }
}

.m-c-table-payment__item dl, .m-c-table-payment__item--arrow dl {
  display: table;
  width: 100%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__item dl, .m-c-table-payment__item--arrow dl {
    height: 25px;
    padding: 0 30px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item dl, .m-c-table-payment__item--arrow dl {
    padding: 5px 0;
  }
}

.m-c-table-payment__item dt, .m-c-table-payment__item--arrow dt {
  display: table-cell;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__item dt, .m-c-table-payment__item--arrow dt {
    width: 150px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item dt, .m-c-table-payment__item--arrow dt {
    width: 45%;
    vertical-align: middle;
    font-size: 11px;
  }
}

.m-c-table-payment__item dd, .m-c-table-payment__item--arrow dd {
  display: table-cell;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__item dd, .m-c-table-payment__item--arrow dd {
    width: 110px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item dd, .m-c-table-payment__item--arrow dd {
    width: 55%;
    vertical-align: middle;
    font-size: 11px;
    text-align: right;
  }
}

.m-c-table-payment__hr {
  border: 1px dotted #e6e6e6;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-table-payment__hr {
    min-width: 260px;
    margin: 0 30px;
  }
}

.m-c-table-payment__hr--solid {
  border-top: 1px solid #e6e6e6;
  margin: 0;
}

.m-c-table-payment__item--arrow {
  position: relative;
}

.m-c-table-payment__item--arrow:after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 24px 0 24px;
  border-color: #fff transparent transparent transparent;
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item--arrow:after {
    border-width: 6px 10px 0 10px;
    bottom: -6px;
  }
}

.m-c-table-payment__price, .m-c-table-payment__price--sp-red {
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__price, .m-c-table-payment__price--sp-red {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__price--sp-red {
    color: #e60012;
  }
}

.m-c-table-payment__item-ans {
  padding: 30px;
  background-color: #fff04c;
  font-size: 12px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__item-ans {
    padding: 10px;
    border-radius: 4px;
    font-size: 10px;
  }
}

.m-c-table-payment__ans-price {
  font-size: 19px;
}

@media only screen and (max-width: 767px) {
  .m-c-table-payment__ans-price {
    font-size: 15px;
  }
}

.m-c-tel {
  display: block;
  padding: 30px 30px 30px 136px;
  border-radius: 6px;
  background-image: url(/_common/s17_telbox_image_pc.png);
  background-repeat: no-repeat;
  background-position: 30px 30px;
  color: #0070cb;
  font-weight: bold;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-tel {
    border: 3px solid #e6e6e6;
    cursor: default;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-tel {
    position: relative;
    padding: 15px 20px;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    background-color: #f3f3f3;
    background-size: 50px;
    background-position: 15px 20px;
    text-align: center;
    background-image: none;
    border-radius: none;
  }
  .m-c-tel:after {
    content: "";
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 7px;
    height: 11px;
    margin: auto 0;
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-repeat: no-repeat;
    background-position: 0 -88px;
    background-size: 80px;
  }
}

.m-c-tel__main {
  background-image: url(/_common/s17_telbox_icon_pc.png);
  background-repeat: no-repeat;
  padding-left: 42px;
  background-position: 0 10px;
}

@media only screen and (max-width: 767px) {
  .m-c-tel__main {
    padding: 0 0 15px 80px;
    background-image: url(/_common/s17_telbox_icon_sp.png);
    background-size: 24px;
    background-position: 55px 7px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-tel__title {
    font-size: 18px;
  }
}

.m-c-tel__num {
  font-size: 30px;
  letter-spacing: -0.02em;
}

@media only screen and (max-width: 767px) {
  .m-c-tel__num {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-tel__sub {
    text-align: center;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-tel__time {
    font-size: 11px;
  }
}

.m-c-tel__desc {
  margin-top: 5px;
  font-size: 10px;
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .m-c-tel__desc {
    margin-top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-tel__telbox {
    display: inline-block;
    padding: 10px 0 0;
    background-image: url(/_common/s17_telbox_image_sp.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 50px;
    color: #0070cb;
    text-align: left;
  }
}

.m-c-lecture-box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #fff;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-lecture-box {
    border: 2px solid #fff;
    margin-right: 20px;
    float: left;
    border: 2px solid #e6e6e6;
  }
}

.m-c-lecture-box__ttl {
  background-color: #0070cb;
  border-radius: 6px 6px 0 0;
  color: #fff;
  text-align: center;
  position: relative;
}

.m-c-lecture-box__ttl strong {
  color: #ffea00;
  font-weight: normal;
}

/* -------------------------------------------------------
  Type-P
   
  ブロック：PC Fixed幅(960px) レベルのモジュール
   
*/
.m-p-artworks {
  margin: 20px 0 0;
}

@media only screen and (max-width: 767px) {
  .m-p-artworks {
    margin: 0;
    font-size: 14px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__list {
    margin: 0;
    display: block;
    padding: 0;
  }
}

.m-p-artworks__item {
  border-radius: 6px;
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  color: #ffffff;
  background-color: #005bac;
  padding: 0;
  position: relative;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__item {
    width: 265px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-radius: 6px;
    color: #ffffff;
    background-color: #ffffff;
    padding: 1px 1px 10px 1px;
    position: relative;
    margin-top: 15px;
    width: 100%;
    float: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .m-p-artworks__item:after {
    content: "";
    display: block;
    clear: both;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__item-box {
    margin-top: -1px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__item-box {
    position: absolute;
    float: right;
    right: 1px;
    top: 1px;
    bottom: 10px;
    margin: auto;
    background-repeat: no-repeat;
    background-color: #005bac;
    border-radius: 0 6px 6px 0;
    text-indent: -9999px;
  }
}

@media only screen and (min-width: 320px) and (max-width: 414px) {
  .m-p-artworks__item-box {
    background-size: cover;
    background-position: center;
    width: 35%;
  }
}

@media only screen and (min-width: 415px) and (max-width: 767px) {
  .m-p-artworks__item-box {
    background-size: contain;
    background-position: right;
    width: 35%;
  }
}

.m-p-artworks__item-box__img {
  width: 265px;
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__item-box__img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 0 6px 6px 0;
  }
}

.m-p-artworks__lead {
  color: #ffffff;
  font-size: 85%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__lead {
    -webkit-align-items:center;
    -ms-align-items:center;
    align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    height: 90px;
    -webkit-justify-content: center;
    -ms-justify-content:center;
    justify-content: flex-start;
  }
}

.m-p-artworks__item + .m-p-artworks__item {
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__item + .m-p-artworks__item {
    margin-left: 0;
  }
}

.m-p-artworks__text {
  position: relative;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__text {
    color: #ffffff;
    padding: 0 10px 0 70px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 6px 0 0 6px;
    background-color: #005bac;
    min-height: 82px;
    margin: 0;
  }
}

@media only screen and (min-width: 320px) and (max-width: 374px) {
  .m-p-artworks__text {
    font-size: 12px;
  }
}

@media only screen and (min-width: 320px) and (max-width: 414px) {
  .m-p-artworks__text {
    background-size: cover;
    background-position: center;
    padding: 0 5px 0 50px;
    line-height: 1.3;
    width: 65%;
  }
}

@media only screen and (min-width: 415px) and (max-width: 767px) {
  .m-p-artworks__text {
    background-size: contain;
    background-position: right;
    padding: 10px 10px 10px 60px;
    width: 65%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__link {
    text-align: right;
    padding-right: 30px;
    padding-top: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-artworks__link {
    margin-top: 15px;
  }
}

.m-p-artworks__item__point {
  position: absolute;
  width: 58px;
  height: 58px;
  top: -13px;
  left: -10px;
  background-size: 175px auto;
  background-position: 0 -533px;
}
.m-p-artworks__item__point > span {
    font-size: 68%;
  }

@media only screen and (min-width: 768px), print, tv {
  .m-p-artworks__item__point {
    width: 76px;
    height: 76px;
    top: -20px;
    left: -10px;
    background-size: auto;
    background-position: 0 -531px;
  }
  .m-p-artworks__item__point > span {
    font-size: 12px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-bread .m-p-bread__pc {
    padding: 10px 0 8px;
    background-color: #f2f2f2;
    font-size: 10px;
  }
  .m-p-bread .m-p-bread__pc:after {
    content: "";
    display: block;
    clear: both;
  }
  .m-p-bread .m-p-bread__pc > li {
    float: left;
    position: relative;
    padding-left: 17px;
    margin-left: 7px;
  }
  .m-p-bread .m-p-bread__pc > li:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "＞";
    margin: 0 7px 0 0;
  }
  .m-p-bread .m-p-bread__pc > li:first-child {
    margin: 0;
    padding: 0;
  }
  .m-p-bread .m-p-bread__pc > li:first-child:after {
    display: none;
  }
  .m-p-bread .m-p-bread__pc > li > a {
    color: #08c;
  }
  .m-p-bread .m-p-bread__pc > li > a:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-bread .m-p-bread__pc {
    display: none;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-bread__sp, .m-p-bread__sp--kou-top {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-bread__sp, .m-p-bread__sp--kou-top {
    padding: 13px;
    border-bottom: 1px solid #e6e6e6;
  }
}

.m-p-bread__sp--kou-top {
  background-color: #ffffff;
  padding: 11.5px;
}

.m-p-bread__sp--kou-top .m-p-bread__sp-logo {
  float: none;
  color: #0070cb;
}

@media only screen and (max-width: 767px) {
  .m-p-bread__sp-logo {
    float: left;
    width: 85px;
    vertical-align: middle;
    color: #0070cb;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-bread__title {
    display: block;
    overflow: hidden;
    color: #0070cb;
    font-weight: bold;
    text-align: right;
  }
}

.m-p-bread-sp {
  border-top: 1px solid #e6e6e6;
  padding: 15px 15px 14px 15px;
  font-size: 78%;
}

.m-p-bread-sp ul {
  *zoom: 1;
}

.m-p-bread-sp ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  font-size: 0;
  height: 0;
  clear: both;
}

.m-p-bread-sp ul li {
  float: left;
  position: relative;
  padding-left: 15px;
  margin-left: 5px;
}

.m-p-bread-sp ul li:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '>';
  color: #808080;
}

.m-p-bread-sp ul li:first-child {
  margin: 0;
  padding: 0;
}

.m-p-bread-sp ul li:first-child:after {
  display: none;
}

.m-p-bread-sp ul li a {
  color: #08c;
}

.m-p-bread-sp ul li span {
  color: #808080;
}

/* ====================================

特長

==================================== */
.m-p-feature {
  padding: 40px 0;
}

.m-p-feature__body:after {
  content: "";
  display: block;
  clear: both;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-feature__chart {
    float: left;
    width: 240px;
    margin-left: 110px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-feature__chart {
    width: 240px;
    margin: 0 auto 15px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-feature__content {
    float: right;
    width: 590px;
  }
}

.m-p-feature__voice-pc {
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .m-p-feature__voice-pc {
    display: none;
  }
}

.m-p-feature__voice-sp {
  margin-bottom: 10px;
}

.m-p-feature__voice-sp img {
  width: 100%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-feature__voice-sp {
    display: none;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-lead, .m-p-lead--cost {
    margin-bottom: 45px;
    font-size: 16px;
  }
}

.m-p-lead--cost {
  font-size: 24px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 767px) {
  .m-p-lead--cost {
    margin: 25px 0;
    font-size: 20px;
  }
}

.m-p-lead__em {
  color: #0070cb;
}

.m-p-navi {
  margin-bottom: 25px;
  padding: 25px 10px;
  background-color: #e6f3ff;
}

@media only screen and (max-width: 767px) {
  .m-p-navi {
    margin-bottom: 15px;
    padding: 10px 5px;
  }
}

.m-p-navi__title {
  margin-bottom: 25px;
  font-size: 18px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .m-p-navi__title {
    margin-bottom: 5px;
    font-size: 12px;
  }
}

/* ====================================

よくあるご質問_リスト

==================================== */
.m-p-qlist__item {
  border-bottom: 1px solid #0070cb;
}

.m-p-qlist__item > a {
  display: block;
  font-weight: bold;
  padding: 10px 30px 10px 10px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-qlist__item > a {
    font-size: 15px;
    padding: 25px 30px 25px 10px;
  }
}

.m-p-qlist__item > a:after {
  content: '';
  position: absolute;
  display: block;
  width: 7px;
  height: 11px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-size: 80px auto;
  background-position: 0 -17px;
  margin-top: -6px;
  top: 50%;
  right: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-qlist__item > a:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 125px auto;
    background-position: 0 -21px;
    width: 8px;
    min-width: 8px;
    max-width: 8px;
    height: 15px;
    min-height: 15px;
    max-height: 15px;
  }
}

.m-p-qlist__more {
  text-align: right;
  margin-top: 10px;
}
.m-p-qlist__more .m-btn {
  display: inline-block;
  padding: 13px 39px;
}

/* ====================================

[PT05]タブ

==================================== */
.m-p-tab__head {
  margin-bottom: 26px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-tab__head {
    margin-bottom: 23px;
  }
}

.m-p-tab__list {
  border-collapse: separate;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.m-p-tab__item {
  border: 2px solid #0070cb;
  display: table-cell;
  font-size: 12px;
  font-weight: bold;
  vertical-align: middle;
}
.m-p-tab__item:first-child {
  border-radius: 5px 0 0 5px;
  border-left: 2px solid #0070cb;
}
.m-p-tab__item:last-child {
  border-radius: 0 5px 5px 0;
}
.m-p-tab__item {
  border-radius: 0;
  border-left: none;
  margin: 0px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-tab__item:first-child {
    border-radius: 8px 0 0 8px;
  }
  .m-p-tab__item:last-child {
    border-radius: 0 8px 8px 0;
  }
  .m-p-tab__item {
    font-size: 16px;
    text-align: center;
  }
}

.m-p-tab__item a {
  color: #0070cb;
  display: block;
  padding: 8px 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-tab__item a {
    padding: 14px 0 16px;
  }
}

.m-p-tab__item.is-active {
  background-color: #0070cb;
  position: relative;
}
.m-p-tab__item.is-active:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 9px 0 9px;
  border-color: #0070cb transparent transparent transparent;
  content: "";
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-tab__item.is-active:after {
    border-width: 13px 11px 0 11px;
    bottom: -15px;
  }
}

.m-p-tab__item.is-active a {
  color: #fff;
}

.m-p-tab__content {
  display: none;
}

.m-p-tab__content.is-active {
  display: block;
}

@media only screen and (max-width: 767px) {
  .m-p-tab--subject .m-p-tab__list {
    border-spacing: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    border-collapse: separate;
    table-layout: fixed;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .m-p-tab--subject {
    /* IE10 IE11 */
  }
}

@media only screen and (-ms-high-contrast: active) and (max-width: 767px), only screen and (-ms-high-contrast: none) and (max-width: 767px) {
  .m-p-tab--subject .m-p-tab__list:not(:target) {
    display: table;
    width: 100%;
    border-collapse: separate;
    table-layout: fixed;
    border-spacing: 30px 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-tab--subject .m-p-tab__contents {
    border-top: none;
  }
}

.m-p-tab--subject .m-p-tab__item {
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .m-p-tab--subject .m-p-tab__item {
    position: relative;
    width: 19%;
    border: 2px solid #0070cb;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-tab--subject .m-p-tab__item.is-active {
    background-color: #0070cb;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-table-acc__title {
    display: none;
  }
  .m-p-table-acc__body-wrapper {
    display: block !important;
  }
  .m-p-table-acc__body {
    display: table;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
  }
  .m-p-table-acc__item {
    display: table-row;
  }
  .m-p-table-acc__head, .m-p-table-acc__desc {
    display: table-cell;
    padding: 8px 30px;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    vertical-align: middle;
  }
  .m-p-table-acc__notice {
    font-size: 12px;
    color: #808080;
  }
  .m-p-table-acc__head {
    width: 150px;
    background-color: #f3f3f3;
    font-weight: bold;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-table-acc {
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    text-align: center;
  }
  .m-p-table-acc__title {
    position: relative;
    padding: 15px 35px 15px 15px;
    color: #08c;
    font-size: 15px;
  }
  .m-p-table-acc__title:before, .m-p-table-acc__title:after {
    content: "";
    margin: auto;
    position: absolute;
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-repeat: no-repeat;
    background-size: 80px 2464px;
    background-position: 0 -50px;
    margin-top: -5px;
    right: 15px;
    top: 50%;
    overflow: hidden;
  }
  .m-p-table-acc__title:before {
    width: 10px;
    height: 10px;
    right: 15px;
  }
  .m-p-table-acc__title.is-active:before {
    background-position: 0px -38px;
  }
  .m-p-table-acc__title:after {
    width: 2px;
    height: 10px;
    right: 19px;
  }
  .m-p-table-acc__title.is-active:after {
    display: none;
  }
  .m-p-table-acc__body-wrapper {
    display: none;
  }
  .m-p-table-acc__body {
    padding: 5px 15px 15px;
    -webkit-box-shadow: 0 5px 5px rgba(128, 128, 128, 0.1) inset;
            box-shadow: 0 5px 5px rgba(128, 128, 128, 0.1) inset;
    background-color: #edf7ff;
  }
  .m-p-table-acc__item {
    margin-top: 15px;
  }
  .m-p-table-acc__head {
    padding: 5px 0;
    background-color: #daecfb;
    font-weight: bold;
  }
  .m-p-table-acc__desc {
    padding: 15px 0;
  }
}

.m-p-telbox {
  margin-top: 30px;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .m-p-telbox {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-telbox__panel {
    float: left;
    width: 450px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-telbox__panel {
    margin-bottom: 10px;
  }
}

.m-p-telbox__content {
  color: #808080;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-telbox__content {
    float: right;
    width: 450px;
  }
}

.m-p-telbox__foot {
  clear: both;
}

@media only screen and (min-width: 768px), print, tv {
  .m-p-telbox__foot {
    padding-top: 60px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-telbox__foot {
    padding-top: 10px;
    margin-bottom: 20px;
  }
}

/* -------------------------------------------------------
  Type-U
   
  ブロック：ユニットレベルのモジュール
   
*/
.m-u-pass {
  background-image: url(https://kou.benesse.co.jp/_share17/rwd/cover_photo_jisseki.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  text-align: center;
  height: auto;
  padding: 35px 15px 15px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass {
    padding: 60px 0;
  }
}

.m-u-pass__title {
  margin-bottom: 20px;
}

.m-u-pass__title__main {
  margin-bottom: 10px;
}

.m-u-pass__title__sub {
  color: #ea3d7c;
  font-size: 128%;
  font-weight: bold;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__title__sub {
    font-size: 28px;
    font-weight: normal;
    padding: 10px 0 4px;
  }
}

@media only screen and (max-width: 767px) {
  .m-u-pass__title__img {
    width: 80%;
  }
}

.m-u-pass__contents {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 6px;
  padding: 15px 6px;
  position: relative;
}

.m-u-pass__contents__title {
  margin-bottom: 20px;
  text-align: center;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__contents__title {
    font-size: 24px;
    margin-left: 40px;
    margin-bottom: 20px;
    position: relative;
    text-align: left;
  }
}

.m-u-pass__contents__title:before {
  content: "";
  display: inline-block;
  background-image: url("/_common/s17_sprite_sp.png");
  background-position: 0 -350px;
  background-size: 149px auto;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__contents__title:before {
    background-image: url(/_common/s17_sprite_pc.png);
    background-size: auto;
    background-position: -201px -531px;
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__dropdown {
    position: absolute;
    top: 30px;
    right: 40px;
  }
}

.m-u-pass__grid {
  display: none;
}

.m-u-pass__grid.is-active {
  display: block;
}

.m-u-pass__col {
  border-bottom: 2px dotted #d8d5d6;
  border-right: 2px dotted #d8d5d6;
  padding-top: 15px;
  padding-bottom: 5px;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__col {
    padding-top: 20px;
    padding-bottom: 8px;
  }
  .m-u-pass__col:nth-child(-n+4) {
    border-top: 2px dotted #d8d5d6;
  }
  .m-u-pass__col:nth-child(4n) {
    border-right: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-u-pass__col:nth-child(-n+2) {
    border-top: 2px dotted #d8d5d6;
  }
  .m-u-pass__col:nth-child(2n) {
    border-right: none;
  }
}

.m-u-pass__col dd {
  color: #ea3d7c;
  display: block;
}

.m-u-pass__col dd strong {
  font-size: 228%;
}

.m-u-pass__desc {
  text-align: left;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__desc {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .m-u-pass__desc {
    margin-top: 10px;
  }
}

.m-u-pass__more-btn-wrap {
  display: none;
  margin: 20px 15px;
}

.m-u-pass__more-btn-wrap.is-active {
  display: block;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-pass__more-btn-wrap {
    width: 480px;
    margin: 20px auto 0;
  }
}

/* -------------------------------------------------------
  GuidelineComponent
   
  コンポーネント
   
*/
/* -------------------------------------------------------
  Basic
   
  基本コンポーネント
   
*/
/* ====================================

Margin

==================================== */
.g-mb-basic {
  margin-bottom: 40px;
}
.g-mb-slider {
  margin-bottom: 20px;
}
.g-mb-lead, .g-mb-cap {
  margin-bottom: 16px;
}
.g-mb-img {
  margin-bottom: 8px;
}
.g-mb-btn, .g-mb-link, .g-mb-ofr {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .g-mb-basic {
    margin-bottom: 60px;
  }
  .g-mb-slider {
    margin-bottom: 30px;
  }
  .g-mb-lead, .g-mb-cap {
    margin-bottom: 20px;
  }
  .g-mb-img {
    margin-bottom: 10px;
  }
  .g-mb-btn, .g-mb-link, .g-mb-ofr {
    margin-bottom: 40px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-material {
    background: url(https://kou.benesse.co.jp/_share16/pc/img/dotted2.png) repeat-y 50% 0;
  }
}

/* ====================================

Hover

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-btn:hover, .m-sample:hover, 
  .m-cvn-blk--cv__btn a:hover, .m-cvn--link a:hover,
  .m-slider--3col-bnr__item a:hover, .m-c-anchor--btn__item a:hover, .m-c-anchor--panel__item a:hover, .m-c-outside--panel__item a:hover, .m-c-anchor--shimple__item a:hover, .m-c-anchor--icn__item a:hover,
  .m-p-qlist__item a:hover, .m-fixed-btn__item a:hover {
    opacity: .7;
  }
}

/* ====================================

Read

==================================== */
.m-lead {
  color: #444;
}
@media only screen and (min-width: 768px), print, tv {
  .m-lead {
    font-size: 16px;
  }
}

.m-lead--cap {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .m-lead--cap {
    font-size: 12px;
  }
}

/* ====================================

Sample

==================================== */
.m-sample {
  position: relative;
  display: block;
}

.m-sample:after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-block;
  vertical-align: middle;
  width: 54px;
  height: 54px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-position: 0 -129px;
  background-size: 80px auto;
}
.m-sample.m-sample--mihon:after {
  background-position: 0 -189px;
}
.m-sample.m-sample--music:after {
  background-position: 0 -248px;
}
.m-sample.m-sample--mov:after,
.m-sample.m-sample--mov-s:after {
  right: 0;
  bottom: 0;
  top: 50%;
  left: 50%;
  -webkit-transform:translate(-50%, -50%);
      -ms-transform:translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.m-sample.m-sample--mov:after {
  width: 60px;
  height: 60px;
  background-position: 0 -363px;
}
.m-sample.m-sample--mov-s:after {
  width: 50px;
  height: 50px;
  background-position: 0 -308px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-sample:after {
    width: 60px;
    height: 60px;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-position: 0 -198px;
    background-size: auto;
  }
  .m-sample.m-sample--mihon:after {
    background-position: 0 -268px;
  }
  .m-sample.m-sample--music:after {
    background-position: 0 -338px;
  }
  .m-sample.m-sample--mov:after {
    width: 80px;
    height: 80px;
    background-position: 0 -475px;
  }
  .m-sample.m-sample--mov-s:after {
    width: 57px;
    height: 57px;
    background-position: 0 -408px;
  }
}

/* ====================================

Layout:Btn

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-btn--2col, .m-btn--3col, .m-btn--4col, .m-btn--5col {
    margin-left: auto;
    margin-right: auto;
  }
  .m-btn--2col {
    width: 468px;
  }
  .m-btn--3col {
    width: 304px;
  }
  .m-btn--4col {
    width: 222px;
  }
  .m-btn--5col {
    width: 176px;
  }
}

/* ====================================

Layout:Flexbox

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-fbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .m-fbox--jc--sb {
    -webkit-box-pack: justify;
       -ms-flex-pack: justify;
     justify-content: space-between;
  }
  .m-fbox--jc--ss {
    -webkit-box-pack: start;
       -ms-flex-pack: start;
     justify-content: flex-start;
  }
  .m-fbox--jc--sc {
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
  }
  .m-fbox--ai--c {
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
  }
}

/* ====================================

[C44]基本（画像＋レ点リスト）

==================================== */
@media only screen and (max-width: 767px) {
  .m-checklist {
    margin-bottom: 55px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-checklist {
    margin-bottom: 60px;
    padding-top: 8px;
  }
}

@media only screen and (max-width: 767px) {
  .m-checklist__thumb {
    margin-bottom: 8px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-checklist__thumb {
    width: 292px;
  }
}

.m-checklist__item .m-list--check,
.m-checklist__item .m-list--check li:last-child {
  margin-bottom: 0;
}
.m-checklist__item .m-list--check li {
  margin-bottom: 15px;
  padding-left: 35px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-checklist__item {
    padding: 9px 0;
    width: 628px;
  }
  .m-checklist__item .m-list--check li {
    line-height: 1.4;
    padding-left: 38px;
  }
  .m-checklist__item .m-list--check li:before {
    background-size: 28px auto;
    width: 28px;
    height: 28px;
    margin-top: -15px;
    top: 50%;
  }
}

/* -------------------------------------------------------
  Evidence
   
  エビデンス
   
*/
/* ====================================

[SG06]エビデンス誘導1

==================================== */
.m-evidence-a,
.m-evidence-b,
.m-evidence-e {
  color: #ff4455;
  margin-bottom: 60px;
  text-align: center;
}
.m-evidence-c,
.m-evidence-d {
  color: #ff4455;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-a,
  .m-evidence-e {
    margin-top: 80px;
    margin-bottom: 60px;
  }
}

/* arrow ---------------*/
.m-evidence-a .m-evidence__arrow,
.m-evidence-b .m-evidence__arrow {
  margin-bottom: 80px;
  position: relative;
}

.m-evidence-a .m-evidence__arrow {
  background-color: #fff3dd;
}
.m-evidence-b .m-evidence__arrow {
  background-color: #cceeff;
  padding-top: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-a .m-evidence__arrow {
    margin-bottom: 143px;
  }
  .m-evidence-b .m-evidence__arrow {
    margin-bottom: 195px;
    padding-top: 40px;
  }
}

.m-evidence__arrow:after {
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
}
.m-evidence-a .m-evidence__arrow:after {
  border-width: 50px 50vw 0 50vw;
  border-color: #fff3dd transparent transparent transparent;
  bottom: -50px;
}
.m-evidence-b .m-evidence__arrow:after {
  border-width: 49px 50vw 0 50vw;
  border-color: #cceeff transparent transparent transparent;
  bottom: -49px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-a .m-evidence__arrow:after {
    border-width: 102px 480px 0 480px;
    bottom: -102px;
  }
  .m-evidence-b .m-evidence__arrow:after {
    border-width: 145px 50vw 0 50vw;
    bottom: -145px;
  }
}

.m-evidence-c .m-evidence-c__arrow,
.m-evidence-d .m-evidence-d__arrow {
  position: relative;
  text-align: center;
  z-index: -1;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-c .m-evidence-c__arrow,
  .m-evidence-d .m-evidence-d__arrow {
    margin: 100px 0 0;
  }
}

.m-evidence-c .m-evidence-c__arrow:after,
.m-evidence-c .m-evidence-c__arrow:before,
.m-evidence-d .m-evidence-d__arrow:after,
.m-evidence-d .m-evidence-d__arrow:before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 50%;
  border-bottom: 500px solid #cceeff;
       -moz-transform: rotate(0.000001deg);
    -webkit-transform: rotate(0.000001deg);
         -o-transform: rotate(0.000001deg);
        -ms-transform: rotate(0.000001deg);
  transform: rotate(0.000001deg);
}
.m-evidence-d .m-evidence-d__arrow:after,
.m-evidence-d .m-evidence-d__arrow:before {
  border-bottom: 500px solid #fff3dd;
}
.m-evidence-c .m-evidence-c__arrow:before,
.m-evidence-d .m-evidence-d__arrow:before {
  right: 50%;
  border-right: 2000px solid transparent;
  border-left: 2000px solid;
}
.m-evidence-c .m-evidence-c__arrow:after,
.m-evidence-d .m-evidence-d__arrow:after {
  left: 50%;
  border-left: 2000px solid transparent;
  border-right: 2000px solid;
}

/* cont ---------------*/
.m-evidence-c .m-evidence-c__cont,
.m-evidence-d .m-evidence-d__cont {
  background-color: #cceeff;
  padding: 40px 15px;
  position: relative;
  text-align: center;
}
.m-evidence-d .m-evidence-d__cont {
  background-color: #fff3dd;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-c .m-evidence-c__cont,
  .m-evidence-d .m-evidence-d__cont {
    padding: 60px 0;
  }
}

/* inner ---------------*/
.m-evidence-a .m-evidence__inr {
  padding-top: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence-a .m-evidence__inr {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* data ---------------*/
.m-evidence__data,
.m-evidence__data2 {
  font-weight: bold;
  line-height: 1;
  margin-top: 10px;
}
.m-evidence__data-l {
  font-size: 75px;
}
.m-evidence__data-s {
  font-size: 60px;
}
.m-evidence__data sup {
  font-size: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence__data {
    margin-top: 20px;
    position: absolute;
    width: 100%;
    z-index: 2;
  }
  .m-evidence__data2 {
    margin-top: 20px;
    width: 100%;
    z-index: 2;
  }
  .m-evidence__data-l {
    font-size: 80px;
  }
  .m-evidence__data-s {
    font-size: 64px;
  }
}

/* result ---------------*/
.m-evidence__result {
  font-size: 35px;
  font-weight: bold;
  line-height: 1.3;
}
.m-evidence__result--sub {
  font-size: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence__result {
    font-size: 40px;
  }
  .m-evidence__result--sub {
    font-size: 28px;
  }
}

/* box ---------------*/
.m-evidence__txt--s {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}
.m-evidence__blk--large {
  background-color: #ff4455;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
  padding: 10px 0;
}
.m-evidence__blk--data {
  font-size: 75px;
  font-weight: bold;
}
.m-evidence__blk--data sup {
  font-size: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evidence__txt--s {
    font-size: 28px;
  }
  .m-evidence__blk {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
  }
  .m-evidence__blk--inr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
  }
  .m-evidence__blk--large {
    font-size: 40px;
    margin: 0 10px;
    padding: 10px 16px;
  }
  .m-evidence__blk--data {
    font-size: 80px;
  }
}

/* link ---------------*/
.m-evidence__link {
  margin-top: 30px;
}

/* ====================================

[SG07]エビデンス誘導2

==================================== */
.m-evi {
  background-color: #fff3dd;
  color: #ff4455;
  padding-bottom: 60px;
  text-align: center;
}
.m-evi .m-evidence__blk--large {
  font-size: 27px;
}
.m-evi .m-evidence__blk--data {
  line-height: 1;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evi .m-evidence__blk--large {
    font-size: 34px;
    padding: 12px 16px;
  }
}

/* arrow ---------------*/
.m-evi .m-evidence__arrow {
  margin-bottom: 80px;
  position: relative;
  background-color: #cceeff;
  padding-top: 10px;
}
.m-evi .m-evidence__arrow.arrow-wh {
  background-color: #fff;
}
.m-evi .m-evidence__arrow.arrow-gray {
  background-color: #f3f3f3;
}
.m-evi .m-evidence__arrow:after {
  border-width: 49px 50vw 0 50vw;
  border-color: #cceeff transparent transparent transparent;
  bottom: -49px;
}
.m-evi .m-evidence__arrow.arrow-wh:after {
  border-color: #fff transparent transparent transparent;
}
.m-evi .m-evidence__arrow.arrow-gray:after {
  border-color: #f3f3f3 transparent transparent transparent;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evi .m-evidence__arrow {
    margin-bottom: 195px;
    padding-top: 40px;
  }
  .m-evi .m-evidence__arrow:after {
    border-width: 145px 50vw 0 50vw;
    bottom: -145px;
  }
}

/* ====================================

[SG10]シンプルエビデンスエリア

==================================== */
.m-evi-shimple {
  color: #ff4455;
  margin-bottom: 60px;
  text-align: center;
}
.m-evi-shimple .m-evi-shimple__inr {
  padding: 0 15px;
}
.m-evi-shimple .m-evi-shimple__txt,
.m-evi-shimple .m-evi-shimple__point {
  font-size: 15px;
  font-weight: bold;
}
.m-evi-shimple .m-evi-shimple__txt {
  margin-bottom: 10px;
}
.m-evi-shimple .m-evi-shimple__point {
  background-color: #ff4455;
  color: #fff;
  line-height: 1;
  margin-bottom: 10px;
  padding: 10px 0;
}
.m-evi-shimple .m-evi-shimple__data {
  font-weight: bold;
  line-height: 1;
  font-size: 75px;
}
.m-evi-shimple .m-evi-shimple__data-s {
  font-size: 60px;
}
.m-evi-shimple .m-evi-shimple__data sup {
  font-size: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-evi-shimple .m-evi-shimple__txt {
    font-size: 18px;
  }
  .m-evi-shimple .m-evi-shimple__point {
    display: inline-block;
    font-size: 24px;
    padding: 10px 16px;
  }
  .m-evi-shimple .m-evi-shimple__data {
    font-size: 80px;
  }
  .m-evi-shimple .m-evi-shimple__data-s {
    font-size: 64px;
  }
}

/* -------------------------------------------------------
  Heading
   
  見出し
   
*/
/* ====================================

[H10]大見出し(青ベタ)
[H11]大見出し(青ベタジャンプ)
[H02]大見出し(アイコン付き青ベタジャンプ)

==================================== */
.m-heading {
  line-height: 130%;
}
.m-heading--sec {
  color: #fff;
  font-size: 35px;
  font-weight: bold;
  margin-bottom: 40px;
  padding: 30px 0;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sec {
    font-size: 40px;
    margin-bottom: 60px;
    padding: 40px 0;
  }
}

.m-heading--sec__sub {
  display: block;
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sec__sub {
    font-size: 18px;
  }
}

.m-heading--sec.icon {
  padding: 20px 0 30px;
}
.m-heading--sec__icon {
  line-height: 1;
  margin: 0 auto;
  padding-bottom: 15px;
  width: 50px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sec.icon {
    padding: 30px 0 40px;
  }
  .m-heading--sec__icon {
    padding-bottom: 20px;
  }
}

/* ====================================

[H03]大見出し(ジャンプ)
[H04]大見出し(黒中央)

==================================== */
.m-heading--sharp {
  color: #0070cb;
  font-size: 35px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp {
    font-size: 40px;
    margin-bottom: 60px;
  }
}

.m-heading--sharp__sub {
  color: #000;
  display: block;
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp__sub {
    font-size: 18px;
  }
}

.m-heading--sharp__sub__point {
  color: #fff;
  background-color: #0070cb;
  display: table;
  margin: 0 auto 15px; 
  font-size: 15px;
  font-weight: normal;
  padding: 6px 15px;
  border-radius: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp__sub__point {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 8px 20px;
  }
}

/* ====================================

[H06]大見出し(青縦帯)

==================================== */
.m-heading--bdr {
  color: #000;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 40px;
  padding-left: 15px;
  position: relative;
}
.m-heading--bdr:before {
  position: absolute;
  content: '';
  display: inline-block;
  top: 0;
  left: 0;
  width: 5px;
  border-radius: 2px;
  background-color: #0070cb;
}
@media only screen and (max-width: 767px) {
  .m-heading--bdr:before {
    height: 100%;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--bdr {
    font-size: 28px;
    margin-bottom: 60px;
  }
  .m-heading--bdr:before {
    margin: auto;
    width: 6px;
    border-radius: 4px;
    top: 0;
    left: 0;
    bottom: 4px;
  }
}

/* ====================================

[H07]中見出し(黒&赤中央)
[H08]中見出し(黒中央)

==================================== */
.m-heading--sharp-s {
  color: #000;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp-s {
    font-size: 28px;
    margin-bottom: 30px;
  }
}

/* ====================================

[H09]中見出し(青字)

==================================== */
.m-heading--sharp-left {
  color: #0070cb;
  font-weight: bold;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp-left {
    font-size: 18px;
  }
}

/* ====================================

[H1X]中見出し(黒&赤中央)

==================================== */
.m-heading--sharp-ss {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp-ss {
    font-size: 20px;
    margin-bottom: 30px;
  }
}

/* ====================================

[H13]小見出し

==================================== */
.m-heading--sharp-left-s {
  color: #444;
  font-weight: bold;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp-left-s {
    font-size: 16px;
  }
}

/* ====================================

[H14]大見出し(ポイント)

==================================== */
.m-heading--sharp__sub__point {
  color: #fff;
  background-color: #0070cb;
  display: table;
  margin: 0 auto 15px; 
  font-size: 15px;
  font-weight: normal;
  padding: 6px 15px;
  border-radius: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--sharp__sub__point {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 8px 20px;
  }
}

/* ====================================

[HXX]よくあるご質問見出し

==================================== */
.m-heading--shimple {
  color: #0070cb;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 20px 0;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--shimple {
    font-size: 24px;
    margin-bottom: 50px;
  }
}

/* ====================================

[HXX]振り分けボタン見出し

==================================== */
.m-heading--linebtn {
  color: #0070cb;
  font-size: 115%;
  margin: 0 auto 20px;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .m-heading--linebtn {
    font-weight: bold;
  }
  .m-heading--linebtn:before {
    content: "";
    position: absolute;
    display: inline-block;
    background-image: url("https://kou.benesse.co.jp/_share16/sp/img/icon_sprite.png");
    background-position: 0px -418px;
    background-size: 80px 2464px;
    width: 18px;
    height: 21px;
  }
  .m-heading--linebtn span {
    padding-left: 25px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--linebtn {
    font-size: 28px;
    margin: 0 auto 30px;
  }
  .m-heading--linebtn i {
    margin-right: 10px;
  }
  .i-dir {
    display: inline-block;
    vertical-align: middle;
    background-image: url(https://kou.benesse.co.jp/_share16/pc/img/sprite.png);
    background-size: auto;
    background-position: -499px -96px;
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    height: 37px;
    min-height: 37px;
    max-height: 37px;
  }
}

/* -------------------------------------------------------
  MainVisual
   
  キービジュアル関連
   
*/
/* ====================================

[KV01]優位性訴求

==================================== */
.m-appeal {
  background-color: #f3f3f3;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  text-align: center;
}

/* ====================================

[KV07]キービジュアルカルーセル

==================================== */
.m-mv {
  background-position: top;
  background-repeat: no-repeat;
}

/* bxSlider ---------------*/
#m-slider--mv .bx-wrapper {
  position: relative;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #m-slider--mv .bx-viewport {
    padding: 0;
  }
}

/* bxSlider_切り替えエリア ---------------*/
#m-slider--mv .bx-wrapper .bx-controls {
  display: table;
  margin: 20px auto 0;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  #m-slider--mv .bx-wrapper .bx-controls {
    margin: 30px auto 0;
    position: relative;
  }
}

/* bxSlider_インジケーター ---------------*/
#m-slider--mv .bx-wrapper .bx-pager {
  line-height: 1;
  text-align: center;
}
#m-slider--mv .bx-wrapper .bx-pager.bx-default-pager a {
  background-color: #ccc;
  text-indent: -9999px;
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 10px;
  outline: 0;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
}
@media only screen and (min-width: 768px), print, tv {
  #m-slider--mv .bx-wrapper .bx-pager.bx-default-pager a {
    width: 12px;
    height: 12px;
    margin: 0 11px;
  }
}

#m-slider--mv .bx-wrapper .bx-pager.bx-default-pager a:hover {
  opacity: .7;
}
#m-slider--mv .bx-wrapper .bx-pager.bx-default-pager a.active,
#m-slider--mv .bx-wrapper .bx-pager.bx-default-pager a:focus {
  background-color: #0070cb;
}

#m-slider--mv .bx-wrapper .bx-pager-item,
#m-slider--mv .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
}
@media only screen and (max-width: 767px) {
  #m-slider--mv .bx-wrapper .bx-pager-item {
    display: inline-block;
    height: 16px;
  }
}

/* bxSlider_btn_prev/next ---------------*/
@media only screen and (max-width: 767px) {
  #m-slider--mv .bx-wrapper .bx-controls-direction a {
    background-image: url(/_common/s17_icon_sprite_legacy.png);
    background-size: 80px auto;
    background-position: 0 -271px;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a {
    position: absolute;
    bottom: 0;
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a.disabled {
    display: none;
  }
}
@media only screen and (min-width: 768px), print, tv {
  #m-slider--mv .bx-wrapper .bx-controls-direction a {
    position: absolute;
    opacity: .8;
    text-indent: -9999px;
    bottom: 227px;
    width: 56px;
    height: 56px;
    background-color: #fff;
    border-radius: 50%;
    z-index: 2;
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a:before {
    content: '';
    position: absolute;
    display: inline-block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    vertical-align: middle;
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a:before {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: -23px -615px;
    width: 13px;
    max-width: 13px;
    min-width: 13px;
    height: 23px;
    max-height: 23px;
    min-height: 23px;
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a.disabled {
    display: none;
  }
}

/* bxSlider_btn_prev ---------------*/
@media only screen and (max-width: 767px) {
  #m-slider--mv .bx-wrapper .bx-prev {
    left: 15px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  #m-slider--mv .bx-wrapper .bx-prev {
    left: -30px;
    -webkit-transform: translateX(-500px) rotate(180deg);
            transform: translateX(-500px) rotate(180deg);
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a.bx-prev:before {
    right: -5px;
  }
}

/* bxSlider_btn_next ---------------*/
@media only screen and (max-width: 767px) {
  #m-slider--mv .bx-wrapper .bx-next {
    right: 15px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@media only screen and (min-width: 768px), print, tv {
  #m-slider--mv .bx-wrapper .bx-next {
    right: -30px;
    -webkit-transform: translateX(500px);
            transform: translateX(500px);
  }
  #m-slider--mv .bx-wrapper .bx-controls-direction a.bx-next:before {
    left: 5px;
  }
}

/* 縦積み ---------------*/
#m-slider--mv {
  position: relative;
}
.m-slider--mv__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.m-slider--mv__item:first-child {
  z-index: 100;
}

/* ====================================

[KV10]キービジュアル(テキストのみ)

==================================== */
.m-mv--shimple {
  margin-top: 50px;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-mv--shimple {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.m-mv--shimple__lead {
  text-align: center;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-mv--shimple__lead {
    font-size: 18px;
    margin-bottom: 40px;
  }
}

.m-heading--mv {
  color: #0070cb;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-heading--mv {
    font-size: 36px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .m-mv--line {
    margin-top: 0;
    position: relative;
  }
  .m-mv--line .m-unit__box {
    padding-top: 50px;
  }
}

/* -------------------------------------------------------
  Navigation
   
  ナビゲーション関連
   
*/
/* ====================================

[N01]ページ内リンク

==================================== */
@media only screen and (max-width: 767px) {
  .m-c-anchor--btn__item {
    margin-bottom: 3.44827586%;
  }
}

.m-c-anchor--btn__item a {
  background-color: #0070cb;
  border-radius: 3px;
  box-shadow: 1px 2px 2px rgba(0,0,0,0.25);
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 16px 32px 16px 20px;
  position: relative;
  text-align: center;
}
.m-c-anchor--btn__item a:after {
  content: "";
  margin: auto;
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
}
.m-c-anchor--btn__item a:after {
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  display: inline-block;
  vertical-align: middle;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: -25px 0;
  transform: rotate(90deg);
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--btn__item a {
    border-radius: 6px;
    font-size: 18px;
    font-weight: normal;
    padding: 20px 38px 20px 20px;
  }
  .m-c-anchor--btn__item a:after {
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: -40px 0;
    right: 14px;
  }
}

/* 2行Ver ---------------*/
.m-c-anchor--btn__item.line2 a {
  padding: 12px 32px 12px 20px;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--btn__item.line2 a {
    font-size: 15px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--btn__item.line2 a {
    padding: 16px 38px 16px 20px;
  }
}

.m-c-anchor--btn__item__sub {
  display: block;
  font-size: 12px;
  font-weight: normal;
  margin-bottom: 4px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--btn__item__sub {
    font-size: 14px;
  }
}

/* ====================================

[N02]ページ内リンク(パネル)
[N03]ページ外リンク(パネル)

==================================== */
@media only screen and (max-width: 767px) {
  .m-c-anchor--panel,
  .m-c-outside--panel {
    box-shadow: 1px 3px 2px rgba(0,0,0,0.25);
    border-radius: 6px;
  }
}

.m-c-anchor--panel__item,
.m-c-outside--panel__item {
  background-color: #fff;
  border: 2px solid #ededed;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--panel__item,
  .m-c-outside--panel__item {
    margin-bottom: -2px;
  }
  .m-c-anchor--panel__item:first-child,
  .m-c-outside--panel__item:first-child {
    border-radius: 6px 6px 0 0;
  }
  .m-c-anchor--panel__item:last-child,
  .m-c-outside--panel__item:last-child {
    border-radius: 0 0 6px 6px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--panel__item,
  .m-c-outside--panel__item {
    border-radius: 6px;
  }
}

.m-c-anchor--panel__inner,
.m-c-outside--panel__inner {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 36px 20px 15px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--panel__inner {
    border-radius: 6px;
    padding: 20px 20px 60px;
  }
  .m-c-outside--panel__inner {
    border-radius: 6px;
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--panel__inner,
  .m-c-outside--panel__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
    -webkit-justify-content: space-between;
           -webkit-box-pack: justify;
              -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .m-c-anchor--panel__thumb,
  .m-c-outside--panel__thumb {
    width: 30.7377049%;
  }
  .m-c-anchor--panel__lead,
  .m-c-outside--panel__lead {
    width: 65.1639344%;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-grid-btn--4col-pc.m-c-anchor--panel .m-c-anchor--panel__item .m-c-anchor--panel__inner img {
    width: 178px;
  }
}

.m-c-anchor--panel__ttl,
.m-c-outside--panel__ttl {
  color: #0070cb;
  font-size: 16px;
  font-weight: bold;
  display: block;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--panel__ttl,
  .m-c-outside--panel__ttl {
    margin: 20px 0;
    text-align: center;
  }
}

.m-c-anchor--panel__txt,
.m-c-outside--panel__txt {
  color: #444;
  font-size: 12px;
}

.m-c-anchor--panel__inner:after {
  content: '';
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-size: 80px auto;
  background-position: 0 -33px;
  margin: auto;
  width: 16px;
  height: 16px;
  top: 50%;
  bottom: 50%;
  right: 10px;
  position: absolute;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--panel__inner:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 -56px;
    width: 24px;
    height: 24px;
    top: auto;
    bottom: 20px;
    left: 0;
    right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-outside--panel__inner:after {
    content: '';
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-repeat: no-repeat;
    background-size: 80px auto;
    background-position: 0 0;
    margin: auto;
    width: 8px;
    height: 12px;
    top: 50%;
    bottom: 50%;
    right: 10px;
    position: absolute;
  }
}

/* ====================================

[N04]ページ内リンク(パネル)アイコン有
[N05]ページ外リンク(パネル)アイコン無
[N06]ページ外リンク(リスト)

==================================== */
.m-c-anchor--shimple {
  margin: 60px 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple {
    margin: 100px auto 80px;
  }
}

.m-c-anchor--shimple__head {
  color: #0070cb;
  font-size: 18px;
  font-weight: bold;
  line-height: 130%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--shimple__head {
    border-bottom: solid 3px;
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple__head {
    font-size: 30px;
  }
  .m-c-anchor--shimple__head span {
    border-bottom: solid 3px;
    display: inline-block;
    margin-bottom: 40px;
    padding: 0 18px 10px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple__list,
  .m-c-outside--shimple__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-anchor--shimple__item,
  .m-c-outside--shimple__item {
    margin-bottom: 40px;
  }
  .m-c-anchor--shimple__item:last-child,
  .m-c-outside--shimple__item:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple__item + .m-c-anchor--shimple__item,
  .m-c-outside--shimple__item + .m-c-outside--shimple__item {
    margin-left: 48px;
  }
}

.m-c-anchor--shimple__inner,
.m-c-outside--shimple__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
   -ms-flex-align: center;
      align-items: center;
}
.m-c-anchor--shimple__inner {
  color: #0070cb;
  font-size: 22px;
  font-weight: bold;
  position: relative;
}
.m-c-outside--shimple__inner {
  color: #000;
  font-size: 22px;
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--shimple__inner,
  .m-c-outside--shimple__inner {
    padding-right: 10px;
  }
  .m-c-anchor--shimple__inner img {
    width: 30px;
    height: 30px;
    margin-right: 20px;
    margin-left: 10px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple__inner,
  .m-c-outside--shimple__inner {
    padding-right: 30px;
    text-align: center;
  }
  .m-c-anchor--shimple__inner img {
    width: 41px;
    height: 41px;
    margin-right: 16px;
  }
}

.m-c-anchor--shimple__inner:after {
  content: "";
  display: inline-block;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: 0 0;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 12px;
  transform: rotate(90deg);
  vertical-align: middle;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  position: absolute;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--shimple__inner:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 125px auto;
    right: 3px;
    width: 8px;
    min-width: 8px;
    max-width: 8px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
  }
}

.m-c-outside--shimple__inner:after {
  content: "";
  display: inline-block;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: 0 0;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  vertical-align: middle;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  position: absolute;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-outside--shimple__inner:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 125px auto;
    width: 8px;
    min-width: 8px;
    max-width: 8px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
  }
}
/* N04_2 ---------------*/
.m-grid-anchor--panel .m-c-anchor--shimple__inner:after{
  right: 0;
  left: 0;
}
.m-grid-anchor--panel .m-c-anchor--shimple__inner{
  padding-right: 0;
  display: block;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit__box.m-grid-anchor--panel{
    width: 780px;
    margin: 100px auto 0;
  }
  .m-grid-anchor--panel .m-grid-btn--4col-pc > .m-grid__col{
    width: 180px;
  }
  .m-grid-anchor--panel .m-c-anchor--panel__item{
    padding: 13px 0;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner{
    font-size: 14px;
    padding: 36px 0 23px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner:after{
    top: 72px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner:before{
    content: "";
    background-image: url(/_common/s19_icon_sprit_pc.png);
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 0px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_book:before{
    width: 30px;
    max-width: 30px;
    min-width: 30px;
    height: 25px;
    max-height: 25px;
    min-height: 25px;
    background-position: 0 -921px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_hat:before{
    width: 33px;
    max-width: 33px;
    min-width: 33px;
    height: 24px;
    max-height: 24px;
    min-height: 24px;
    background-position: -39px -922px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_pencil:before{
    width: 35px;
    max-width: 35px;
    min-width: 35px;
    height: 24px;
    max-height: 24px;
    min-height: 24px;
    background-position: -82px -922px
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_wallet:before{
    width: 21px;
    max-width: 21px;
    min-width: 21px;
    height: 24px;
    max-height: 24px;
    min-height: 24px;
    background-position: -127px -922px;
  }
}
@media only screen and (max-width: 767px){
  .m-unit__box.m-grid-anchor--panel{
    margin: 60px 0 0;
  }
  .m-grid-anchor--panel .m-c-anchor--panel__item{
    padding: 10px 0;
    border-radius: 6px 6px 6px 6px;
  }
  .m-grid-anchor--panel .m-c-anchor--panel__item:first-child,
  .m-grid-anchor--panel .m-c-anchor--panel__item:nth-child(2){
    margin-bottom: 15px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner{
    font-size: 12px;
    padding: 28px 0 23px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner:after{
    top: 60px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner:before{
    content: "";
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 80px auto;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 0px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_book:before{
    width: 23px;
    max-width: 23px;
    min-width: 23px;
    height: 21px;
    max-height: 21px;
    min-height: 21px;
    background-position: 0px -616px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_hat:before{
    width: 27px;
    max-width: 27px;
    min-width: 27px;
    height: 20px;
    max-height: 20px;
    min-height: 20px;
    background-position: -28px -617px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_pencil:before{
    width: 26px;
    max-width: 26px;
    min-width: 26px;
    height: 18px;
    max-height: 18px;
    min-height: 18px;
    background-position: 0px -642px;
  }
  .m-grid-anchor--panel .m-c-anchor--shimple__inner.m-c-anchor--icn_wallet:before{
    width: 20px;
    max-width: 20px;
    min-width: 20px;
    height: 22px;
    max-height: 22px;
    min-height: 22px;
    background-position: -31px -642px;
  }
}

/* ====================================

[N07]ページ内リンク アイコン有

==================================== */
.m-c-anchor--icn__item {
  background-color: #fff;
  border: 2px solid #ededed;
  border-radius: 6px;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--icn__item {
    margin-bottom: 15px;
  }
}
.m-c-anchor--icn__item a {
  display: inline-block;
  padding: 10px 0;
  position: relative;
  width: 100%;
  height: 100%;
}
.m-c-anchor--icn__thumb {
  display: block;
  margin: 0 auto 10px;
  width: 21px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--icn__thumb {
    width: 30px;
  }
}
.m-c-anchor--icn__lead {
  color: #0070cb;
  font-weight: bold;
  line-height: 130%;
  margin-bottom: 20px;
  text-align: center;
}
.m-c-anchor--icn__lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}
@media only screen and (max-width: 767px) {
  .m-c-anchor--icn__lead {
    font-size: 12px;
    min-height: 33.54%;
  }
}
.m-c-anchor--icn__inner:after {
  content: '';
  position: absolute;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-size: 80px auto;
  background-position: 0 0;
  transform: rotate(90deg);
  margin: auto;
  width: 8px;
  height: 12px;
  top: auto;
  bottom: 10px;
  left: 0;
  right: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-c-anchor--icn__inner:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 125px auto;
    width: 8px;
    height: 14px;
    top: auto;
    bottom: 10px;
    left: 0;
    right: 0;
  }
}

/* -------------------------------------------------------
  Header
   
  ヘッダー関連
   
*/
/* ====================================

Header

==================================== */
/* hanyo1 ---------------*/
@media only screen and (max-width: 767px) {
  .m-header__upper .m-header__bc {
    position: absolute;
    top: 11px;
    left: 15px;
  }
  .m-header__upper .m-header__logo-sp {
    margin: 0 auto !important;
  }
  .m-header__upper .m-header__r {
    position: absolute;
    right: 9px;
  }
}

/* ====================================

GlobalMenu（pc-only）

==================================== */
.m-hnav-bar--simple--top {
  border-top: 1px solid #e6e6e6;
  background-color: #fff;
  position: relative;
  z-index: 1000;
  -webkit-box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
}

.m-hnav-bar--simple--top ul {
  width: 960px;
  height: 49px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.m-gnav__kou a {
  display: block;
  width: 320px;
  height: 49px;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
}

/* 3line ---------------*/
.m-gnav__kou.m-gnav--3line a {
  background-image: url(https://kou.benesse.co.jp/_share16/pc/img/hnav.png);
  background-position: 0 0;
  width: 320px;
}
.m-gnav__kou.m-gnav--3line__4m a {
  background-image: url(/_common/200227_hnav_3line_4m.png);
  background-position: 0 0;
  width: 320px;
}
.m-gnav__kou.m-gnav--3line a:hover,
.m-gnav__kou.m-gnav--3line__4m a:hover {
  background-position: 0 -49px;
}
.m-gnav__kou.m-gnav--3line li:nth-child(2) a,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(2) a {
  background-position: -320px 0;
}
.m-gnav__kou.m-gnav--3line li:nth-child(2) a:hover,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(2) a:hover {
  background-position: -320px -49px;
}
.m-gnav__kou.m-gnav--3line li:nth-child(3) a,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(3) a {
  background-position: -640px 0;
}
.m-gnav__kou.m-gnav--3line li:nth-child(3) a:hover,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(3) a:hover {
  background-position: -640px -49px;
}
.m-gnav__kou.m-gnav--3line li:nth-child(4) a,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(4) a {
  background-position: -720px 0;
}
.m-gnav__kou.m-gnav--3line li:nth-child(4) a:hover,
.m-gnav__kou.m-gnav--3line__4m li:nth-child(4) a:hover {
  background-position: -720px -49px;
}

/* 4line(chu3,4m) ---------------*/
.m-gnav__kou.m-gnav--4line__chu3 a {
  background-image: url(/_common/s19_hnav_4line_chu3.png);
  background-position: 0 0;
  width: 240px;
}
.m-gnav__kou.m-gnav--4line__4m a {
  background-image: url(/_common/200214_hnav_4line_4m.png);
  background-position: 0 0;
  width: 240px;
}
.m-gnav__kou.m-gnav--4line__chu3 a:hover,
.m-gnav__kou.m-gnav--4line__4m a:hover {
  background-position: 0 -49px;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(2) a,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(2) a {
  background-position: -240px 0;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(2) a:hover,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(2) a:hover {
  background-position: -240px -49px;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(3) a,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(3) a {
  background-position: -480px 0;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(3) a:hover,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(3) a:hover {
  background-position: -480px -49px;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(4) a,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(4) a {
  background-position: -720px 0;
}
.m-gnav__kou.m-gnav--4line__chu3 li:nth-child(4) a:hover,
.m-gnav__kou.m-gnav--4line__4m li:nth-child(4) a:hover {
  background-position: -720px -49px;
}

/* ====================================

FvMenu（sp-only）

==================================== */
.m-header--line__gmenu {
  border-collapse: separate;
  display: table;
  table-layout: fixed;
  width: 100%;
  box-shadow: 0px 2px 5.88px 0.12px rgba(4, 0, 0, 0.2);
}

.m-header--line__gmenu li {
  display: table-cell;
  vertical-align: middle;
}

.m-header--line__gmenu li {
  background-color: #fff;
  border-left: 1px solid #e2e2e2;
  font-size: 10.5px;
  padding: 10px 0;
  text-align: center;
  background-image: -moz-linear-gradient( 90deg, rgb(239,239,239) 0%, rgba(255,255,255,0) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(239,239,239) 0%, rgba(255,255,255,0) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(239,239,239) 0%, rgba(255,255,255,0) 100%);
}
.m-header--line__gmenu li:first-child {
  border-left: none;
}
.m-header--line__gmenu li.m-header--line__gmenu--app {
  background-color: #ff4455;
  background-image: none;
  font-size: 12px;
}

.m-header--line__gmenu li a {
  color: #000;
}
.m-header--line__gmenu li.m-header--line__gmenu--app a {
  color: #fff;
}

/* 打ち消し ---------------*/
.m-header__gmenu > ul.m-header--line__gmenu > li {
  float: none;
  width: 100%;
}
.m-header__gmenu > ul.m-header--line__gmenu > li:nth-child(2) {
  background-color: #fff;
}
.m-header__gmenu > ul.m-header--line__gmenu > li > a {
  border-left: none;
  display: inline-block;
  max-height: 100%;
  overflow: visible;
}
.m-header__gmenu > ul.m-header--line__gmenu > li > a:after {
  content: "";
}

/* ====================================

FixedBtn（pc-only）

==================================== */
.m-fixed-btn {
  width: 149px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .m-fixed-btn {
    display: none;
  }
}

.m-fixed-btn__item {
  background-color: #f3f3f3;
  border: 2px solid #fff;
  border-right: none;
  border-radius: 8px 0 0 8px;
  margin-bottom: 5px;
  width: 149px;
  height: 61px;
}
.m-fixed-btn__item:last-child {
  margin-bottom: 0;
}

.m-fixed-btn__item a {
  color: #0070cb;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  width: 149px;
  height: 57px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

.m-fixed-btn__item.m-fixed-btn__app {
  background-color: #ff4455;
}
.m-fixed-btn__item.m-fixed-btn__app a {
  color: #fff;
}
.m-fixed-btn__item.m-fixed-btn__shiryo {
  background-color: #cceeff;
}
.m-fixed-btn__item.m-fixed-btn__app a {
  font-size: 14px;
}

/* -------------------------------------------------------
  Review
   
  体験談
   
*/
/* ====================================

[CL01]合格体験談(通常配置)
[CL02]教材体験談(通常配置)
[CL03]教材体験談Ver2(通常配置)

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-p-taiken {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
    -webkit-justify-content: space-between;
           -webkit-box-pack: justify;
              -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .m-p-taiken__thumb {
    width: 302px;
    position: relative;
  }
  .m-p-taiken__thumb:after {
    content: "";
    position: absolute;
    top: 32px;
    right: -13px;
    width: 0;
    height: 0;
    border-top: solid 12px #eb4681;
    border-left: solid 7px transparent;
    border-right: solid 7px transparent;
    transform: rotate(-90deg);
  }
  .m-p-taiken--kyozai .m-p-taiken__thumb:after {
    border-top: solid 12px #0070cb;
  }
}

.m-p-taiken__desc {
  border: 2px solid #f3f3f3;
  padding: 20px 15px;
}
@media only screen and (max-width: 767px) {
  .m-p-taiken__desc {
    border-top: none;
    border-radius: 0 0 6px 6px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-taiken__desc {
    width: 658px;
    min-height: 164px;
    border: 2px solid #f3f3f3;
    border-radius: 0 8px 8px 0;
    border-left: none;
    padding: 30px 30px 0;
  }
}

.m-p-taiken__desc--ttl {
  color: #eb4681;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-taiken__desc--ttl {
    font-size: 18px;
  }
}

.m-p-taiken--kyozai .m-p-taiken__desc--ttl {
  color: #0070cb;
}

.m-p-taiken__desc--txt {
  margin-top: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-taiken__desc--txt {
    font-size: 16px;
    margin-top: 10px;
  }
}

.m-p-taiken--kyozai_v2{
  background-color: #f7f7f7;
}
.m-p-taiken--kyozai_v2_inner{
  padding: 15px 15px 30px;
}
@media only screen and (max-width: 767px){
  .m-p-taiken--kyozai_v2_member{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px;
  }
  .m-p-taiken--kyozai_v2_member_img{
    width: 25%;
    margin-right: 5.7%;
  }
  .m-p-taiken_v2__desc--ttl{
    font-size: 16px;
    width: 69.3%;
    font-weight: bold;
  }
  .m-p-taiken_v2__desc--info{
    font-size: 10px;
    margin-bottom: 30px;
  }
  .m-p-taiken_v2__desc--txt{
    font-size: 14px;
  }
}
@media only screen and (min-width: 768px), print, tv{
  .m-p-taiken--kyozai_v2_inner{
    padding: 20px 20px 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .m-p-taiken--kyozai_v2_member{
    width: 70px;
    margin-right: 20px;
  }
  .m-p-taiken--kyozai_v2_member_img{
    margin-bottom: 10px;
  }
  .m-p-taiken--kyozai_v2_txt_content{
    width: 870px;
  }
  .m-p-taiken_v2__desc--ttl{
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 20px;
  }
  .m-p-taiken_v2__desc--info{
    font-size: 10px;
  }
  .m-p-taiken_v2__desc--txt{
    font-size: 16px;
  }
}
/* CL03_教材体験談Ver3（ストーリー） ---------------*/
.m-p-taiken--story__desc--ttl{
  font-weight: bold;
}
.m-p-taiken--story_season_item{
  background-color: #f9f7f4;
}
.m-p-taiken--story_season_head{
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
}
.m-p-taiken--story_season_badge{
  text-align: center;
}
.m-p-taiken--story_season_badge_year{
  background-color: #444;
  color: #fff;
}
.m-p-taiken--story_season_badge_season{
  background-color: #fff;
  border: 1px solid #444;
}
.m-p-taiken--story_season_ttl{
  text-align: center;
  color: #0070cb;
  font-weight: bold;
}
@media only screen and (min-width: 768px), print, tv{
  .m-p-taiken--story{
    margin-bottom: 40px;
  }
  .m-p-taiken--story_inner{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .m-p-taiken--story_member_img{
    margin-right: 40px;
  }
  .m-p-taiken--story_member_img img{
    width: 193px;
  }
  .m-p-taiken--story__desc--ttl{
    font-size: 28px;
    margin-bottom: 30px;
  }
  .m-p-taiken--story__desc--info{
    font-size: 16px;
  }
  .m-p-taiken--story_season .m-p-taiken--story_season_item{
    margin-bottom: 20px;
  }
  .m-p-taiken--story_season .m-p-taiken--story_season_item:last-child{
    margin-bottom: 0;
  }
  .m-p-taiken--story_season_inner{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 30px;
  }
  .m-p-taiken--story_season_txt{
    width: 665px;
    margin-right: 45px;
  }
  .m-p-taiken--story_season_img{
    width: 190px;
  }
  .m-p-taiken--story_season_head{
    margin-bottom: 20px;
  }
  .m-p-taiken--story_season_badge{
    width: 90px;
    font-size: 16px;
  }
  .m-p-taiken--story_season_badge_year{
    padding: 10px 0;
  }
  .m-p-taiken--story_season_badge_season{
    padding: 10px 0;
  }
  .m-p-taiken--story_season_ttl{
    width: 575px;
    font-size: 24px;
  }
  .m-p-taiken--story_season_content{
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px){
  .m-p-taiken--story{
    margin-bottom: 20px;
  }
  .m-p-taiken--story_member_img{
    text-align: center;
    width: 48.10%;
    margin: 0 auto 20px;
  }
  .m-p-taiken--story__desc--ttl{
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
  }
  .m-p-taiken--story__desc--info{
    font-size: 14px;
  }
  .m-p-taiken--story_season .m-p-taiken--story_season_item{
    margin-bottom: 10px;
  }
  .m-p-taiken--story_season .m-p-taiken--story_season_item:last-child{
    margin-bottom: 0;
  }
  .m-p-taiken--story_season_inner{
    padding: 15px 10px;
  }
  .m-p-taiken--story_season_head{
    margin-bottom: 15px;
  }
  .m-p-taiken--story_season_badge{
    width: 22.07%;
    font-size: 12px;
    margin-right: 3.45%;
  }
  .m-p-taiken--story_season_badge_year{
    padding: 2px 0;
  }
  .m-p-taiken--story_season_badge_season{
    padding: 6px 0;
  }
  .m-p-taiken--story_season_ttl{
    width: 73.85%;
    font-size: 12px;
  }
  .m-p-taiken--story_season_content{
    font-size: 12px;
    margin-bottom: 18px;
  }
  .m-p-taiken--story_season_img{
    width: 65.34%;
    margin: 0 auto;
  }
}
/* -------------------------------------------------------
  Carousel
   
  カルーセル
   
*/
/* ====================================

[CL05]カルーセル

==================================== */
/* slick-initializedが付与されたら表示 ---------------*/
.js-slider--3col {
  display: none;
}
.js-slider--3col.slick-initialized {
  display: block;
}
@media only screen and (max-width: 767px) {
  .js-slider--sp {
    display: none;
  }
  .js-slider--sp.slick-initialized {
    display: block;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-slider {
    width: 960px;
    margin: 0 auto;
  }
  .m-unit__box--section .m-slider {
    width: 880px;
  }
}

/* m-slider--3col ---------------*/
.m-slider--3col__item {
  background-color: #fff;
  border: solid 2px #f3f3f3;
  border-radius: 6px;
  box-sizing: border-box;
  margin: 0 7px;
  padding: 20px 14px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--3col__item {
    border-radius: 8px;
    margin: 0 12px;
    padding: 30px;
  }
}

.m-slider--heading {
  color: #000;
  font-size: 18px;
  line-height: 130%;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--heading {
    font-size: 24px;
    margin-bottom: 30px;
  }
}

/* ====================================

slick.js style

==================================== */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  margin:auto;
  height:auto;
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  outline: none;
  height: 100%;
  min-height: 1px;
}
[dir='rtl'] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
  margin:auto;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
  position: relative;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
.slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.slick-slide {
  height: auto;
}

/* slick arrows ---------------*/
.slick-prev {
  left: 5px;
}
.slick-next {
  right: 5px;
}
.slick-prev,
.slick-next {
  position: absolute;
  opacity: .3;
  text-indent: -9999px;
  top: 30%;
  width: 44px;
  height: 44px;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #000;
  border-radius: 50%;
  z-index: 2;
}
@media only screen and (min-width: 768px), print, tv {
  .slick-prev {
    left: -18px;
  }
  .slick-next {
    right: -18px;
  }
  .slick-prev,
  .slick-next {
    width: 56px;
    height: 56px;
  }
}

.slick-prev:before,
.slick-next:before,
.slick-prev:after,
.slick-next:after {
  content: '';
  position: absolute;
  display: inline-block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  vertical-align: middle;
}
.slick-prev:before,
.slick-next:before {
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: 0 -453px;
  width: 10px;
  max-width: 10px;
  min-width: 10px;
  height: 17px;
  max-height: 17px;
  min-height: 17px;
}
.slick-prev:before {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
@media only screen and (min-width: 768px), print, tv {
  .slick-prev:before,
  .slick-next:before {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 -615px;
    width: 13px;
    max-width: 13px;
    min-width: 13px;
    height: 23px;
    max-height: 23px;
    min-height: 23px;
  }
  .slick-prev:before {
    right: 5px;
  }
  .slick-next:before {
    left: 5px;
  }
}

.slick-next.slick-disabled:before {
  background: none;
  content: none;
}
.slick-next.slick-disabled:after {
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: 0 -475px;
  width: 19px;
  max-width: 19px;
  min-width: 19px;
  height: 17px;
  max-height: 17px;
  min-height: 17px;
}
@media only screen and (min-width: 768px), print, tv {
  .slick-next.slick-disabled:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 -648px;
    width: 24px;
    max-width: 24px;
    min-width: 24px;
    height: 23px;
    max-height: 23px;
    min-height: 23px;
    right: 2px;
  }
}

.slick-prev.slick-disabled {
  display: none !important;
}
.slick-prev:hover,
.slick-next:hover {
  opacity: 1;
}

/* slick dots ---------------*/
.m-slider--dots {
  margin-top: 30px;
  padding: 0 15px;
  text-align: center;
}

.m-slider--dots > li {
  display: inline-block;
}
.m-slider--dots .slick-active button {
  background-color: #0070cb;
}
.m-slider--dots > li > button {
  background-color: #ccc;
  border-radius: 50%;
  color: transparent;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  width: 16px;
  height: 16px;
}
.m-slider--dots > li:not(:last-child) {
  margin-right: 10px;
}
.m-slider--dots > li:first-child:last-child {
  display: none;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--dots .slick-active button {
    background-color: #666;
  }
  .m-slider--dots > li > button {
    background-color: #d8d9d4;
    width: 12px;
    height: 12px;
  }
  .m-slider--dots > li:not(:last-child) {
    margin-right: 22px;
  }
}

/* ====================================

[CL03]合格体験談カルーセル

==================================== */
.m-slider--taiken__item {
  margin: 0 7px;
  padding: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--taiken__item {
    margin: 0 12px;
    background-color: #fff;
    border: solid 2px #f3f3f3;
    border-radius: 8px;
    box-sizing: border-box;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-slider--taiken__inner {
    padding: 0 28px 30px;
  }
}

.m-slider--taiken__thumb {
  margin-bottom: 20px;
}

.m-slider--taiken__ttl {
  color: #eb4681;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--taiken__ttl {
    font-size: 18px;
  }
}

/* 3col ---------------*/
.m-slider--3col__item .m-slider--taiken__thumb {
  margin: -20px -14px 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--3col__item .m-slider--taiken__thumb {
    margin: -30px -30px 20px;
  }
  .m-slider--3col__item .m-slider--taiken__inner {
    padding: 0;
  }
}

/* ====================================

[CL04]教材体験談カルーセル

==================================== */
.m-slider--taiken-kyozai .m-slider--taiken__ttl {
  color: #0070cb;
}

/* ====================================

[CL25]カルーセル(ジャンプ見出し)

==================================== */
.m-slider--heading--sharp {
  color: #0070cb;
  font-size: 26px;
  font-weight: bold;
  line-height: 130%;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--heading--sharp {
    font-size: 28px;
    margin-bottom: 30px;
  }
}

.m-slider--heading--sharp__sub {
  color: #000;
  display: block;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--heading--sharp__sub {
    font-size: 14px;
  }
}

/* ====================================

[CL06]バナーカルーセル

==================================== */
.m-slider--3col-bnr__item {
  background-color: #fff;
  border: solid 2px #f3f3f3;
  border-radius: 6px;
  box-sizing: border-box;
  margin: 0 5px;
}
.m-slider--3col-bnr__item a {
  display: block;
  padding: 20px 15px;
  position: relative;
}
.m-slider--3col-bnr__item a:after {
  content: "";
  display: inline-block;
  top: 50%;
  bottom: 50%;
  right: 15px;
  position: absolute;
  vertical-align: middle;
}
.m-slider--3col-bnr__item a:after {
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  background-position: 0 0;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--3col-bnr__item {
    border-radius: 8px;
    margin: 0 6px;
  }
  .m-slider--3col-bnr__item a {
    padding: 24px 20px;
  }
  .m-slider--3col-bnr__item a:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 0;
    right: 20px;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
  }
}

.m-slider--3col-bnr__heading {
  color: #0070cb;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--3col-bnr__heading {
    margin-bottom: 16px;
  }
}

.m-slider--3col-bnr__flexbox {
  padding-right: 17px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
       -webkit-box-pack: justify;
          -ms-flex-pack: justify;
        justify-content: space-between;
}
.m-slider--3col-bnr__thumb {
  width: 34.2465753%;
}
.m-slider--3col-bnr__lead {
  color: #444;
  width: 61.1872146%;
}
@media only screen and (min-width: 768px), print, tv {
  .m-slider--3col-bnr__flexbox {
    padding-right: 25px;
  }
  .m-slider--3col-bnr__thumb {
    width: 90px;
  }
  .m-slider--3col-bnr__lead {
    width: 137px;
  }
}

/* ====================================

[CLXX]カルーセル_sp-only

==================================== */
@media only screen and (max-width: 767px) {
  .js-slider--sp .slick-prev {
    left: 0;
  }
  .js-slider--sp .slick-next {
    right: 0;
  }
  .js-slider--sp .slick-prev,
  .js-slider--sp .slick-next {
    position: absolute;
    opacity: .3;
    text-indent: -9999px;
    top: 30%;
    width: 30px;
    height: 44px;
    padding: 0;
    vertical-align: middle;
    cursor: pointer;
    background-color: #000;
    border-radius: 0;
    z-index: 2;
  }
}
@media only screen and (max-width: 767px) {
  .m-slider--sp__item {
    background-color: #fff;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 30px 15px;
  }
}

/* ====================================

[CLXX]カルーセル_thumb

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .js-slider--thumb.m-slider {
    width: 460px;
    margin: 0 auto;
  }
  .m-unit__section-c .m-unit__box--section .js-slider--thumb.m-slider {
    width: 422px;
    margin: 0 auto;
  }
}

.js-slider--thumb .slick-prev {
  left: -15px;
}
.js-slider--thumb .slick-next {
  right: -15px;
}
.js-slider--thumb .slick-prev,
.js-slider--thumb .slick-next {
  position: absolute;
  opacity: .3;
  text-indent: -9999px;
  top: 30%;
  width: 30px;
  height: 44px;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
  background-color: #000;
  border-radius: 0;
  z-index: 2;
}
@media only screen and (min-width: 768px), print, tv {
  .js-slider--thumb .slick-prev,
  .js-slider--thumb .slick-next {
    top: 50%;
    margin-top: -60px;
  }
  .js-slider--thumb .slick-prev:before,
  .js-slider--thumb .slick-next:before {
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 135px auto;
    background-position: -42px 0;
    width: 13px;
    max-width: 13px;
    min-width: 13px;
    height: 20px;
    max-height: 20px;
    min-height: 20px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .js-slider--thumb .slick-next.slick-disabled:after {
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 80px auto;
    background-position: 0 -475px;
    width: 19px;
    max-width: 19px;
    min-width: 19px;
    height: 17px;
    max-height: 17px;
    min-height: 17px;
    right: 2px;
  }
}

.js-slider--thumb .m-slider--dots {
  margin: 30px 0;
}
@media only screen and (min-width: 768px), print, tv {
  .js-slider--thumb .m-slider--dots > li > button {
    background-color: #ccc;
  }
  .js-slider--thumb .m-slider--dots .slick-active button {
    background-color: #0070cb;
  }
}

/* ====================================

[CL12]教材サマリ

==================================== */

/* -------------------------------------------------------
  Conversion
   
  CVエリア関連
   
*/
/* ====================================

[CV05]CVエリア(ロゴ入り／ページ上部／白背景)
[CV06]CVエリア(ロゴ入り／ページ上部／青背景)

==================================== */
.m-cvn-balloon {
  margin-bottom: 24px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-balloon {
    margin-bottom: 20px;
  }
}

.m-cvn-balloon__inner {
  background-color: #fff;
  border: 2px solid #d2d2d2;
  border-radius: 8px;
  color: #0070cb;
  display: inline-block;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-balloon__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.m-cvn-balloon__inner:before,
.m-cvn-balloon__inner:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  border: solid transparent;
  border-width: 16px 8px;
  border-top-style: none;
  transform: rotate(180deg);
}
.m-cvn-balloon__inner:before {
  bottom: -16px;
  border-bottom-color: #d2d2d2;
}
.m-cvn-balloon__inner:after {
  bottom: -12px;
  border-bottom-color: #fff;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-balloon__inner:before,
  .m-cvn-balloon__inner:after {
    left: 115px;
    right: auto;
  }
}

/* ====================================

[CV01]CVエリア(ページ上部/白背景)

==================================== */
.m-cvn {
  margin-top: 30px;
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn {
    margin-top: 40px;
    margin-bottom: 80px;
  }
}

.m-cvn__inner {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--info {
    margin: 0;
    width: 524px;
  }
  .m-cvn-blk--info .m-cvn-blk--data__ttl {
    width: 250px;
  }
}

.m-cvn-blk--data {
  color: #0070cb;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .m-cvn-blk--data {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--data + .m-cvn-blk--data {
    margin-left: 24px;
  }
}

.m-cvn-blk--data__ttl {
  background-color: #cceeff;
  border-radius: 9999px;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 5px 18px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--data__ttl {
    margin-bottom: 16px;
  }
}

.m-cvn--em__num {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 15px;
}
.m-cvn--em__num small {
  font-size: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--em__num {
    margin-bottom: 20px;
  }
}

.m-cvn-notice {
  color: #0070cb;
  text-align: left;
}
.m-cvn-notice--point {
  background-color: #e6e6e6;
  font-weight: bold;
  margin-bottom: 5px;
  padding: 8px 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-notice--point {
    display: inline-block;
  }
}

.m-cvn-blk--cv {
  color: #0070cb;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--cv {
    margin-left: 36px;
    width: 360px;
  }
}
.m-cvn-blk--cv__lead {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
.m-cvn-blk--cv__btn a {
  background-color: #ff4455;
  border-radius: 8px;
  box-shadow: 0 3px rgba(0,0,0,0.3);
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: 22px;
  font-weight: bold;
  padding: 18px 54px;
}
.m-cvn-blk--cv__link {
  margin-top: 20px;
  margin-bottom: 30px;
  text-align: left;
}

.m-cvn-flexbox--link {
  padding-left: 10px;
  padding-right: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-flexbox--link {
    padding-left: 20px;
    padding-right: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
         -webkit-box-pack: justify;
            -ms-flex-pack: justify;
          justify-content: space-between;
  }
}

@media only screen and (max-width: 767px) {
  .m-cvn--link {
    height: 25px;
    margin-bottom: 30px;
  }
  .m-cvn--link:last-child {
    margin-bottom: 0;
  }
}

.m-cvn--link a {
  color: #808080;
  font-weight: bold;
  position: relative;
}
.m-cvn--link a {
  display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--link a {
    padding-left: 0;
    padding-right: 33px;
  }
}

.m-cvn--link a:after {
  content: "";
  display: inline-block;
  top: 5px;
  bottom: 0;
  right: 0;
  position: absolute;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .m-cvn--link a:after {
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 80px auto;
    background-position: -50px 0;
    width: 8px;
    min-width: 8px;
    max-width: 8px;
    height: 12px;
    min-height: 12px;
    max-height: 12px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--link a:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 120px auto;
    background-position: -60px 0;
    top: 7px;
    width: 7px;
    min-width: 7px;
    max-width: 7px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
  }
}

.m-cvn--link svg {
  width: 25px;
  height: 25px;
  margin-right: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--link svg {
    width: 30px;
    height: 30px;
    margin-right: 16px;
  }
}

/* ====================================

[CV02]CVエリア(ページ下部/青背景)

==================================== */
.m-cvn.m-cvn--blue {
  padding-top: 30px;
  padding-bottom: 60px;
  margin-top: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn.m-cvn--blue {
    margin-bottom: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.m-cvn--blue .m-cvn-balloon__inner,
.m-cvn--blue .m-cvn-blk--inform__inner {
  border: 2px solid #fff;
}
.m-cvn--blue .m-cvn-balloon__inner:before {
  border-bottom-color: #fff;
}

.m-cvn--blue .m-cvn--em__num, 
.m-cvn--blue .m-notice,
.m-cvn--blue .m-cvn-blk--cv__lead,
.m-cvn--blue .m-cvn--link a,
.m-cvn--blue .m-link,
.m-cvn--blue .m-link--s {
  color: #fff;
}
.m-cvn--blue .m-cvn-notice--point {
  color: #0070cb;
}

.m-cvn--blue svg path {
  fill: #fff;
}

.m-cvn--blue .m-link:before,
.m-cvn--blue .m-link--s:before {
  background-position: -23px -17px;
}
.m-cvn--blue .m-link--modal:after {
  background-position: -17px -72px;
}
.m-cvn--blue .m-link--window:after {
  background-position: -18px -54px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--blue .m-link:before,
  .m-cvn--blue .m-link--s:before {
    background-position: -28px -19px;
  }
  .m-cvn--blue .m-link--modal:after {
    background-position: -26px -116px;
  }
  .m-cvn--blue .m-link--window:after {
    background-position: -26px -90px;
  }
}

.m-cvn--blue .m-cvn--link a:after {
  background-position: -25px 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--blue .m-cvn--link a:after {
    background-position: -30px 0;
  }
}

/* ====================================

[CV03]CVエリア(告知エリアセット/ページ上部/白背景)
[CV04]CVエリア(告知エリアセット/ページ下部/青背景)

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--inform .m-cvn__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.m-cvn-blk--inform {
  color: #0070cb;
  text-align: center;
}

.m-cvn-blk--inform__inner {
  background-color: #fff;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  padding: 20px 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--inform__inner {
    padding: 18px 78px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--kyozai {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
           -webkit-box-pack: justify;
              -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.m-cvn-blk--copy {
  color: #444;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--copy {
    font-size: 20px;
  }
}

.m-cvn-blk--thumb {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--thumb {
    width: 181px;
  }
}

.m-cvn-blk--kyozai .m-link {
  color: #0070cb;
}
.m-cvn-blk--kyozai .m-link--modal:after {
  background-position: 0 -72px;
}
@media only screen and (max-width: 767px) {
  .m-cvn-blk--kyozai .m-cvn-blk--data {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--kyozai .m-link--modal:after {
    background-position: 0 -116px;
  }
  .m-cvn-blk--kyozai .m-cvn-blk--data {
    width: 189px;
    margin-left: 30px;
  }
}

.m-cvn-blk--data__ttl-sub {
  color: #444;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--data__ttl-sub {
    font-size: 16px;
    margin-bottom: 10px;
    text-align: left;
  }
}

.m-cvn-blk--data__link {
  margin-top: 15px;
}
.m-cvn-blk--data__link .m-link:before {
  background-position: 0 -17px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--data__link {
    margin-top: 5px;
    margin-bottom: 18px;
  }
  .m-cvn-blk--data__link .m-link {
    font-size: 12px;
    padding-left: 16px;
  }
  .m-cvn-blk--data__link .m-link:before {
    background-size: 90px auto;
    background-position: 0 -16px;
    width: 6px;
    min-width: 6px;
    max-width: 6px;
    height: 11px;
    min-height: 11px;
    max-height: 11px;
    margin-top: -6px;
  }
}

@media only screen and (max-width: 767px) {
  .m-cvn-blk--info__data {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--info__data,
  .m-cvn-blk--info__data .m-cvn-notice .m-notice {
    width: 360px;
  }
  .m-cvn-blk--info__data .m-cvn-blk--cv {
    margin-left: 0; 
  }
  .m-cvn-blk--info__data .m-cvn-notice .m-notice {
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: 30px;
    padding-left: 0;
  }
}

.m-cvn--inform .m-cvn-blk--kyozai .m-cvn--em__num {
  color: #0070cb;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--inform .m-cvn-blk--data__ttl {
    margin-bottom: 17px;
  }
  .m-cvn--inform .m-cvn-flexbox--link {
    margin-top: 20px;
  }
}

/* ====================================

[CV09]CVエリア(ページ途中用／ボタンのみ／水色背景)

==================================== */
.m-cvn.m-cvn--sky-blue {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-top: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn.m-cvn--sky-blue {
    margin-bottom: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* ====================================

[CVXX]CVエリア(電話受注用/ページ上部/白背景)

==================================== */
.m-cvn-blk--tel__ttl {
  color: #0070cb;
  font-size: 18px;
  font-weight: bold;
}
.m-cvn-blk--tel,
.m-cvn-blk--telbox {
  margin-bottom: 15px;
}
.m-cvn-blk--telbox__notice {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .m-cvn-blk--tel__thumb {
    margin-bottom: 18px;
  }
  .m-cvn-blk--tel__ttl {
    text-align: center;
    margin-bottom: 15px;
  }
  .m-cvn-blk--tel {
    border: 2px solid #e5e5e5;
    border-radius: 3px;
    padding: 30px 15px;
  }
  .m-cvn-blk--tel__btn {
    background-color: #0070cb;
    color: #fff;
    border-radius: 8px;
    box-shadow: 0 3px rgba(0,0,0,0.3);
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    font-size: 13px;
    font-weight: bold;
    padding: 16px 26px;
    position: relative;
    text-align: center;
  }
  .m-cvn-blk--telbox__img {
    width: 82.42%;
    margin: 0 auto 10px;
  }
  .m-cvn-blk--telbox__notice {
    text-align: center;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn-blk--tel,
  .m-cvn-blk--telbox {
    margin-bottom: 10px;
  }
  .m-cvn-blk--tel__ttl {
    margin-bottom: 10px;
  }
  .m-cvn-blk--tel__thumb {
    width: 228px;
  }
  .m-cvn-blk--tel__balloon {
    border: 2px solid #e5e5e5;
    border-radius: 6px;
    padding: 20px;
    position: relative;
    width: 673px;
  }
  .m-cvn-blk--tel__balloon:before,
  .m-cvn-blk--tel__balloon:after {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    margin: 0 auto;
    width: 0;
    border: solid transparent;
    border-width: 16px 8px;
    border-top-style: none;
    transform: rotate(-90deg);
  }
  .m-cvn-blk--tel__balloon:before {
    left: -16px;
    border-bottom-color: #e5e5e5;
  }
  .m-cvn-blk--tel__balloon:after {
    left: -12px;
    border-bottom-color: #fff;
  }
  .m-cvn-blk--telbox__img {
    width: 300px;
  }
  .m-cvn-blk--telbox__notice {
    background-color: #f3f3f3;
    border-radius: 6px;
    margin-left: 20px;
    padding: 8px 15px;
  }
}

/* ====================================

[CV16]CVエリア(電話受注／白背景／CV画像なし)

==================================== */
.m-cvn--tel .m-cvn-blk--data__ttl {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .m-cvn--tel .m-cvn-blk--data {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-cvn--tel .m-cvn__inner {
    padding-left: 0;
    padding-right: 0;
  }
  .m-cvn--tel .m-cvn-blk--tel {
    margin-bottom: 0;
  }
  .m-cvn--tel .m-cvn-blk--data {
    width: 250px;
  }
  .m-cvn--tel .m-cvn-blk--tel__balloon {
    width: 680px;
  }
  .m-cvn--tel .m-cvn-blk--tel__balloon:before,
  .m-cvn--tel .m-cvn-blk--tel__balloon:after {
    content: none;
  }
}

/* -------------------------------------------------------
  Jisseki
   
  合格実績エリア
   
*/
/* ====================================

[CL11]合格実績エリア

==================================== */
.m-pass--simple {
  background-color: #fff2f6;
  padding: 35px 15px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple {
    padding: 60px 0;
  }
}
/* ttl ---------------*/
.m-pass--simple__ttl {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__ttl {
    margin-bottom: 20px;
  }
}

.m-pass--simple__ttl-main {
  color: #eb4681;
  font-size: 24px;
  line-height: 130%;
  margin-bottom: 25px;
}
.m-pass--simple__ttl-main span {
  color: #000;
  font-size: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__ttl-main {
    font-size: 40px;
    margin-bottom: 40px;
  }
  .m-pass--simple__ttl-main span {
    font-size: 20px;
  }
  .m-pass--simple__ttl-sub {
    font-size: 16px;
  }
}

/* conts ---------------*/
.m-pass--simple__conts {
  background-color: #fff;
  border-radius: 6px;
  padding: 0 15px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__conts {
    border-radius: 12px;
    padding: 0 30px;
  }
}

.m-pass--simple__grid {
  border-bottom: 2px dotted #ebc0dd;
  padding: 0 0 15px;
}
@media only screen and (max-width: 767px) {
  .m-pass--simple__grid.m-pass--bdr--no {
    border-bottom: none;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__grid {
    border-bottom: 3px dotted #ebc0dd;
    padding: 30px 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-pass--simple__grid .m-pass--simple__col {
    padding: 15px 0;
  }
  .m-pass--simple__grid--1col {
    padding: 25px 0 0;
  }
}

.m-pass--simple__col dl {
  line-height: 1.3;
}
.m-pass--simple__col dd {
  color: #eb4681;
}
.m-pass--simple__col dt {
  font-size: 18px;
}
.m-pass--simple__data strong {
  font-size: 28px;
}
.m-pass--simple__data {
  font-size: 14px;
}
.m-pass--simple__gokaku {
  font-size: 12px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__col dt,
  .m-pass--simple__data {
    font-size: 24px;
  }
  .m-pass--simple__data strong {
    font-size: 48px;
  }
  .m-pass--simple__gokaku {
    font-size: 18px;
  }
}

/* grid-btm ---------------*/
.m-pass--simple__grid-btm .m-pass--simple__col {
  border-left: 2px dotted #ebc0dd;
  padding-top: 20px;
}
@media only screen and (max-width: 767px) {
  .m-pass--simple__grid-btm .m-pass--simple__col {
    border-bottom: 2px dotted #ebc0dd;
    padding-bottom: 20px;
    width: 50%;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__grid-btm .m-pass--simple__col {
    border-left: 3px dotted #ebc0dd;
    padding-top: 30px;
    margin-bottom: 30px;
    width: 33.33333%;
  }
}

.m-pass--simple__grid-btm .m-pass--simple__col:first-child {
  border-left: none;
}
@media only screen and (max-width: 767px) {
  .m-pass--simple__grid-btm .m-pass--simple__col:nth-child(n+3) {
    border-left: none;
    border-bottom: none;
  }
}

.m-pass--simple__grid-btm .m-pass--simple__col dt,
.m-pass--simple__grid-btm .m-pass--simple__data {
  font-size: 12px;
}
.m-pass--simple__grid-btm .m-pass--simple__data strong {
  font-size: 20px;
}
.m-pass--simple__grid-btm .m-pass--simple__gokaku {
  font-size: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__grid-btm .m-pass--simple__col dt,
  .m-pass--simple__grid-btm .m-pass--simple__data {
    font-size: 18px;
  }
  .m-pass--simple__grid-btm .m-pass--simple__data strong {
    font-size: 36px;
  }
  .m-pass--simple__grid-btm .m-pass--simple__gokaku {
    font-size: 14px;
  }
}

/* sakura ---------------*/
.m-pass--simple__sakura-1, .m-pass--simple__sakura-2, .m-pass--simple__sakura-3 {
  position: absolute;
}
.m-pass--simple__sakura-1 {
  width: 40px;
  top: -15px;
  left: -9px;
}
.m-pass--simple__sakura-2 {
  width: 25px;
  top: 40%;
  right: 10px;
}
.m-pass--simple__sakura-3 {
  width: 33px;
  bottom: -6px;
  right: 6px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass--simple__sakura-1 {
    width: 52px;
    top: -15px;
    left: -9px;
  }
  .m-pass--simple__sakura-2 {
    width: 33px;
    top: 135px;
    right: 15px;
  }
  .m-pass--simple__sakura-3 {
    width: 43px;
    bottom: -8px;
    right: 19px;
  }
}

/* link ---------------*/
.m-pass--simple__link {
  margin-top: 20px;
  text-align: left;
}

/* -------------------------------------------------------
  List
   
  リスト関連
   
*/
/* ====================================

[C10]序列なしリスト
[C16]序列ありリスト

==================================== */
.m-list li,
.m-list-ol li {
  position: relative;
  padding-left: 1.2em;
}
.m-list-ol li {
  counter-increment: number;
}
@media only screen and (min-width: 768px), print, tv {
  .m-list li,
  .m-list-ol li {
    font-size: 16px;
  }
}

.m-list li:before {
  color: #0070cb;
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.m-list-ol li:before {
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0;
}

/* ====================================

[CXX]m-list--check

==================================== */
.m-list--check {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-list--check {
    margin-bottom: 30px;
  }
}

.m-list--check li {
  color: #0070cb;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  padding-left: 33px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-list--check li {
    font-size: 20px;
    margin-bottom: 20px;
    padding-left: 42px;
  }
}

.m-list--check li:before {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/_common/s19_icon_check.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 25px auto;
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-list--check li:before {
    background-size: 32px auto;
    width: 32px;
    height: 32px;
    margin-top: -18px;
    top: 50%;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-list--check-fbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
  }
  .m-list--check-fbox li + li {
    margin-left: 25px;
  }
  .m-list--check-fbox li {
    margin-bottom: 0;
  }
}

/* -------------------------------------------------------
  Btn
   
  ボタン関連
   
*/
/* ====================================

[PT01]リンクボタン

==================================== */
.m-btn {
  border-radius: 8px;
  box-shadow: 0 3px rgba(0,0,0,0.3);
  box-sizing: border-box;
  color: #0070cb;
  cursor: pointer;
  display: block;
  font-size: 13px;
  font-weight: bold;
  padding: 16px 26px;
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-btn {
    font-size: 16px;
    padding: 20px 16px;
  }
}

.m-btn-gray {
  background-color: #f3f3f3;
}

.m-btn-white {
  background-color: #fff;
}

.m-btn-blue {
  background-color: #0070cb;
  color: #fff;
}

.m-btn:after {
  content: "";
  position: absolute;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-size: 80px auto;
  display: inline-block;
  margin: auto;
  vertical-align: middle;
  top: 0;
  bottom: 0;
  right: 14px;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  background-position: 0 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-btn:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 140px auto;
    right: 16px;
    width: 9px;
    min-width: 9px;
    max-width: 9px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
  }
}

.m-btn-blue:after {
  background-position: -25px 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-btn-blue:after {
    background-position: -35px 0;
  }
}

.m-btn-anchor:after {
  transform: rotate(90deg);
}

.m-btn-window:after {
  width: 14px;
  min-width: 14px;
  max-width: 14px;
  height: 14px;
  min-height: 14px;
  max-height: 14px;
  background-position: 0 -54px;
}
.m-btn-window.m-btn-blue:after {
  background-position: -18px -54px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-btn-window:after {
    background-size: auto;
    background-position: 0 -90px;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
    right: 13px;
  }
  .m-btn-window.m-btn-blue:after {
    background-position: -26px -90px;
  }
}

.m-btn-modal:after {
  width: 13px;
  min-width: 13px;
  max-width: 13px;
  height: 13px;
  min-height: 13px;
  max-height: 13px;
  background-position: 0 -72px;
}
.m-btn-modal.m-btn-blue:after {
  background-position: -17px -72px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-btn-modal:after {
    background-size: auto;
    background-position: 0 -116px;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
    right: 13px;
  }
  .m-btn-modal.m-btn-blue:after {
    background-position: -26px -116px;
  }
}

/* ====================================

学年振り分けボタン（pc-only）

==================================== */
@media only screen and (min-width: 768px), print, tv {
  .m-years {
    justify-content: space-between;
       -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
         -o-justify-content: space-between;
    margin-right: -2px;
  }
  .m-years a {
    background-image: url(https://kou.benesse.co.jp/_share17/pc/img/years_4line_modal.png);
    background-repeat: no-repeat;
    width: 302px;
    height: 124px;
    text-indent: -9999px;
    overflow: hidden;
    display:block;
    margin:0 auto 0 auto;
  }
  .m-years.m-years--3line__4m a {
    background-image: url(/_common/200227_years_3line_4m.png);
  }
  .m-years a:nth-child(1),
  .m-years.m-years--3line__4m a:nth-child(1) {
    background-position: 0 0;
  }
  .m-years a:nth-child(2),
  .m-years.m-years--3line__4m a:nth-child(2) {
    background-position: -330px 0;
  }
  .m-years a:nth-child(3),
  .m-years.m-years--3line__4m a:nth-child(3) {
    background-position: -660px 0;
  }
  .m-years a:hover {
    opacity: .7;
  }
}

/* m-years--4line(chu3,4m) ---------------*/
@media only screen and (min-width: 768px), print, tv {
  .m-years--4line__chu3 a,
  .m-years--4line__4m a {
    background-image: url(https://kou.benesse.co.jp/_share17/pc/img/years_4line_chu3.png);
    background-repeat: no-repeat;
    width: 225px;
    height: 124px;
    text-indent: -9999px;
    overflow: hidden;
    display:block;
    margin:0 auto 0 auto;
  }
  .m-years--4line__4m a {
    background-image: url(/_common/200214_years_4line_4m.png);
  }
  .m-years--4line__chu3 a:nth-child(1),
  .m-years--4line__4m a:nth-child(1) {
    background-position: 0 0;
  }
  .m-years--4line__chu3 a:nth-child(2),
  .m-years--4line__4m a:nth-child(2) {
    background-position: -245px 0;
  }
  .m-years--4line__chu3 a:nth-child(3),
  .m-years--4line__4m a:nth-child(3) {
    background-position: -490px 0;
  }
  .m-years--4line__chu3 a:nth-child(4),
  .m-years--4line__4m a:nth-child(4) {
    background-position: -735px 0;
  }
  .m-years--4line__chu3 a:hover,
  .m-years--4line__4m a:hover {
    opacity: .7;
  }
}

/* -------------------------------------------------------
  Accordion
   
  アコーディオン関連
   
*/
/* ====================================

[PT03]アコーディオンボタン

==================================== */
.m-p-acc__btn {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  -webkit-box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.3);
  color: #0070cb;
  cursor: pointer;
  display: block;
  padding: 20px 25px 20px 8px;
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc__btn {
    font-size: 16px;
  }
}

.m-p-acc__btn:after {
  content: "";
  margin: auto;
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  display: inline-block;
  vertical-align: middle;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-size: 80px auto;
  background-position: 0 -89px;
}
.m-p-acc__btn:after {
  width: 9px;
  max-width: 9px;
  min-width: 9px;
  height: 9px;
  max-height: 9px;
  min-height: 9px;
  right: 8px;
  top: 50%;
  bottom: 50%;
}

.m-p-acc__btn.is-active {
  border-bottom: none;
  border-radius: 6px 6px 0 0;
}
.m-p-acc__btn.is-active:after {
  background-position: -13px -89px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc__btn:after {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
    background-position: 0 -142px;
    width: 14px;
    max-width: 14px;
    min-width: 14px;
    height: 14px;
    min-height: 14px;
    max-height: 14px;
    right: 12px;
  }
  .m-p-acc__btn.is-active:after {
    background-position: -24px -142px;
  }
}

.m-p-acc__cont {
  background-color: #edf7ff;
  border: 1px solid #e6e6e6;
  border-radius: 0 0 5px 5px;
  -webkit-box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.3), inset 0 15px 10px -8px rgba(0, 0, 0, 0.1);
          box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.3), inset 0 15px 10px -8px rgba(0, 0, 0, 0.1);
  display: none;
  padding: 20px 15px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc__cont {
    padding: 30px 20px 50px;
  }
}

.m-p-acc__cont.m-p-acc__cont--open {
  display: block;
}

.m-p-acc--payment .m-p-acc__btn,
.m-p-acc--icon .m-p-acc__btn {
  border: 1px solid #e6e6e6;
  border-bottom: none;
  padding: 20px 25px 20px 8px;
}

@media only screen and (max-width: 767px) {
  .m-p-acc--payment:last-child,
  .m-p-acc--icon:last-child {
    border-radius: 6px;
    border-bottom: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-acc--icon:first-child {
    border-radius: 6px 6px 0 0;
  }
  .m-p-acc--icon:last-child {
    border-radius: 0 0 6px 6px;
  }
}

.m-p-acc--icon .m-p-acc__btn {
  padding: 20px 25px 20px 44px;
  position: relative;
  text-align: left;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--icon .m-p-acc__btn {
    padding: 34px 35px 34px 125px;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-acc--icon .m-p-acc__btn {
    border-radius: 0;
  }
  .m-p-acc--icon:first-child .m-p-acc__btn {
    border-radius: 6px 6px 0 0;
  }
  .m-p-acc--icon:last-child .m-p-acc__btn {
    border-radius: 0 0 6px 6px;
  }
  .m-p-acc--icon:last-child .m-p-acc__btn.is-active {
    border-radius: 0;
  }
  .m-p-acc--icon .m-p-acc__cont {
    border-radius: 0;
    border-top: none;
    border-bottom: none;
  }
  .m-p-acc--icon:last-child .m-p-acc__cont {
    border-radius: 0 0 6px 6px;
  }
}

.m-p-acc--icon .m-p-acc__btn:before {
  position: absolute;
  top: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: auto;
}
.m-p-acc--icon .m-p-acc__btn:before {
  left: 8px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-size: 80px auto;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--icon .m-p-acc__btn:before {
    left: 25px;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: auto;
  }
}

.m-p-acc--zero .m-p-acc__btn:before {
  width: 28px;
  height: 20px;
  background-position: 0px -496px;
}
.m-p-acc--refund .m-p-acc__btn:before {
  width: 28px;
  height: 26px;
  background-position: 0px -520px;
}
.m-p-acc--future-pay .m-p-acc__btn:before {
  width: 28px;
  height: 25px;
  background-position: 0px -550px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--zero .m-p-acc__btn:before {
    width: 68px;
    height: 45px;
    background-position: 0 -681px;
  }
  .m-p-acc--refund .m-p-acc__btn:before {
    width: 61px;
    height: 55px;
    background-position: 0 -736px;
  }
  .m-p-acc--future-pay .m-p-acc__btn:before {
    width: 63px;
    height: 58px;
    background-position: 0 -801px;
  }
}

/* ====================================

[PT04]強調アコーディオンボタン

==================================== */
.m-p-acc--blue .m-p-acc__btn {
  background-color: #0070cb;
  border: 1px solid #0070cb;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .m-p-acc--blue .m-p-acc__btn {
    border-bottom: 1px solid #80b8e5;
  }
  .m-p-acc--blue.m-p-acc--icon:last-child .m-p-acc__btn {
    border-bottom: 1px solid #0070cb;
  }
}

.m-p-acc--blue .m-p-acc__btn:after {
  background-position: -27px -89px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--blue .m-p-acc__btn:after {
    background-position: -48px -142px;
  }
}

.m-p-acc--blue .m-p-acc__btn.is-active:after {
  background-position: -41px -89px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--blue .m-p-acc__btn.is-active:after {
    background-position: -72px -142px;
  }
}

.m-p-acc--blue.m-p-acc--zero .m-p-acc__btn:before {
  background-position: -33px -496px;
}
.m-p-acc--blue.m-p-acc--refund .m-p-acc__btn:before {
  background-position: -33px -520px;
}
.m-p-acc--blue.m-p-acc--future-pay .m-p-acc__btn:before {
  background-position: -33px -550px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc--blue.m-p-acc--zero .m-p-acc__btn:before {
    background-position: -78px -681px;
  }
  .m-p-acc--blue.m-p-acc--refund .m-p-acc__btn:before {
    background-position: -71px -736px;
  }
  .m-p-acc--blue.m-p-acc--future-pay .m-p-acc__btn:before {
    background-position: -73px -801px;
  }
}
/* ====================================

アコーディオンボタン_FAQ

==================================== */
.m-p-acc_faq .m-p-acc__btn {
  color: #0070cb;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding: 0 28px 0 50px;
  position: relative;
  margin-bottom: 20px;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.m-p-acc_faq .m-p-acc__cont {
  background-color: #f3f3f3;
  box-shadow: none;
  border: none;
  border-radius: 0;
}
.m-p-acc_faq .m-p-acc_faq_a_inner {
  padding-left: 45px;
}
.m-p-acc_faq .m-p-acc_faq_a {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
  position: relative;
}
.m-p-acc_faq .m-acc__body p {
  padding-left: 45px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-acc_faq .m-p-acc__btn {
    font-size: 18px;
    padding: 20px 28px 10px 50px;
  }
  .m-p-acc_faq .m-p-acc__cont {
    padding: 20px 12px;
  }
  .m-p-acc_faq .m-p-acc_faq_a {
    font-size: 16px;
  }
  .m-p-acc_faq .m-p-acc__btn:before {
    content: '';
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-position: 0px -869px;
    position: absolute;
    top: 2px;
    left: 0;
    width: 36px;
    max-width: 36px;
    min-width: 36px;
    height: 43px;
    max-height: 43px;
    min-height: 43px;
  }
  .m-p-acc_faq .m-p-acc__btn:after {
    content: '';
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-position: -80px -869px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    transform: translate(0,-50%);
    width: 18px;
    max-width: 18px;
    min-width: 18px;
    height: 18px;
    max-height: 18px;
    min-height: 18px;
    margin: 0;
  }
  .m-p-acc_faq .m-p-acc__btn.is-active:after {
    background-position: -80px -899px;
  }
  .m-p-acc_faq .m-p-acc_faq_a:before {
    content: '';
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-position: -47px -869px;
    position: absolute;
    top: 2px;
    left: 0;
    width: 23px;
    max-width: 23px;
    min-width: 23px;
    height: 25px;
    max-height: 25px;
    min-height: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .m-p-acc_faq .m-p-acc__btn:before {
    content: '';
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 105px auto;
    background-position: 0px -760px;
    position: absolute;
    top: -10px;
    left: 0;
    width: 36px;
    max-width: 36px;
    min-width: 36px;
    height: 43px;
    max-height: 43px;
    min-height: 43px;
  }
  .m-p-acc_faq .m-p-acc__btn:after {
    content: '';
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 102px auto;
    background-position: -70px -740px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    transform: translate(0,-50%);
    width: 18px;
    max-width: 18px;
    min-width: 18px;
    height: 18px;
    max-height: 18px;
    min-height: 18px;
    margin: 0;
  }
  .m-p-acc_faq .m-p-acc__btn.is-active:after {
    background-position: -70px -763px;
  }
  .m-p-acc_faq .m-p-acc_faq_a:before {
    content: '';
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 105px auto;
    background-position: -42px -761px;
    position: absolute;
    top: 0;
    left: 0;
    width: 23px;
    max-width: 23px;
    min-width: 23px;
    height: 25px;
    max-height: 25px;
    min-height: 25px;
  }
}

/* -------------------------------------------------------
  Connector
   
  セクションコネクター
   
*/
/* ====================================

[PT06]セクションコネクター

==================================== */
.m-connector {
  border: none;
  height: 30px;
}
@media only screen and (max-width: 767px) {
  .m-connector {
    margin: 0;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-connector {
    margin: 0 auto;
    width: 960px;
  }
}

.m-connector:after {
  content: "";
  display: inline-block;
  position: relative;
  top: 0;
  background-image: url(/_common/s19_icon_connecter_sp.png);
  background-position: center;
  background-size: 290px auto;
  width: 100%;
  height: 30px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-connector:after {
    background-image: url(/_common/s19_icon_connecter_pc.png);
    background-size: auto;
  }
}

/* -------------------------------------------------------
  Features
   
  教材特長
   
*/
@media only screen and (min-width: 768px), print, tv {
  .m-features--grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
       -ms-flex-pack: start;
     justify-content: flex-start;
  }
  .m-features--grid__col {
    width: 30.4166667%;
    margin-right: 4.375%;
  }
  .m-features--grid__col:last-child {
    margin-right: 0;
  }
}

.m-features--list li {
  background-color: #ddeeff;
  color: #0070cb;
  line-height: 115%;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-features--list li {
    font-size: 16px;
  }
}

/* ====================================

[PT07]教材特長パーツ横

==================================== */
.m-features--side {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-features--side {
    margin-bottom: 20px;
  }
}

.m-features--side .m-features--thumb {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-features--side .m-features--thumb {
    margin-bottom: 10px;
  }
}

.m-features--side .m-features--list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
         -webkit-box-pack: justify;
            -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -ms-flex-direction: row;
           flex-direction: row;
}
.m-features--side .m-features--list li {
  display: table;
  width: 49.3103448%;
  height: 40px;
  margin-bottom: 4px;
}
.m-features--side .m-features--list li span {
  display: table-cell;
  vertical-align: middle;
}

/* ====================================

[PT08]教材特長パーツ縦

==================================== */
.m-features--length {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-features--length {
    margin-bottom: 15px;
  }
}

.m-features--length {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
         -webkit-box-pack: justify;
            -ms-flex-pack: justify;
          justify-content: space-between;
}

.m-features--length .m-features--thumb {
  width: 46.8965517%;
}
.m-features--length .m-features--list {
  width: 50.3448276%;
}

.m-features--length .m-features--list li {
  display: table;
  width: 100%;
  height: 59px;
  margin-bottom: 8px;
}
.m-features--length .m-features--list li:last-child {
  margin-bottom: 0;
}

.m-features--length .m-features--list li span {
  display: table-cell;
  vertical-align: middle;
}

/* -------------------------------------------------------
  Modal
   
  モーダル関連
   
*/
/* ====================================

[PT10]モーダルウィンドウ

==================================== */
.m-modal,
.m-modal--mov {
  width: 92%;
  border: 4px solid #0070cb;
  border-radius: 3px;
  box-shadow: none;
  padding: 26px 20px;
}
.m-modal--mov {
  padding: 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-modal,
  .m-modal--mov {
    width: 960px;
    border: 6px solid #0070cb;
    border-radius: 6px;
    padding: 54px;
  }
  .m-modal--mov {
    padding: 54px 47px;
  }
}

.m-modal__head {
  color: #0070cb;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-modal__head {
    font-size: 24px;
    margin-bottom: 30px;
  }
}

/* -------------------------------------------------------
  Viewer
   
  SP 見本ビューア
   
*/
.noscroll {
  overflow-y: hidden;
  position: fixed;
  top: 0;
  left: 0;
}

.m-full-modal-base {
  display: none;
  background: #ddd;
  position: fixed;
  /*top: 50%;*/
  left: 0;
  width: 100%;
  height: 0;
  z-index: 1010;
  background-image: url(https://kou.benesse.co.jp/viewer_module_rn/sp/img/bg_viewer.jpg);
  background-repeat: repeat-y;
  background-size: 100% auto;
}

.m-full-modal {
  display: none;
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 1020;
}

.m-full-modal__iframe {
  width: 100%;
  padding: 0;
  margin: 0;
}

.m-full-modal__close-btn { 
  position: absolute; 
  display: block; 
  top: 16px; 
  right: 3px; 
  width: 40px; 
  height: 40px; 
  overflow: hidden; 
  background: #066ecb; 
  border-radius: 50%; 
  border: 2px solid #fff; 
  z-index: 2000; 
} 
.m-full-modal__close-btn:before,
.m-full-modal__close-btn:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 60%;
  top: 50%;
  left: 20%;
  margin-top: -1px;
  background: #fff;
}

.m-full-modal__close-btn:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.m-full-modal__close-btn:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* -------------------------------------------------------
  Youtube
   
  動画関連
   
*/
@media only screen and (max-width: 767px){
  iframe {
    width: 100%;
    height: auto;
  }
}

.m-p-yt {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.m-p-yt iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #000;
}


/* -------------------------------------------------------
  Course
   
  コース別_表組み/タブ
   
*/
/* Type-C -------------------- */
/* ---------------------------
  PC:table__ttl
*/
.m-c-table-course__ttl {
  color: #fff;
  font-size: 20px;
  padding: 28px 0;
  text-align: center;
}
.m-c-color-course--std .m-c-table-course__ttl {
  background-color: #8fc31f;
  border-radius: 6px 0 0 0;
}
.m-c-color-course--difficult .m-c-table-course__ttl {
  background-color: #00a0e9;
}
.m-c-color-course--extreme .m-c-table-course__ttl {
  background-color: #d20b17;
  border-radius: 0 6px 0 0;
}
/* ---------------------------
  PC:table__cont
*/
.m-c-color-course--std .m-c-table-course__school,
.m-c-color-course--difficult .m-c-table-course__school,
.m-c-color-course--extreme .m-c-table-course__school,
.m-c-color-course--std .m-c-table-course__chart,
.m-c-color-course--difficult .m-c-table-course__chart,
.m-c-color-course--extreme .m-c-table-course__chart {
  padding: 20px 30px;
  border-left: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.m-c-color-course--std .m-c-table-course__school:first-child,
.m-c-color-course--difficult .m-c-table-course__school:first-child,
.m-c-color-course--extreme .m-c-table-course__school:first-child,
.m-c-table-course--head .m-c-table-course__school:first-child {
  border-top: 1px solid #e6e6e6;
}
.m-c-color-course--extreme .m-c-table-course__school,
.m-c-color-course--extreme .m-c-table-course__chart {
  border-right: 1px solid #e6e6e6;
}
/* ---------------------------
  PC:table__chart
*/
.m-c-table-course__chart {
  text-align: center;
}
.m-c-table-course__chart__desc {
  margin-top: 20px;
  text-align: left;
}
.m-c-table-course__chart .m-p-point__sample {
  float: none;
}
.m-c-table-course__chart .m-p-point__sample a:after {
  right: 0;
  bottom: -40px;
}
@media only screen and (max-width: 767px) {
  .m-c-tab-course__chart .m-p-point__sample {
    margin: 0;
    padding: 0;
    background-color: #fff;
  }
}
/* ---------------------------
  PC:table--head
*/
.m-c-table-course--head  .m-c-table-course__school {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
}
.m-c-table-course--head  .m-c-table-course__school {
  font-size: 18px;
  font-weight: bold;
  background-color: #f3f3f3;
  border-left: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 20px 18px;
}
/* ---------------------------
  PC:table__flow
*/
.m-c-table-course__flow p {
  margin-bottom: 15px;
}
.m-c-table-course__flow__ttl {
  font-size: 16px;
  font-weight: bold;
}
.m-c-color-course--std .m-c-table-course__flow__ttl {
  color: #8fc31f;
}
.m-c-color-course--difficult .m-c-table-course__flow__ttl {
  color: #00a0e9;
}
.m-c-color-course--extreme .m-c-table-course__flow__ttl {
  color: #d20b17;
}
.m-c-table-course__flow li {
  border-bottom: 2px solid #0070cb;
  margin-bottom: 30px;
  padding-bottom: 20px;
  position: relative;
}
.m-c-color-course--std .m-c-table-course__flow li {
  border-bottom: 2px solid #8fc31f;
}
.m-c-color-course--difficult .m-c-table-course__flow li {
  border-bottom: 2px solid #00a0e9;
}
.m-c-color-course--extreme .m-c-table-course__flow li {
  border-bottom: 2px solid #d20b17;
}
.m-c-table-course__flow li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.m-c-table-course__flow li:last-child:before,
.m-c-table-course__flow li:last-child:after {
  content: none;
}
.m-c-table-course__flow li:before,
.m-c-table-course__flow li:after {
  position: absolute;
  left: 47%;
  bottom: -40px;
  border: solid transparent;
  content: '';
  height: 40px;
  width: 20px;
  border-width: 10px 20px;
  margin: 0 0 0 -14px;
}
.m-c-table-course__flow li:before {
  border-top-color: #0070cb;
  margin-left: -14px;
}
.m-c-color-course--std .m-c-table-course__flow li:before {
  border-top-color: #8fc31f;
}
.m-c-color-course--difficult .m-c-table-course__flow li:before {
  border-top-color: #00a0e9;
}
.m-c-color-course--extreme .m-c-table-course__flow li:before {
  border-top-color: #d20b17;
}
.m-c-table-course__flow li:after {
  border-top-color: #fff;
  margin: -1px 0 -6px -14px;
  width: 18px;
  height: 48px;
}
/* ---------------------------
  PC:table__head
*/
.m-c-color-course--std .m-c-table-course__head {
  width: 300%;
}
.m-c-color-course--std .m-c-table-course__head,
.m-c-color-course--difficult .m-c-table-course__head,
.m-c-color-course--extreme .m-c-table-course__head {
  padding: 20px 0;
  font-size: 18px;
}
.m-c-color-course--difficult .m-c-table-course__head,
.m-c-color-course--extreme .m-c-table-course__head {
  visibility: hidden;
}
.m-c-table-course__head {
  background-color: #f3f3f3;
  border: 1px solid #e6e6e6;
  border-top: none;
  font-size: 16px;
  font-weight: bold;
  padding: 8px;
  text-align: center;
}
/* ---------------------------
  SP:tab__list
*/
.m-c-tab-course__list {
  display: table;
  width: 100%;
  border-collapse: separate;
  table-layout: fixed;
}
.m-c-tab-course__item {
  border-left: 1px solid #fff;
  display: table-cell;
  font-weight: bold;
  font-size: 100%;
  overflow: hidden;
  padding-bottom: 6px;
  text-align: center;
  vertical-align: bottom;
}
.m-c-tab-course__item-bottom {
  padding: 6px 0 0;
  vertical-align: top;
}
.m-c-tab-course__item:first-child {
  border-left: none;
}
.m-c-tab-course__item a {
  color: #fff;
  background-color: #3c3c3c;
  display: block;
  padding: 15px 5px;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.m-c-tab-course__item.is-active a {
  padding: 20px 5px;
}
.m-c-color-course--std.m-c-tab-course__item.is-active a {
  background-color: #8fc31f;
}
.m-c-color-course--difficult.m-c-tab-course__item.is-active a {
  background-color: #00a0e9;
}
.m-c-color-course--extreme.m-c-tab-course__item.is-active a {
  background-color: #d20b17;
}
.m-c-tab-course__item.is-active {
  position: relative;
}
.m-c-tab-course__item.is-active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-top: solid 6px #000;
  border-left: solid 9px transparent;
  border-right: solid 9px transparent;
}
.m-c-tab-course__item-bottom.is-active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-top: solid 6px #000;
  border-left: solid 9px transparent;
  border-right: solid 9px transparent;
}
.m-c-color-course--std.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #8fc31f;
}
.m-c-color-course--difficult.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #00a0e9;
}
.m-c-color-course--extreme.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #d20b17;
}
.m-c-color-course--std.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #8fc31f;
}
.m-c-color-course--difficult.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #00a0e9;
}
.m-c-color-course--extreme.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #d20b17;
}
/* ---------------------------
  SP:tab__cont
*/
.m-c-tab-course__cont {
  display: none;
}
.m-c-tab-course__cont.is-active {
  border: 1px solid #f3f3f3;
  display: block;
  margin-top: -6px;
}
.m-c-tab-course__cont-bottom.is-active {
  margin-bottom: -6px;
}
/* ---------------------------
  SP:tab__ttl
*/
.m-c-tab-course__ttl {
  background-color: #f3f3f3;
  text-align: center;
  font-weight: bold;
  padding: 15px;
}
.m-c-color-course--std .m-c-tab-course__ttl {
  color: #8fc31f;
}
.m-c-color-course--difficult .m-c-tab-course__ttl {
  color: #00a0e9;
}
.m-c-color-course--extreme .m-c-tab-course__ttl {
  color: #d20b17;
}
/* ---------------------------
  SP:tab__chart
*/
.m-c-tab-course__school, .m-c-tab-course__chart {
  padding: 20px 15px;
}
.m-c-tab-course__chart {
  text-align: center;
}
.m-c-tab-course__chart__desc {
  margin-top: 20px;
  text-align: left;
}
/* Type-P -------------------- */
/* ---------------------------
  PC:table__4col
*/
.m-p-table-course.m-p-table-course4col .m-grid__col {
  width: 299px;
}
.m-p-table-course.m-p-table-course4col .m-grid__col:first-child {
  width: 63px;
}
.m-p-table-course.m-p-table-course4col .m-c-color-course--std .m-c-table-course__ttl {
  border-radius: 0;
}
/* ---------------------------
  PC:table__3col
*/
.m-p-table-course__main.m-grid--3col .m-grid__col {
  width: 33.33333%;
}
/* ---------------------------

  コース別_お迷いの方

*/
/* Type-U -------------------- */
.m-u-choice-course__button-link {
  font-size: 107%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-choice-course__button-link {
    font-size: 18px;
    padding: 18px 35px;
    width: 400px;
  }
}

@media only screen and (max-width: 767px) {
  .m-u-choice-course__sub-box {
    background-image: url(https://kou.benesse.co.jp/kou1/choice/plan/_assets17/20170216/sp/img/bg_whitebox.png);
    background-size: 100%;
    background-repeat: no-repeat;
    font-size: 90%;
    margin-top: 25px;
    padding: 30px 15px 10px;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-u-choice-course__sub-box {
    background-image: url(https://kou.benesse.co.jp/kou1/choice/plan/_assets17/20170216/pc/img/bg_whitebox.png);
    width: 640px;
    margin: 40px auto 0;
    padding: 40px 0 20px;
  }
}

.m-u-choice-course--std {
  color: #8fc31f;
}

/* ====================================

4プラン

==================================== */
.m-p-table-course.m-p-table-course5col .m-grid__col {
  width: 23.25%;
}
.m-p-table-course.m-p-table-course5col .m-grid__col:first-child {
  width: 63px;
}
.m-p-table-course__main.m-grid--4col.m-grid--plan .m-grid__col {
  width: 239px;
}

.m-c-color-plan--extreme .m-c-table-course__ttl {
  background-color: #aa020b;
  border-radius: 6px 0 0 0;
}
.m-c-color-plan--difficult .m-c-table-course__ttl {
  background-color: #00a0e9;
}
.m-c-color-plan--university .m-c-table-course__ttl {
  background-color: #007956;
}
.m-c-color-plan--jugyo .m-c-table-course__ttl {
  background-color: #a68607;
  border-radius: 0 6px 0 0;
}
.m-c-color-plan--extreme .m-c-table-course__flow__ttl {
  color: #aa020b;
}
.m-c-color-plan--difficult .m-c-table-course__flow__ttl {
  color: #00a0e9;
}
.m-c-color-plan--university .m-c-table-course__flow__ttl {
  color: #007956;
}
.m-c-color-plan--jugyo .m-c-table-course__flow__ttl {
  color: #a68607;
}
.m-c-color-plan--extreme .m-c-table-course__flow li {
  border-bottom: 2px solid #aa020b;
}
.m-c-color-plan--difficult .m-c-table-course__flow li {
  border-bottom: 2px solid #00a0e9;
}
.m-c-color-plan--university .m-c-table-course__flow li {
  border-bottom: 2px solid #007956;
}
.m-c-color-plan--jugyo .m-c-table-course__flow li {
  border-bottom: 2px solid #a68607;
}
.m-c-color-plan--extreme .m-c-table-course__flow li:before {
  border-top-color: #aa020b;
}
.m-c-color-plan--difficult .m-c-table-course__flow li:before {
  border-top-color: #00a0e9;
}
.m-c-color-plan--university .m-c-table-course__flow li:before {
  border-top-color: #007956;
}
.m-c-color-plan--jugyo .m-c-table-course__flow li:before {
  border-top-color: #a68607;
}
.m-c-table-course__flow li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.m-c-color-plan--extreme .m-c-table-course__school,
.m-c-color-plan--difficult .m-c-table-course__school,
.m-c-color-plan--university .m-c-table-course__school,
.m-c-color-plan--jugyo .m-c-table-course__school,
.m-c-color-plan--extreme .m-c-table-course__chart,
.m-c-color-plan--difficult .m-c-table-course__chart,
.m-c-color-plan--university .m-c-table-course__chart,
.m-c-color-plan--jugyo .m-c-table-course__chart {
  padding: 20px 30px;
  border-left: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.m-c-color-plan--extreme .m-c-table-course__school:first-child,
.m-c-color-plan--difficult .m-c-table-course__school:first-child,
.m-c-color-plan--university .m-c-table-course__school:first-child,
.m-c-color-plan--jugyo .m-c-table-course__school:first-child,
.m-c-table-course--head .m-c-table-course__school:first-child {
  border-top: 1px solid #e6e6e6;
}
.m-c-color-plan--jugyo .m-c-table-course__school,
.m-c-color-plan--jugyo .m-c-table-course__chart {
  border-right: 1px solid #e6e6e6;
}

.m-c-color-plan--extreme.m-c-tab-course__item.is-active a {
  background-color: #aa020b;
}
.m-c-color-plan--difficult.m-c-tab-course__item.is-active a {
  background-color: #00a0e9;
}
.m-c-color-plan--university.m-c-tab-course__item.is-active a {
  background-color: #007956;
}
.m-c-color-plan--jugyo.m-c-tab-course__item.is-active a {
  background-color: #a68607;
}

.m-c-color-plan--extreme.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #aa020b;
}
.m-c-color-plan--difficult.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #00a0e9;
}
.m-c-color-plan--university.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #007956;
}
.m-c-color-plan--jugyo.m-c-tab-course__item.is-active:after {
  border-top: solid 6px #a68607;
}
.m-c-color-plan--extreme.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #aa020b;
}
.m-c-color-plan--difficult.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #00a0e9;
}
.m-c-color-plan--university.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #007956;
}
.m-c-color-plan--jugyo.m-c-tab-course__item-bottom.is-active:after {
  border-top: 0;
  border-bottom: solid 6px #a68607;
}

.m-c-color-plan--extreme .m-c-tab-course__ttl {
  color: #aa020b;
}
.m-c-color-plan--difficult .m-c-tab-course__ttl {
  color: #00a0e9;
}
.m-c-color-plan--university .m-c-tab-course__ttl {
  color: #007956;
}
.m-c-color-plan--jugyo .m-c-tab-course__ttl {
  color: #a68607;
}

/* -------------------------------------------------------
  Kyozai-Set
   
  教材セット
   
*/
/* Type-P -------------------- */
.m-p-kyozai-set {
  padding: 20px 15px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-kyozai-set {
    padding: 40px 0;
    text-align: center;
  }
}
/* Type-C -------------------- */
@media only screen and (min-width: 768px), print, tv {
  .m-c-kyozai-set--blue .m-c-kyozai-set__ttl {
    border-bottom: 1px solid #005bac;
  }
  .m-c-kyozai-set--blue .m-c-kyozai-set__thumb, .m-c-kyozai-set--blue .m-c-kyozai-set__txt {
    border-bottom: 1px solid #ededed;
  }
}

.m-c-kyozai-set {
  background-color: #fff;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-kyozai-set {
    display: table;
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .m-p-kyozai-set__link {
    font-size: 11px;
  }
}

@media only screen and (max-width: 767px) {
  .m-c-kyozai-set--yellow {
    padding-top: 30px;
  }
}

.m-c-kyozai-set__ttl {
  font-size: 128%;
  padding: 10px 0;
  text-align: center;
}

.m-c-kyozai-set--blue .m-c-kyozai-set__ttl {
  color: #fff;
  background-color: #005bac;
}

.m-c-kyozai-set--yellow .m-c-kyozai-set__ttl {
  color: #005bac;
  background-color: #ffea00;
  position: relative;
}

.m-c-kyozai-set--yellow .m-c-kyozai-set__ttl .m-c-kyozai-set__push {
  position: absolute;
  top: -20px;
  left: -20px;
}

@media only screen and (max-width: 767px) {
  .m-c-kyozai-set--yellow .m-c-kyozai-set__ttl .m-c-kyozai-set__push {
    top: -35px;
    left: -8px;
  }
  .m-c-kyozai-set--yellow .m-c-kyozai-set__ttl .m-c-kyozai-set__push img {
    width: 50px;
  }
}

.m-c-kyozai-set__ttl small {
  font-size: 70%;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-kyozai-set__ttl, .m-c-kyozai-set__thumb, .m-c-kyozai-set__txt {
    display: table-cell;
    vertical-align: middle;
  }
  .m-c-kyozai-set__ttl {
    font-size: 22px;
    width: 290px;
  }
  .m-c-kyozai-set__ttl small {
    font-size: 16px;
  }
}

.m-c-kyozai-set__thumb {
  padding: 15px 0;
  text-align: center;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-kyozai-set__thumb {
    width: 300px;
  }
}

.m-c-kyozai-set__txt {
  padding: 15px;
}

.m-c-kyozai-set__txt strong {
  color: #005bac;
}

@media only screen and (min-width: 768px), print, tv {
  .m-c-kyozai-set__txt {
    padding: 35px 30px 35px 0;
    text-align: left;
    width: 370px;
  }
}

/* -------------------------------------------------------
  Cost-Table
   
  受講費
   
*/
.m-p-table-cost--gray,
.m-p-table-cost--blue {
  border-spacing: 0;
  border-left: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6e6;
  background-color: #fff;
  color: #333;
  margin-bottom: 15px;
  text-align: center;
  width: 100%;
}
.m-p-table-cost--gray th,
.m-p-table-cost--gray td,
.m-p-table-cost--blue th,
.m-p-table-cost--blue td {
  padding: 10px 10px;
  border-bottom: 1px solid #e6e6e6;
}
.m-p-table-cost--gray th {
  background-color: #f9f9f9;
}
.m-p-table-cost--blue th {
  background-color: #0070cb;
  color: #fff;
}
.m-p-table-cost--gray td,
.m-p-table-cost--blue td {
  padding: 8px 15px;
  border-right: 1px solid #e6e6e6;
  text-align: left;
}
.m-p-table-cost--gray tbody th,
.m-p-table-cost--blue tbody th {
  width: 30%;
  vertical-align: middle;
  border-right: 1px solid #e6e6e6;
}
.m-p-table-cost--gray__small {
  color: #808080;
  font-size: 12px;
}
.m-p-table-cost--gray__small-price {
  color: #000;
  font-weight: bold;
}
@media only screen and (min-width: 768px), print, tv {
  .m-p-table-cost--gray th,
  .m-p-table-cost--gray td,
  .m-p-table-cost--blue th,
  .m-p-table-cost--blue td {
    padding: 10px 20px;
  }
  .m-p-table-cost--gray thead tr th,
  .m-p-table-cost--blue thead tr th {
    border-right: 1px solid #e6e6e6;
  }
  .m-p-table-cost--gray tbody th,
  .m-p-table-cost--blue tbody th {
    width: 145px;
  }
  .m-p-table-cost--gray__ttl {
    font-size: 15px;
    margin-bottom: 5px;
  }
  .m-p-table-cost--gray__subttl {
    font-size: 16px;
  }
}
.m-p-table-cost--payment td {
  text-align: center;
  width: 50%;
}

/* ====================================

プレ受験_コンポーネント

==================================== */
/* 合格できる3つの理由 -------------------- */
.m-pass_list .m-pass_list_icn_txt {
  background-color: #2299dd;
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
   display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.m-pass_list .m-pass_list_area ul li {
  color: #0070cb;
  font-weight: bold;
  position: relative; 
}
.m-pass_list .m-pass_list_area ul li:before {
  content: "";
  position: absolute;
}
.m-pass_list .m-pass_list_area ul li:last-child {
  margin-bottom: 0;
}
.m-connector_merit {
  border: none;
  position: relative;
}
.m-connector_merit:after {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-pass_list .m-pass_list_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }
  .m-pass_list .m-pass_list_icn {
    margin-right: 30px;
  }
  .m-pass_list .m-pass_list_icn_txt {
    height: 122px;
    width: 122px;
    font-size: 18px;
    position: relative;
  }
  .m-pass_list .m-pass_list_icn_txt:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -25px;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 20px solid #2299dd;
    z-index: 0;
  }
  .m-pass_list .m-pass_list_area ul li {
    font-size: 24px;
    padding-left: 1.2em;
    margin-bottom: 20px;
  }
  .m-pass_list .m-pass_list_area ul li:before {
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-position: -107px -868px;
    top: 7px;
    left: 0;
    width: 22px;
    max-width: 22px;
    min-width: 22px;
    height: 22px;
    max-height: 22px;
    min-height: 22px;
  }
  .m-connector_merit {
    width: 960px;
    margin: 60px auto;
    height: 25px;
  }
  .m-connector_merit:after {
    background-image: url(/_common/s19_icon_connection_border_pc.png);
    height: 23px;
  }
}
@media only screen and (max-width: 767px) {
  .m-pass_list .m-pass_list_icn_txt{
    height: 130px;
    width: 130px;
    font-size: 16px;
    margin: 0 auto 20px;
  }
  .m-pass_list .m-pass_list_area ul li {
    font-size: 14px;
    padding-left: 1.8em;
    margin-bottom: 15px;
  }
  .m-pass_list .m-pass_list_area ul li:before {
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 100px auto;
    background-position: -74px -770px;
    top: 0;
    left: 0;
    width: 18px;
    max-width: 18PX;
    min-width: 18PX;
    height: 18px;
    max-height: 18PX;
    min-height: 18PX;
  }
  .m-connector_merit {
    margin: 20px 0 40px;
    height: 30px;
  }
  .m-connector_merit:after {
    background-image: url(/_common/s19_icon_connection_border_sp.png);
    background-size: cover;
    height: 30px;
    background-position: center;
  }
}
/* プレミアムエリア -------------------- */
.m-unit__section-arrow {
  position: relative;
}
.m-unit__section-arrow:after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #fff transparent transparent transparent;
}
.m-unit--bg-pre-arrow_inner {
  background-color: #cceeff;
  text-align: center;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--bg-pre-arrow_inner {
    padding: 60px 0 50px;
  }
  .m-unit__section-arrow:after {
    bottom: -35px;
    border-width: 35px 35px 0 35px;
  }
}
@media only screen and (max-width: 767px) {
  .m-unit--bg-pre-arrow_inner{
    padding: 30px 0 15px;
  }
}
/* 受講費 -------------------- */
.m-cost_pattern_subject_item_l {
  background-color: #e5f7ff;
}
.m-cost_pattern_subject_item_l_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.m-cost_pattern_subject_number {
  text-align: center;
  margin-right: 2.5%;
}
.m-cost_pattern_subject_number strong {
  font-weight: normal;
  font-size: 18px;
}
.m-cost_pattern_subject_number span {
  color: #0070cb;
}
.m-cost_pattern_subject_icn_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
}
.m-cost_pattern_subject_icn_list li {
  color: #000;
  background-color: #fff;
  border: 1px solid #444;
  height: 40px;
  max-height: 40px;
  min-height: 40px;
  width: 40px;
  max-width: 40px;
  min-width: 40px;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
}
.m-cost_pattern_subject_icn_list li.icn_current {
  background-color: #2299dd;
  color: #fff;
  border: none;
}
.m-cost_pattern_subject_icn_list li:nth-child(2) {
  margin: 0 7.5%;
}
.m-cost_pattern_money {
  font-size: 16px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-cost_pattern_subject_item_l {
    padding: 20px;
  }
  .m-cost_pattern_subject_number {
    line-height: 32px;
    margin-right: 45px;
  }
  .m-cost_pattern_subject_number strong {
    font-size: 20px;
  }
  .m-cost_pattern_subject_icn_list {
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .m-cost_pattern_subject_icn_list li {
    height: 50px;
    max-height: 50px;
    min-height: 50px;
    width: 50px;
    max-width: 50px;
    min-width: 50px;
    line-height: 50px;
    font-size: 16px;
  }
  .m-cost_pattern_subject_icn_list li:nth-child(2) {
    margin: 0 14px;
  }
  .m-cost_pattern_subject_icn .m-notice {
    margin-top: 10px;
  }
  .m-cost_pattern_subject_icn .m-notice li {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .m-cost_pattern_subject_item_l {
    padding: 15px 5.52%;
    font-size: 12px;
    margin-bottom: 10px;
  }
  .m-cost_pattern_subject_item_l .m-notice {
    margin-top: 10px;
    text-align: center;
  }
  .m-cost_pattern_subject_item_l .m-notice ul {
    display: inline-block;
  }
}
/* 受講プランエリア -------------------- */
.m-plan_panel .m-plan_panel_item {
  border: 2px solid #ededed;
  border-radius: 6px;
}
.m-plan_panel .m-plan_panel_txt {
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-plan_panel .m-plan_panel_item {
    width: 304px;
    margin-top: 25px;
  }
  .m-plan_panel .m-plan_panel_item:first-child,
  .m-plan_panel .m-plan_panel_item:nth-child(2),
  .m-plan_panel .m-plan_panel_item:nth-child(3) {
    margin-top: 0;
  }
  .m-plan_panel .m-plan_panel_item {
    padding: 18px;
  }
  .m-plan_panel .m-plan_panel_txt {
    font-size: 16px;
    padding-top: 90px;
  }
  .m-plan_panel .m-plan_panel_txt:before {
    content: "";
    background-image: url(/_common/s19_icon_sprit_pc.png);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 92px;
    max-width: 92px;
    min-width: 92px;
    height: 72px;
    max-height: 72px;
    min-height: 72px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_tk:before {
    background-position: 0 -956px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_nk:before {
    background-position: 0 -1037px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ks:before {
    background-position: 0 -1120px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_sj:before {
    background-position: 0 -1202px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ns:before {
    background-position: 0 -1284px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ss:before {
    background-position: 0 -1366px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_jb:before {
    background-position: 0 -1448px;
  }
  .m-plan_panel .m-plan_panel_indication {
    text-align: center;
    font-weight: bold;
  }
  .m-plan_panel .m-plan_panel_link {
    text-align: center;
  }
  .m-plan_panel .m-plan_panel_txt p:first-child {
    margin-bottom: 5px;
  }
  .m-plan_panel .m-plan_panel_txt p:nth-child(2) {
    margin-bottom: 10px;
  }
  .m-plan_panel .m-plan_panel_txt p:nth-child(3) {
    margin-bottom: 15px;
  }
  .m-plan_panel .m-plan_panel_link a:first-child {
    margin-bottom: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .m-plan_panel .m-plan_panel_item {
    padding: 13px 14px;
    margin-bottom: 10px;
    /* display: -webkit-flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex; */
  }
  .m-plan_panel .m-plan_panel_item:last-child {
    margin-bottom: 0;
  }
  .m-plan_panel .m-plan_panel_txt {
    font-size: 12px;
    padding-left: 33.15%;
  }
  .m-plan_panel .m-plan_panel_txt:before {
    content: "";
    background-image: url(/_common/s19_icon_sprit_sp.png);
    background-size: 80px auto;
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    max-width: 70px;
    min-width: 70px;
    height: 56px;
    max-height: 56px;
    min-height: 56px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_tk:before {
    background-position: 0 -669px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_nk:before {
    background-position: 0 -729px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ks:before {
    background-position: 0 -790px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_sj:before {
    background-position: 0 -851px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ns:before {
    background-position: 0 -914px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_ss:before {
    background-position: 0 -975px;
  }
  .m-plan_panel .m-plan_panel_txt.icn_plan_jb:before {
    background-position: 0 -1036px;
  }
  .m-plan_panel .m-plan_panel_txt .m-plan_panel_indication:first-child {
    font-weight: bold;
  }
  .m-plan_panel .m-plan_panel_txt p:first-child {
    margin-bottom: 3px;
  }
  .m-plan_panel .m-plan_panel_txt p:nth-child(2),
  .m-plan_panel .m-plan_panel_txt p:nth-child(3) {
    margin-bottom: 14px;
  }
  .m-plan_panel .m-plan_panel_link a:first-child {
    margin-bottom: 8px;
  }
}

/* -------------------------------------------------------
  Topics
   
  お知らせ
   
*/
/* Topics */
@media only screen and (min-width: 768px), print, tv {
  .m-topics__list li {
    margin: 0;
    padding: 18px 0;
    position: relative;
    background: url("https://kou.benesse.co.jp/_share16/pc/img/dotted.png") repeat-x 0 100%;
  }
}

/* Topics + TOP */
@media only screen and (max-width: 767px) {
  .m-topics__list li,
  .m-topics--top__list li {
    border-bottom: 2px dotted #e6e6e6;
    padding: 15px 0;
  }
  .m-topics--top__list li:first-child {
    padding-top: 0;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-topics__list li,
  .m-topics--top__list li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-topics__list li .m-link,
  .m-topics--top__list li .m-link {
    font-size: 14px;
  }
}

.m-topics__list li .m-link:before,
.m-topics--top__list li .m-link:before {
  margin-top: 0;
  left: 0px;
}
@media only screen and (max-width: 767px) {
  .m-topics__list li .m-link:before,
  .m-topics--top__list li .m-link:before {
    top: 5px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-topics__list li .m-link:before,
  .m-topics--top__list li .m-link:before {
    top: 2px;
  }
}

.m-topics__list li i,
.m-topics--top__list li i {
  background-color: #0070cb;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  margin: 0 10px;
  padding: 5px 10px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .m-topics__list li i,
  .m-topics--top__list li i {
    margin-bottom: 8px;
    min-width: 105px;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-topics__list li i,
  .m-topics--top__list li i {
    display: inline-block;
    font-size: 10px;
    margin: 0 20px;
    padding: 4px 8px;
    min-width: 86px;
    height: 18px;
  }
}

/* Top */
@media only screen and (min-width: 768px), print, tv {
  .m-topics--top {
    background-color: #fff;
    border: 2px solid #e6e6e6;
    border-radius: 6px;
    box-sizing: border-box;
  }
  .m-topics--top .m-topics--top__ttl {
    padding: 6px;
    font-size: 18px;
    text-align: center;
    background-color: #e6e6e6;
    border: 2px solid #e6e6e6;
    border-left-width: 0;
    border-right-width: 0;
  }
  .m-topics--top .m-topics--top__body {
    padding: 25px 15px;
  }
  .m-topics--top .m-topics--top__list li:nth-child(n+2) {
    margin-top: 15px;
  }
}

.m-topics--top .m-topics--top__link {
  margin-top: 15px;
  text-align: right;
}

/* acc */
.m-topics__acc__cont {
  display: none;
}
.m-topics__acc__cont:is-active {
  display: block;
}

.m-topics__acc__btn {
  margin-top: 40px;
  position: relative;
}
@media only screen and (min-width: 768px), print, tv {
  .m-topics__acc__btn {
    margin: 60px auto 0;
    width: 304px;
  }
}
.m-topics__acc__btn:before {
  display: block;
  content: 'もっと見る';
}
.m-topics__acc__btn.is-active:before {
  content: '閉じる';
}
.m-topics__acc__btn:after {
  position: absolute;
  content: '';
  display: block;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  background-image: url(/_common/s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 80px auto;
  margin: auto;
  right: 14px;
  top: 0;
  bottom: 0;
  transform: rotate(90deg);
}
@media only screen and (min-width: 768px), print, tv {
  .m-topics__acc__btn:after {
    right: 16px;
    width: 9px;
    min-width: 9px;
    max-width: 9px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
    background-image: url(/_common/s19_icon_sprit_pc.png);
    background-size: 140px auto;
  }
}
.m-topics__acc__btn.is-active:after {
  transform: rotate(-90deg);
}

/* -------------------------------------------------------
  Kou
   
  販促トップ
   
*/
/* ====================================

関連サービス

==================================== */
.m-carousel .m-carousel__body {
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
          justify-content: space-between;
}
.m-carousel .m-carousel__body a {
  display: block;
}

.m-carousel .bx-wrapper {
  position: relative;
}

.m-carousel .bx-wrapper .m-carousel__body {
  display: block;
}

.m-carousel .bx-wrapper .bx-controls {
  margin: 30px auto 0;
  text-align: center;
  position: relative;
  display: table;
}

.m-carousel .bx-wrapper .bx-pager {
  height: 14px;
  line-height: 1;
}
.m-carousel .bx-wrapper .bx-pager-item {
  display: inline-block;
  height: 14px;
}
.m-carousel .bx-wrapper .bx-pager-link {
  margin: 0 10px;
  padding-left: 14px;
  display: inline-block;
  background-color: #e6e6e6;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  overflow: hidden;
  box-sizing: border-box;
}
.m-carousel .bx-wrapper .bx-pager-link.active {
  background-color: #0070cb;
}

.m-carousel .bx-wrapper .bx-prev,
.m-carousel .bx-wrapper .bx-next {
  position: absolute;
  top: -2px;
}
.m-carousel .bx-wrapper .bx-prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  left: -30px;
}
.m-carousel .bx-wrapper .bx-next {
  right: -30px;
}

.m-carousel .bx-controls-direction a.bx-prev ,
.m-carousel .bx-controls-direction a.bx-next {
  display: inline-block;
  vertical-align: middle;
  background-size: auto;
  background-image: url(https://kou.benesse.co.jp/_share16/sp/img/icon_sprite3.png);
  background-image: url(https://kou.benesse.co.jp/_share16/sp/img/icon_sprite3.png);
  width: 10px;
  min-width: 10px;
  max-width: 10px;
  height: 18px;
  min-height: 18px;
  max-height: 18px;
}
.m-carousel .bx-controls-direction a.bx-prev {
    background-position: 0px -54px;
}
.m-carousel .bx-controls-direction a.bx-next {
    background-position: 0px -54px;
}

/* -------------------------------------------------------
  LazyLoad
   
  画像後読み
   
*/
img.js-lazyload {
  display: block !important;
  margin: auto !important;
  padding: 20%;
}

/* -------------------------------------------------------
  Carousel
   
  カルーセル説明
   
*/
@media only screen and (max-width: 767px) {
  .m-ctor--slider--swipemark {
    background: rgba(255,255,255,0.7);
    box-sizing:border-box;
    display: block;
    z-index: 3;
    width: 100%;
    height: 100%;
    margin-top: -40px;
    padding: 40px 10px 10px 10px;
    position: absolute;
    text-align: center;
  }
  .m-ctor--slider--swipemark img {
    width: 72.8125%;
  }
  .m-ctor--slider--swipemark > span {
    color: #000;
    display: inline-block;
    font-size: 19px;
    font-weight: bold;
    margin-top: 27px;
  }
  .m-ctor--slider--swipemark ~ * {
    -webkit-filter: blur(5px);
            filter: blur(5px);
   }
}

/* -------------------------------------------------------
	Countdown
	 
	カウントダウン
	 
*/
.m-countdown__heading {
  color: #0070cb;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background-image: url(https://kou.benesse.co.jp/_share19/rwd/img/bg_kyozai-pop_heading.png);
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  display: inline-block;
  padding: 0 40px;
  margin: 0 0 20px;
  height: 45px;
}
.m-countdown__heading span.m-countdown__days {
  color: #ff4455;
  font-size: 40px;
}

/* -------------------------------------------------------
	Important
	 
	緊急告知
	 
*/
.m-important-area {
  background-color:#f3f3f3;
  border-bottom:#e6e6e6 1px solid;
  padding: 15px 0;
}
.m-important {
  background-color:#fff;
  border: 1px solid #dfdfdf;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
}
.m-important > dt {
  background:#d00;
  color:#fff;
  font-size: 14px;
  font-weight: bold;
  padding: 6px;
  text-align: center;
  white-space: nowrap;
}
.m-important a {
  display: block;
  padding-left: 0;
}
.m-important a.m-link--s:before {
  background-image: none;
}
.m-important a.m-link--s:after {
  margin-top: 0;
  right: auto;
  top: auto;
}
@media only screen and (min-width: 768px), print, tv {
  .m-important {
    align-items: flex-start;
    border-radius: 4px;
    display: flex;
    margin: 0px auto;
    max-width: 960px;
    padding: 11px 14px;
  }
  .m-important > dd {
    color: #444;
    font-size: 14px;
    text-align: left;
    padding: 0;
  }
  .m-important > dt + dd {
    padding: 6px 0 0 12px;
  }
  .m-important > dd p + p {
    margin-top: 1px;
  }
  .m-important a.m-link--s:after {
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .m-important {
    border-radius: 5px;
    padding:3.75vw 3.13vw;
    text-align:left;
  }
  .m-important > dt {
    display:inline-block;
    font-size: 3.13vw;
    margin-bottom: 2.15vw;
    padding: 5px;
  }
  .m-important > dd {
    font-size: 3.75vw;
    padding: 0;
    text-align: left;
  }
  .m-important > dd + dd {
    margin-top: 4.38vw;
  }
  .m-important > dd p + p {
    margin-top: 3.13vw;
  }
  .m-important a.m-link--s:after {
    margin-left: 5px;
  }
}

/* -------------------------------------------------------
  Border
   
  ボーダー関連
   
*/
.m-line--xl {
  margin-bottom: 25px;
}
.m-line {
  border: 1px solid #eee;
  margin: 0 0 25px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-line--xl {
    margin-bottom: 40px;
  }
  .m-line {
    background: url(https://kou.benesse.co.jp/_share16/pc/img/dotted.png) repeat-x;
    height: 3px;
    border: 0;
  }
  .m-line--blue {
    background-image: url(https://kou.benesse.co.jp/_share16/pc/img/dotted_blue.png);
  }
}

/* -------------------------------------------------------
  Other
   
  その他
   
*/
/* ====================================

4つのPoint

==================================== */
.m-unit--point {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point {
    margin-bottom: 80px;
  }
}

.m-unit--point__head {
  background-color: #2299dd;
  padding: 12px;
  position: relative;
  text-align: center;
}
.m-unit--point__head:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-top: solid 8px #2299dd;
  border-left: solid 8px transparent;
  border-right: solid 8px transparent;
}
.m-unit--point__head img {
  width: 75.18%;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__head {
    padding: 15px 0;
  }
  .m-unit--point__head:after {
    bottom: -12px;
    border-top: solid 12px #2299dd;
    border-left: solid 12px transparent;
    border-right: solid 12px transparent;
  }
  .m-unit--point__head img {
    width: 292px;
  }
}

.m-unit--point__inr {
  padding: 20px 10px 0;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__inr {
    padding: 27px 0 0;
  }
}

@media only screen and (max-width: 767px) {
  .m-unit--point__item {
    margin-bottom: 15px;
  }
  .m-unit--point__item:last-child {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__item dl {
    text-align: center;
  }
}

.m-unit--point__item dt {
  color: #0070cb;
}
@media only screen and (max-width: 767px) {
  .m-unit--point__item dt {
    float: left ;
    clear: left ;
  }
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__item dt {
    margin-bottom: 10px;
  }
}

.m-unit--point__item dt,
.m-unit--point__item dd {
  font-weight: bold;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__item dt,
  .m-unit--point__item dd {
    font-size: 16px;
  }
}

.m-unit--point__item dt span {
  padding-left: 32px;
  position: relative;
}
.m-unit--point__item dt span::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 50%;
  left: 0;
  margin-top: -13px;
  width: 24px;
  height: 24px;
  background-image: url(/_common/200116_s19_icon_sprit_sp.png);
  background-repeat: no-repeat;
  background-position: 0 -1098px;
  background-size: 80px auto;
  overflow: hidden;
}
.m-unit--point__item:nth-child(2) dt span::before {
  background-position: 0 -1127px;
}
.m-unit--point__item:nth-child(3) dt span::before {
  background-position: 0 -1156px;
}
.m-unit--point__item:nth-child(4) dt span::before {
  background-position: 0 -1185px;
}
@media only screen and (min-width: 768px), print, tv {
  .m-unit--point__item dt span {
    padding-left: 28px;
  }
  .m-unit--point__item dt span::before {
    margin-top: -16px;
    width: 28px;
    height: 28px;
    background-image: url(/_common/200116_s19_icon_sprit_pc.png);
    background-repeat: no-repeat;
    background-position: 0 -1530px;
    background-size: auto;
  }
  .m-unit--point__item:nth-child(2) dt span::before {
    background-position: -38px -1530px;
  }
  .m-unit--point__item:nth-child(3) dt span::before {
    background-position: -76px -1530px;
  }
  .m-unit--point__item:nth-child(4) dt span::before {
    background-position: -114px -1530px;
  }
}