/******************************************************************
Stylesheet: Main Stylesheet
******************************************************************/
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

b,
strong,
.strong {
  font-weight: bold;
}

dfn,
em,
.em {
  font-style: italic;
}

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

p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

pre {
  margin: 0;
}

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

pre {
  white-space: pre-wrap;
}

q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

q:before,
q:after {
  content: '';
  content: none;
}

small, .small {
  font-size: 75%;
}

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
  Lists
========================================================================== */
dl,
menu {
  margin: 1em 0;
}

dd {
  margin: 0; }

menu {
  padding: 0 0 0 40px; }

ol,
ul {
  margin: 0 0 1.5em;
  padding: 0;
  padding-left: 1em;
}
ol li,
ul li {
  margin-bottom: .3em;
}

ol {
  list-style: decimal;
}

ul {
  list-style: disc;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* ==========================================================================
  Embedded content
========================================================================== */
img {
  border: 0;
  max-width: 100%;
  height: auto;
}

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

/* ==========================================================================
   Figures
   ========================================================================== */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button,
input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

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

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

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

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

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

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

textarea {
  overflow: auto;
  vertical-align: top;
}

/* ==========================================================================
   Tables
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.clearfix, .cf, .comment-respond {
  zoom: 1; }
  .clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after {
    content: "";
    display: table; }
  .clearfix:after, .cf:after, .comment-respond:after {
    clear: both; }

span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic;
}

p {
  -ms-word-break: break-all;
  -ms-word-wrap: break-all;
  word-break: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
}

.last-col {
  float: right;
  padding-right: 0 !important;
}

@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }

  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }

  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }

  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }

  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}

@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0; }

  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%; }

  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%; }

  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%; }

  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%; }

  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%; }

  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%; }

  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%; }

  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%; }

  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}

@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0; }

  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%; }

  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%; }

  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%; }

  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%; }

  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%; }

  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%; }

  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%; }

  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%; }

  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%; }

  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%; }

  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%; }

  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%; }

  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%; }

  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%; }

  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%; }

  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%; }

  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%; }

  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%; }

  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%; }

  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.09090909091%; }

  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}

.alert-help, .alert-info, .alert-error, .alert-success {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}

.alert-help {
  border-color: #e8dc59;
  background: #ebe16f; }

.alert-info {
  border-color: #bfe4f4;
  background: #d5edf8; }

.alert-error {
  border-color: #f8cdce;
  background: #fbe3e4; }

.alert-success {
  border-color: #deeaae;
  background: #e6efc2;
}

.blue-btn, .comment-reply-link, #submit {
  display: inline-block;
  position: relative;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: white;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out;
}

.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
  color: white;
  text-decoration: none;
}

.blue-btn:active, .comment-reply-link:active, #submit:active {
  top: 1px;
}

.blue-btn, .comment-reply-link, #submit {
  background-color: #2980b9; }
  .blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
    background-color: #2574a8; }
  .blue-btn:active, .comment-reply-link:active, #submit:active {
    background-color: #2472a4; }

/*********************
INPUTS
*********************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  height: 45px;
  padding: 10px;
  font-size: 1em;
  color: #5c6b80;
  border-radius: 5px;
  vertical-align: middle;
  box-shadow: none;
  border: 1px solid #e6e6e6;
  width: 100%;
  background: #fff;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
  box-sizing: border-box;
}
  input[type="text"]:focus, input[type="text"]:active,
  input[type="password"]:focus,
  input[type="password"]:active,
  input[type="datetime"]:focus,
  input[type="datetime"]:active,
  input[type="datetime-local"]:focus,
  input[type="datetime-local"]:active,
  input[type="date"]:focus,
  input[type="date"]:active,
  input[type="month"]:focus,
  input[type="month"]:active,
  input[type="time"]:focus,
  input[type="time"]:active,
  input[type="week"]:focus,
  input[type="week"]:active,
  input[type="number"]:focus,
  input[type="number"]:active,
  input[type="email"]:focus,
  input[type="email"]:active,
  input[type="url"]:focus,
  input[type="url"]:active,
  input[type="search"]:focus,
  input[type="search"]:active,
  input[type="tel"]:focus,
  input[type="tel"]:active,
  input[type="color"]:focus,
  input[type="color"]:active,
  select:focus,
  select:active,
  textarea:focus,
  textarea:active,
  .field:focus,
  .field:active {
    background-color: #f7f8fa; }
  input[type="text"].error, input[type="text"].is-invalid,
  input[type="password"].error,
  input[type="password"].is-invalid,
  input[type="datetime"].error,
  input[type="datetime"].is-invalid,
  input[type="datetime-local"].error,
  input[type="datetime-local"].is-invalid,
  input[type="date"].error,
  input[type="date"].is-invalid,
  input[type="month"].error,
  input[type="month"].is-invalid,
  input[type="time"].error,
  input[type="time"].is-invalid,
  input[type="week"].error,
  input[type="week"].is-invalid,
  input[type="number"].error,
  input[type="number"].is-invalid,
  input[type="email"].error,
  input[type="email"].is-invalid,
  input[type="url"].error,
  input[type="url"].is-invalid,
  input[type="search"].error,
  input[type="search"].is-invalid,
  input[type="tel"].error,
  input[type="tel"].is-invalid,
  input[type="color"].error,
  input[type="color"].is-invalid,
  select.error,
  select.is-invalid,
  textarea.error,
  textarea.is-invalid,
  .field.error,
  .field.is-invalid {
    color: #fbe3e4;
    border-color: #fbe3e4;
    background-color: white;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
    outline-color: #fbe3e4; }
  input[type="text"].success, input[type="text"].is-valid,
  input[type="password"].success,
  input[type="password"].is-valid,
  input[type="datetime"].success,
  input[type="datetime"].is-valid,
  input[type="datetime-local"].success,
  input[type="datetime-local"].is-valid,
  input[type="date"].success,
  input[type="date"].is-valid,
  input[type="month"].success,
  input[type="month"].is-valid,
  input[type="time"].success,
  input[type="time"].is-valid,
  input[type="week"].success,
  input[type="week"].is-valid,
  input[type="number"].success,
  input[type="number"].is-valid,
  input[type="email"].success,
  input[type="email"].is-valid,
  input[type="url"].success,
  input[type="url"].is-valid,
  input[type="search"].success,
  input[type="search"].is-valid,
  input[type="tel"].success,
  input[type="tel"].is-valid,
  input[type="color"].success,
  input[type="color"].is-valid,
  select.success,
  select.is-valid,
  textarea.success,
  textarea.is-valid,
  .field.success,
  .field.is-valid {
    color: #e6efc2;
    border-color: #e6efc2;
    background-color: white;
    background-position: 99% center;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
    outline-color: #e6efc2; }
  input[type="text"][disabled], input[type="text"].is-disabled,
  input[type="password"][disabled],
  input[type="password"].is-disabled,
  input[type="datetime"][disabled],
  input[type="datetime"].is-disabled,
  input[type="datetime-local"][disabled],
  input[type="datetime-local"].is-disabled,
  input[type="date"][disabled],
  input[type="date"].is-disabled,
  input[type="month"][disabled],
  input[type="month"].is-disabled,
  input[type="time"][disabled],
  input[type="time"].is-disabled,
  input[type="week"][disabled],
  input[type="week"].is-disabled,
  input[type="number"][disabled],
  input[type="number"].is-disabled,
  input[type="email"][disabled],
  input[type="email"].is-disabled,
  input[type="url"][disabled],
  input[type="url"].is-disabled,
  input[type="search"][disabled],
  input[type="search"].is-disabled,
  input[type="tel"][disabled],
  input[type="tel"].is-disabled,
  input[type="color"][disabled],
  input[type="color"].is-disabled,
  select[disabled],
  select.is-disabled,
  textarea[disabled],
  textarea.is-disabled,
  .field[disabled],
  .field.is-disabled {
    cursor: not-allowed;
    border-color: #cfcfcf;
    opacity: 0.6; }
    input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
    input[type="password"][disabled]:focus,
    input[type="password"][disabled]:active,
    input[type="password"].is-disabled:focus,
    input[type="password"].is-disabled:active,
    input[type="datetime"][disabled]:focus,
    input[type="datetime"][disabled]:active,
    input[type="datetime"].is-disabled:focus,
    input[type="datetime"].is-disabled:active,
    input[type="datetime-local"][disabled]:focus,
    input[type="datetime-local"][disabled]:active,
    input[type="datetime-local"].is-disabled:focus,
    input[type="datetime-local"].is-disabled:active,
    input[type="date"][disabled]:focus,
    input[type="date"][disabled]:active,
    input[type="date"].is-disabled:focus,
    input[type="date"].is-disabled:active,
    input[type="month"][disabled]:focus,
    input[type="month"][disabled]:active,
    input[type="month"].is-disabled:focus,
    input[type="month"].is-disabled:active,
    input[type="time"][disabled]:focus,
    input[type="time"][disabled]:active,
    input[type="time"].is-disabled:focus,
    input[type="time"].is-disabled:active,
    input[type="week"][disabled]:focus,
    input[type="week"][disabled]:active,
    input[type="week"].is-disabled:focus,
    input[type="week"].is-disabled:active,
    input[type="number"][disabled]:focus,
    input[type="number"][disabled]:active,
    input[type="number"].is-disabled:focus,
    input[type="number"].is-disabled:active,
    input[type="email"][disabled]:focus,
    input[type="email"][disabled]:active,
    input[type="email"].is-disabled:focus,
    input[type="email"].is-disabled:active,
    input[type="url"][disabled]:focus,
    input[type="url"][disabled]:active,
    input[type="url"].is-disabled:focus,
    input[type="url"].is-disabled:active,
    input[type="search"][disabled]:focus,
    input[type="search"][disabled]:active,
    input[type="search"].is-disabled:focus,
    input[type="search"].is-disabled:active,
    input[type="tel"][disabled]:focus,
    input[type="tel"][disabled]:active,
    input[type="tel"].is-disabled:focus,
    input[type="tel"].is-disabled:active,
    input[type="color"][disabled]:focus,
    input[type="color"][disabled]:active,
    input[type="color"].is-disabled:focus,
    input[type="color"].is-disabled:active,
    select[disabled]:focus,
    select[disabled]:active,
    select.is-disabled:focus,
    select.is-disabled:active,
    textarea[disabled]:focus,
    textarea[disabled]:active,
    textarea.is-disabled:focus,
    textarea.is-disabled:active,
    .field[disabled]:focus,
    .field[disabled]:active,
    .field.is-disabled:focus,
    .field.is-disabled:active {
      background-color: #d5edf8; }

input[type="password"] {
  letter-spacing: 0.3em; }

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em; }

select {
  -webkit-appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

/*********************
GENERAL STYLES
*********************/
html {
  font-size: 15px;
}

body {
  font-family: 'Roboto', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  line-height: 1.8;
  color: #333;
}

#container {
  overflow: hidden;
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: 500;
}

h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
}

h1, .h1 {
  font-size: 2.5em;
}

h2, .h2 {
  font-size: 1.75em;
  margin-bottom: 0.375em;
}

h3, .h3 {
  font-size: 1.125em;
}

h4, .h4 {
  font-size: 1.1em;
  font-weight: 700;
}

h5, .h5 {
  font-size: 0.846em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/*********************
HEADER STYLES
*********************/
.header {
  width: 100%;
}

.header.fixed-header {
  position: fixed;
  top: -90px;
  left: 0;
  right: 0;
  width: 100%;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 0 7px rgba(0,0,0,0.1);
  opacity: 0;
  transition: all .6s;
  z-index: 9999;
}

.fixed-header.scrolled {
  top: 0;
  opacity: 1;
}

#inner-header,
.inner-header {
  padding-left: 2%;
  padding-right: 2%;
  background: #fff;
}

#inner-header .inner,
.inner-header .inner {
  position: relative;
  display: flex;
  padding: 15px 0 55px;
}

.header.fixed-header .inner-header .inner {
  padding: 13px 0;
}

.header .logo-wrap {
  display: table;
}

.header.fixed-header .logo-wrap {
  margin-top: 5px;
}

.header .logo-wrap .desc {
  font-size: .75rem;
  line-height: 1;
  margin: 0;
  margin-bottom: .7em;
}

.logo {
  margin: 0;
  line-height: 0;
  display: table;
}

.logo a,
.logo a img {
  display: block;
}

.logo a img {
  width: 220px;
  height: auto;
  transition: all .4s;
}

.logo a:hover img {
  opacity: .7;
}

.header-info-wrap {
  margin: 0 0 0 auto;
  display: flex;
}

.header.fixed-header .header-info-wrap {
  margin: 0 0 0 0px;
}

.header-info-wrap .tel {
  display: inline-block;
  margin: 0;
}

.header-info-wrap .tel .num,
.header-info-wrap .tel .time {
  line-height: 1;
  display: block;
}

.header-info-wrap .tel .num {
  position: relative;
  font-size: 1.875rem;
  font-weight: 700;
  color: #333;
  text-decoration: none;
  letter-spacing: .05em;
  padding-left: 25px;
  transition: all .4s;
}

.header-info-wrap .tel .num:before {
  position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  font-family: "Font Awesome 5 Free";
  font-size: 1.5625rem;
  content: '\f3cd';
}

.header-info-wrap .tel .num:hover {
  opacity: .7;
}

.header-info-wrap .tel .time {
  font-size: .75rem;
  margin-top: .7em;
}

.header-info-wrap .link-btn01 {
  font-weight: 700;
  height: 50px;
  line-height: 50px;
  margin-top: 0;
  margin-left: 15px;
  padding: 0 1em;
  width: 160px;
  min-width: auto;
}

.header.fixed-header .header-info-wrap .link-btn01 {
  width: 125px;
}

.header-info-wrap .link-btn01.btn_trial {
  font-size: 1.125rem;
  background: #f87f10;
}

.header-info-wrap .link-btn01.btn_contact {
  background: #09509f;
}

.header-info-wrap .btn_login {
  position: relative;
  color: #fff;
  width: 50px;
  height: 50px;
  display: table;
  margin: 0 0 0 15px;
  border-radius: 50%;
  background: #fa0f0c;
  border: 1px solid #fa0f0c;
  transition: all .4s;
}

.header-info-wrap .btn_login:hover {
  color: #fa0f0c;
  background: #fff;
}

.header-info-wrap .btn_login span {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 10px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  padding-top: 23px;
  display: table;
}

.header-info-wrap .btn_login span:before {
  position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  font-family: "Font Awesome 5 Free";
  content: '\f13e';
  font-size: 1.25rem;
  font-weight: 900;
}

#inner-header .inner .nav-wrap {
  position: absolute;
  bottom: -35px;
  left: 0;
  right: 0;
  text-align: center;
  width: 100%;
  max-width: 1040px;
  background: #09509f;
  margin: 0 auto;
  padding: 18px 15px 10px;
  border-radius: 35px;
  z-index: 1;
}

@media screen and (max-width: 1350px) {
  .header.fixed-header .inner-header {
    padding-left: 15px;
    padding-right: 15px;
  }

  .header.fixed-header .logo a img {
    width: 200px;
  }

  .header.fixed-header .header-info-wrap .link-btn01 {
    font-size: .875rem;
    width: 110px;
  }

  .header.fixed-header .header-info-wrap .link-btn01.btn_trial {
    font-size: 1rem;
  }
}

@media screen and (max-width: 1200px) {
  .header.fixed-header .logo-wrap {
    margin-top: 9px;
  }

  .header.fixed-header .logo a img {
    width: 160px;
  }
}

@media screen and (max-width: 1100px) {
  #inner-header,
  .inner-header {
    padding-left: 20px;
    padding-right: 20px;
  }

  .header.fixed-header .logo-wrap {
    margin-top: 11px;
  }

  .header.fixed-header .logo a img {
    width: 140px;
  }

  .header-info-wrap .link-btn01 {
    width: 130px;
  }
}

@media screen and (max-width: 1024px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
  }

  .header.fixed-header {
    display: none;
  }

  #inner-header,
  .inner-header {
    padding-left: 15px;
    padding-right: 15px;
    background: transparent;
  }

  #inner-header .inner,
  .inner-header .inner {
    padding: 15px 0 0;
  }

  .header .logo-wrap .desc,
  .header-info-wrap,
  #inner-header .inner .nav-wrap,
  .inner-header .inner .nav-wrap {
    display: none;
  }
}

@media screen and (max-width: 350px) {
  .logo a img {
    width: 200px;
  }
}

/*********************
NAVIGATION STYLES
*********************/
.header.fixed-header nav {
  display: table;
  margin: 0 0 0 auto;
  margin-top: 9px;
}

ul.nav {
  border-bottom: 0;
  margin: 0;
}

.header ul.nav {
  text-align: center;
  display: table;
  margin: 0 auto;
  padding: 0;
}

.header ul.nav > li {
  margin: 0 24px;
  display: inline-block;
}

.header.fixed-header ul.nav > li {
  margin: 0 8px;
}

.header ul.nav > li:first-child {
  margin-left: 0 !important;
}

.header ul.nav > li:last-child {
  margin-right: 0 !important;
}

.header ul.nav > li a {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  transition: all .4s;
}

.header.fixed-header ul.nav > li a {
  color: #000;
}

.header ul.nav > li a:hover {
  opacity: .7;
}

.header ul.nav > li a strong {
  font-weight: 700;
}

.header ul.nav > li a .menu-item-description {
  display: block;
  font-size: .75rem;
  margin-top: 1em;
}

.footer-nav-wrap ul.nav {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  display: inline-block;
  width: 100%;
  vertical-align: top;
}

.footer-nav-wrap ul.nav > li,
.footer-nav-wrap ul.nav > li a {
  font-size: .875rem;
}

.footer-nav-wrap ul.nav > li {
  margin: 5px 1%;
  width: 23.5%;
  display: inline-block;
  vertical-align: top;
}

.footer-nav-wrap ul.nav > li:nth-child(1),
.footer-nav-wrap ul.nav > li:nth-child(5),
.footer-nav-wrap ul.nav > li:nth-child(9),
.footer-nav-wrap ul.nav > li:nth-child(13),
.footer-nav-wrap ul.nav > li:nth-child(17),
.footer-nav-wrap ul.nav > li:nth-child(21),
.footer-nav-wrap ul.nav > li:nth-child(25),
.footer-nav-wrap ul.nav > li:nth-child(29),
.footer-nav-wrap ul.nav > li:nth-child(33),
.footer-nav-wrap ul.nav > li:nth-child(37) {
  margin-left: 0;
}

.footer-nav-wrap ul.nav > li:nth-child(4),
.footer-nav-wrap ul.nav > li:nth-child(8),
.footer-nav-wrap ul.nav > li:nth-child(12),
.footer-nav-wrap ul.nav > li:nth-child(16),
.footer-nav-wrap ul.nav > li:nth-child(20),
.footer-nav-wrap ul.nav > li:nth-child(24),
.footer-nav-wrap ul.nav > li:nth-child(28),
.footer-nav-wrap ul.nav > li:nth-child(32),
.footer-nav-wrap ul.nav > li:nth-child(36),
.footer-nav-wrap ul.nav > li:nth-child(40),
.footer-nav-wrap ul.nav > li:last-child {
  margin-right: 0;
}

.footer-nav-wrap ul.nav > li a {
  color: #fff;
  text-decoration: none;
  display: table;
  transition: all .4s;
}

.footer-nav-wrap ul.nav > li a:hover {
  text-decoration: underline;
  opacity: .7;
}

ul.nav li ul.sub-menu li a,
ul.nav li ul.children li a {
    padding-left: 30px;
}

#nav-drawer {
  position: relative;
  z-index: 9999;
  display: none;
}

.nav-unshown {
  display:none;
}

#nav-open {
  position: fixed;
  top: 15px;
  right: 15px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  background: #0950a0;
  display: block;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0,0,0,0.15);
  transition: all .4s;
}

#nav-open .line-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 20px;
  height: 14px;
  display: block;
}

#nav-open,
#nav-open .line-wrap span {
  box-sizing: border-box;
  z-index: 10000;
}

#nav-open .line-wrap span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transition: all .4s;
}

#nav-open .line-wrap span:nth-of-type(1) {
  top: 0;
}
#nav-open .line-wrap span:nth-of-type(2) {
  top: 50%;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
}
#nav-open .line-wrap span:nth-of-type(3) {
  bottom: 0;
}

#nav-open.active .line-wrap span:nth-of-type(1) {
  transform: translateY(6.5px) rotate(-45deg);
}
#nav-open.active .line-wrap span:nth-of-type(2) {
  opacity: 0;
}
#nav-open.active .line-wrap span:nth-of-type(3) {
  transform: translateY(-6.5px) rotate(45deg);
}

#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  width: 90%;
  max-width: 300px;
  height: 100vh;
  background : rgba(255,255,255,0.95);
  padding: 40px 0 60px;
  transition: .4s ease-in-out;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
  opacity: 0;
  transition: all .4s;
}

#nav-content .btn-wrap {
  display: flex;
  margin: 0 auto;
  margin-bottom: 20px;
}

#nav-content .btn-wrap .link-btn01 {
  font-weight: 700;
  height: 50px;
  line-height: 50px;
  margin: 0;
  margin-left: 15px;
  padding: 0 1em;
  width: 150px;
  min-width: auto;
  display: inline-block;
}

#nav-content .btn-wrap .link-btn01.btn_contact {
  background: #09509f;
}


#nav-content .btn-wrap .btn_login {
  position: relative;
  color: #fff;
  width: 50px;
  height: 50px;
  display: inline-block;
  margin-left: 15px;
  border-radius: 50%;
  background: #fa0f0c;
  border: 1px solid #fa0f0c;
  transition: all .4s;
}

#nav-content .btn-wrap .btn_login:hover {
  color: #fa0f0c;
  background: #fff;
}

#nav-content .btn-wrap .btn_login span {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 10px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  padding-top: 23px;
  display: table;
}

#nav-content .btn-wrap .btn_login span:before {
  position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  font-family: "Font Awesome 5 Free";
  content: '\f13e';
  font-size: 1.25rem;
  font-weight: 900;
}

#nav-content ul.nav,
#nav-content ul.nav > li {
  margin: 0;
  display: block;
}

#nav-content ul.nav {
  list-style: none;
  padding: 0;
}

#nav-content ul.nav > li {
  border-top: 1px solid #e6e6e6;
}

#nav-content ul.nav > li:last-child {
  border-bottom: 1px solid #e6e6e6;
}

#nav-content ul.nav > li a {
  font-size: .875rem;
  color: #000;
  text-decoration: none;
  display: block;
  padding: 1em 1.5em;
  transition: all .4s;
}

#nav-content ul.nav > li a:hover {
  opacity: .7;
}

#nav-content ul.nav > li ul,
#nav-content ul.nav > li ul li {
  display: block;
  margin: 0;
}

#nav-content ul.nav > li ul.sub-menu {
  margin-bottom: 1em;
  padding: 0;
  padding-left: 1.5em;
}

#nav-content ul.nav > li ul.sub-menu li {
  position: relative;
  padding-left: 1em;
  margin-bottom: .4em;
}

#nav-content ul.nav > li ul.sub-menu li:last-child {
  margin-bottom: 0;
}

#nav-content ul.nav > li ul.sub-menu li:before {
  position: absolute;
  top: 11px;
  left: 0;
  content: "";
  width: 7px;
  height: 1px;
  background: #000;
  display: block;
}

#nav-content ul.nav > li ul.sub-menu li a {
  display: table;
  padding: 0;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}

#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #09509f;
  opacity: 0;
  cursor: pointer;
  transition: .4s ease-in-out;
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .9;
}

@media screen and (max-width: 1350px) {
  .header.fixed-header ul.nav > li a {
    font-size: .75rem;
  }
}

@media screen and (max-width: 1200px) {
  .header.fixed-header ul.nav > li {
    margin: 0 8px;
  }
}

@media screen and (max-width: 1100px) {
  .header.fixed-header ul.nav > li {
    margin: 0 4px;
  }
}

@media screen and (max-width: 1024px) {
  .footer-nav-wrap {
    display: none;
  }

  #nav-drawer,
  #nav-content nav {
    display: block;
  }

  ul.nav li {
    display: block;
  }
}

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination {
  margin: 20px auto 0;
  padding: 0 !important;
  text-align: center;
  display: block;
}

.pagination ul.page-numbers {
  margin: 0 auto;
  padding: 0;
  display: table;
}

.pagination ul.page-numbers > li {
  text-decoration: none;
  margin: 0 10px;
  display: inline-flex;
  justify-content: center;
}

.pagination ul.page-numbers > li:first-child {
  margin-left: 0;
}

.pagination ul.page-numbers > li:last-child {
  margin-right: 0;
}

.pagination ul.page-numbers > li .current {
  color: #fff;
  height: 40px;
  width: 40px;
  line-height: 40px;
  border-radius: 50%;
  display: block;
  background: #09509f;
}

.pagination ul.page-numbers > li a {
  color: #000;
  text-decoration: none;
  display: block;
  transition: all .4s;
}

.pagination ul.page-numbers > li a:hover {
  opacity: .7;
}

.pagination ul.page-numbers > li .prev::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f053";
  padding-right: 4px;
  padding-right: 3px;
}

.pagination ul.page-numbers > li .next::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  padding-right: 4px;
  padding-left: 3px;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin: 40px auto 0;
  }
}

@media screen and (max-width: 480px) {
  .pagination ul.page-numbers > li .current {
    height: 35px;
    width: 35px;
    line-height: 35px;
  }
}

@media screen and (max-width: 375px) {
  .pagination ul.page-numbers > li .current {
    height: 32px;
    width: 32px;
    line-height: 32px;
  }

  .pagination ul.page-numbers > li {
    margin: 0 7px;
  }
}

/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: left;
}

.wp-prev-next .next-link {
  float: right;
}

/* end .wp-prev-next */
/******************************************************************
COMMENT STYLES
******************************************************************/
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
}

.commentlist {
  margin: 0;
  list-style-type: none; }

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
}

  .comment .comment-author {
    padding: 7px;
    border: 0; }
  .comment .vcard {
    margin-left: 50px; }
    .comment .vcard cite.fn {
      font-weight: 700;
      font-style: normal; }
    .comment .vcard time {
      display: block;
      font-size: 0.9em;
      font-style: italic; }
      .comment .vcard time a {
        color: #9fa6b4;
        text-decoration: none; }
        .comment .vcard time a:hover {
          text-decoration: underline; }
    .comment .vcard .avatar {
      position: absolute;
      left: 16px;
      border-radius: 50%; }
  .comment:last-child {
    margin-bottom: 0; }
  .comment .children {
    margin: 0;
  }
  .comment[class*=depth-] {
    margin-top: 1.1em; }
  .comment.depth-1 {
    margin-left: 0;
    margin-top: 0; }
  .comment:not(.depth-1) {
    margin-top: 0;
    margin-left: 7px;
    padding: 7px; }
  .comment.odd {
    background-color: white; }
  .comment.even {
    background: #f8f9fa; }

.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; }

.comment-reply-link {
  font-size: 0.9em;
  float: right; }

.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em; }

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa; }

#reply-title {
  margin: 0; }

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0; }
  .logged-in-as a {
    color: #5c6b80; }

.comment-form-comment {
  margin: 1.5em 0 0.75em; }

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em; }

#submit {
  float: right;
  font-size: 1em; }

#comment-form-title {
  margin: 0 0 1.1em; }

#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; }

.nocomments {
  margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
.no-widgets {
  background-color: white;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 2px;
  margin-bottom: 1.5em; }

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  background: #09509f;
  color: #fff;
  padding: 60px 0 40px;
}

.sns-wrap {
  display: table;
  margin: 0 auto;
  margin-top: 90px;
}

.sns-wrap ul,
.sns-wrap ul > li {
  display: inline-block;
  vertical-align: text-top;
}

.sns-wrap ul {
  font-size: 0;
  margin: 0;
  padding: 0;
}

.sns-wrap ul > li {
  font-size: 1rem;
  margin: 0 10px;
}

.sns-wrap ul > li:first-child {
  margin-left: 0;
}

.sns-wrap ul > li:last-child {
  margin-right: 0;
}

.sns-wrap ul > li a {
  position: relative;
  font-size: 1.5625rem;
  color: #09509f;
  text-decoration: none;
  width: 40px;
  height: 40px;
  display: block;
  border-radius: 50%;
  background: #fff;
  transition: all .4s;
}

.sns-wrap ul > li a i {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.sns-wrap ul > li a:hover {
  opacity: .7;
}

#page_top {
  position: fixed;
  bottom: 120px;
  right: 15px;
  z-index: 10;
}

#page_top a {
  position: relative;
  font-size: 1em;
  background: #09509f;
  color: #fff;
  text-align: center;
  text-decoration: none;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: block;
  transition: all .4s;
}

#page_top a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-family: "Font Awesome 5 Free";
  content: "\f077";
  font-weight: 900;
}

#page_top a:hover {
  opacity: .7;
}

.fixed-bnr {
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 10;
}

.fixed-bnr .bnr {
  color: #fff;
  text-decoration: none;
  display: block;
  background: rgba(249,169,70,.95);
  padding: 20px 20px 15px;
  width: 100%;
  max-width: 460px;
  transition: all .4s;
}

.fixed-bnr .bnr:hover {
  opacity: .9;
}

.fixed-bnr .bnr .inner {
  position: relative;
  display: table;
  margin: 0 auto;
  padding-right: 140px;
}

.fixed-bnr .bnr .text-wrap p {
  margin: 0;
}

.fixed-bnr .bnr .text-wrap .text02 {
  font-size: 1.25rem;
  margin-top: .45em;
}

.fixed-bnr .bnr .text-wrap .text01,
.fixed-bnr .bnr .text-wrap .text02,
.fixed-bnr .bnr .text-wrap .price,
.fixed-bnr .bnr .text-wrap .price .before,
.fixed-bnr .bnr .text-wrap .price .after {
  line-height: 1;
}

.fixed-bnr .bnr .text-wrap .price {
  margin-top: -7px;
}

.fixed-bnr .bnr .text-wrap .price .before {
  position: relative;
  margin-right: 1.3em;
}

.fixed-bnr .bnr .text-wrap .price .before:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%) rotate(-20deg);
  -webkit-transform: translate(-50%,-50%) rotate(-20deg);
  transform: translate(-50%,-50%) rotate(-20deg);
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #fff;
}

.fixed-bnr .bnr .text-wrap .price .before:after {
  position: absolute;
  top: 50%;
  right: -1em;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  font-family: "Font Awesome 5 Free";
  content: '\f0da';
  font-size: 1.1em;
  font-weight: 900;
}

.fixed-bnr .bnr .text-wrap .price .after {
  font-size: 2.5rem;
  font-weight: 700;
}

.fixed-bnr .bnr .text-wrap .price .after .large {
  font-size: 3.4375rem;
  margin-left: -8px;
}

.fixed-bnr .bnr .btn {
  position: absolute;
  top: 45%;
  right: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  text-align: center;
  line-height: 1.5;
  margin: 0;
  padding: .8em 1.5em;
  border: 1px solid #fff;
  border-radius: 27px;
  display: table;
}

.fixed-bnr .bnr .btn .large {
  font-size: 1.25rem;
  font-weight: 700;
}

.fixed-bnr .contact-btn-wrap {
  display: none;
}

.fixed-bnr .contact-btn-wrap .row {
  -webkit-flex-direction: row;
  flex-direction: row;
}

.fixed-bnr .contact-btn-wrap .row .col-1 {
  margin: 0;
}

.fixed-bnr .contact-btn-wrap .btn {
  font-size: .875rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  display: block;
  padding: 1.3em 1em;
  border-top: 1px solid #fff;
  height: 100%;
  transition: all .4s;
}

.fixed-bnr .contact-btn-wrap .btn.btn_tel {
  background: #32bbe4;
  border-right: 1px solid #fff;
}

.fixed-bnr .contact-btn-wrap .btn.btn_mail {
  background: #09509f;
}

.fixed-bnr .contact-btn-wrap .btn.btn_mail {
  background: #06C755;
}

.fixed-bnr .contact-btn-wrap .btn:hover {
  opacity: .8;
}

.fixed-bnr .contact-btn-wrap .btn .text {
  position: relative;
  display: table;
  margin: 0 auto;
  padding-left: 18px;
}

.fixed-bnr .contact-btn-wrap .btn .text i {
  position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
}

.copyright {
  font-size: .75rem;
  color: #fff;
  text-align: center;
  line-height: 1;
  margin: 0 auto;
  margin-top: 50px;
}

@media screen and (max-width: 1024px) {
  .footer {
    padding: 50px 0 150px;
  }

  .sns-wrap {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  #page_top {
    bottom: 130px;
  }

  .fixed-bnr {
    bottom: 0;
    left: 0;
  }

  .fixed-bnr .bnr {
    max-width: 100%;
    padding-top: 15px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .fixed-bnr .bnr .text-wrap .text01 {
    font-size: .875rem;
  }

  .fixed-bnr .bnr .text-wrap .text02 {
    font-size: 1.125rem;
  }

  .fixed-bnr .bnr .inner {
    padding-right: 125px;
  }

  .fixed-bnr .bnr .btn {
    padding: 0.55em 1.1em;
    border-radius: 21px;
  }

  .fixed-bnr .contact-btn-wrap {
    display: block;
  }
}

@media screen and (max-width: 400px) {
  .fixed-bnr .bnr .inner {
    padding-right: 105px;
  }

  .fixed-bnr .bnr .text-wrap .price .after {
    font-size: 2.1875rem;
  }

  .fixed-bnr .bnr .text-wrap .price .after .large {
    font-size: 3.125rem;
  }

  .fixed-bnr .bnr .btn {
    font-size: .75rem;
    padding: .8em 1.1em;
    border-radius: 26px;
  }

  .fixed-bnr .bnr .btn .large {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 481px) {
  /*********************
  POSTS & CONTENT STYLES
  *********************/
    .entry-content .alignleft, .entry-content img.alignleft {
      margin-right: 1.5em;
      display: inline;
      float: left; }
    .entry-content .alignright, .entry-content img.alignright {
      margin-left: 1.5em;
      display: inline;
      float: right; }
    .entry-content .aligncenter, .entry-content img.aligncenter {
      margin-right: auto;
      margin-left: auto;
      display: block;
      clear: both; }
}

@media screen and (min-width: 1025px) {
  /*********************
  NAVIGATION STYLES
  *********************/
      ul.nav li ul.sub-menu,
      ul.nav li ul.children {
        margin: 0;
        padding: 0;
        background: #fff;
        position: absolute;
        visibility: hidden;
        z-index: 8999;
      }

      ul.nav li ul.sub-menu li,
      ul.nav li ul.children li {
        border-bottom: 1px solid #ccc;
      }

      ul.nav li ul.sub-menu li:last-child,
      ul.nav li ul.children li:last-child {
        border-bottom: none;
      }

      ul.nav li ul.sub-menu li a,
      ul.nav li ul.children li a {
        text-align: left;
        padding: 10px 15px;
        display: block;
        width: 200px;
        transition: none;
      }

      ul.nav li ul.sub-menu li a:hover,
      ul.nav li ul.children li a:hover {
        transition: all .4s;
        opacity: .7;
      }

      ul.nav li ul.sub-menu li ul,
      ul.nav li ul.children li ul {
        list-style: none;
        margin: 0;
        padding: 0;
        top: 0;
        left: 100%;
      }

      ul.nav li:hover > ul {
        top: auto;
        visibility: visible;
      }

  /*********************
  SIDEBARS & ASIDES
  *********************/
  .sidebar {
    margin-top: 2.2em; }

  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em; }

  .widget {
    padding: 0 10px;
    margin: 2.2em 0; }
    .widget ul li {
      margin-bottom: 0.75em;
    }
      .widget ul li ul {
        list-style: none;
        margin: 0;
        margin-top: 0.75em;
        padding: 0;
        padding-left: 1em; }
}

/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media screen and (min-width: 1240px) {

@media screen and (-webkit-min-device-pixel-ratio: 1.5), screen and (min--moz-device-pixel-ratio: 1.5), screen and (min-device-pixel-ratio: 1.5) {}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }

  a, a:visited {
    color: #444 !important;
    text-decoration: underline; }
    a:after, a:visited:after {
      content: " (" attr(href) ")"; }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")"; }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr, img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; }

  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none; }
  }
}

/************************************
** frontpage
************************************/
.mv {
  position: relative;
  width: 100%;
  height: 580px;
  border-bottom: 5px solid #09509f;
}

.mv .slider {
  position: relative;
}

.mv .slider.slider_sp {
  display: none;
}

.mv .mainimg,
.mv .mainimg .slider div {
  height: 575px;
}

.mv .mainimg .slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.mv .mv-catch-wrap {
  position: absolute;
  bottom: 30px;
  left: 80px;
  padding: 20px 25px;
  padding-right: 20px;
  height: auto !important;
  display: table;
  background: rgba(255,255,255,0.8);
}

.mv .mv-catch-wrap .text {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0;
}

.mv .mv-catch-wrap .text span {
  border-bottom: 4px dotted #fa0f0c;
  padding-bottom: .15em;
}

.mv .mv-catch-wrap img {
  width: 100%;
  max-width: 430px;
  height: auto;
  display: block;
  pointer-events: none;
}

.mv .slick-prev,
.mv .slick-next {
  z-index: 1;
  cursor: pointer;
  transition: all .4s;
}

.mv .slick-prev:hover,
.mv .slick-next:hover {
  opacity: .7;
}

.mv .slick-prev {
  left: 20px;
}

.mv .slick-next {
  right: 20px;
}

.mv .slick-prev:before,
.mv .slick-next:before {
  font-family: "Font Awesome 5 Free";
  font-size: 1.875rem;
  font-weight: 900;
  opacity: 1;
  color: #09509f;
}

.mv .slick-prev:before {
  content: '\f053';
}

.mv .slick-next:before {
  content: '\f054';
}

.mv .slick-dots {
  bottom: 30px;
  z-index: 1;
}

.mv .slick-dots li {
  width: auto;
  height: auto;
  margin: 0 10px;
}

.mv .slick-dots li button {
  width: auto;
  height: auto;
  padding: 0;
}

.mv .slick-dots li button:before {
  width: auto;
  height: auto;
  opacity: 1;
  color: #fff;
}

.mv .slick-dots li.slick-active button:before {
  color: #09509f;
}

.page.home #measure,
.page.home #point,
.page.home #gallery,
.page.home #teacher,
.page.home #voice,
.page.home #school {
  border-bottom: 1px solid #7a97c2;
}

.box_measure .inner {
  margin: 0 auto;
  display: table;
}

.box_measure .heading_mid01 {
  margin-top: 0;
}

.box_measure .inner-text01 {
  margin: 0;
}

.box_measure .link-btn01 {
  margin-top: 45px;
}

.style-wrap01 .row .col-1 {
  margin: 0;
}

.style-box01 .circle {
  position: relative;
  text-decoration: none;
  width: 200px;
  height: 200px;
  background: #09509f;
  border-radius: 50%;
  margin: 0 auto;
  display: block;
  transition: all .4s;
}

.style-box01 .circle:hover {
  opacity: .8;
}

.style-box01 .circle i {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 70px;
  color: #fff;
  line-height: 0;
}

.style-box01 .circle .text {
  position: absolute;
  bottom: -20px;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  color: #09509f;
  line-height: 1;
  width: 200px;
  max-width: 200px;
  padding: .5em 35px .4em;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 5px rgba(0,0,0,0.15);
}

.style-box01 .circle .text .arrow {
  position: absolute;
  top: 50%;
  right: 15px;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  width: 13.5px;
  height: 2px;
  display: block;
  background: #09509f;
  transition: all .4s;
}

.style-box01 .circle .text .arrow:before {
  position: absolute;
  top: 50%;
  right: 0;
  -ms-transform: translate(0,-50%) rotate(45deg);
  -webkit-transform: translate(0,-50%) rotate(45deg);
  transform: translate(0,-50%) rotate(45deg);
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  border-top: 2px solid #09509f;
  border-right: 2px solid #09509f;
}

.style-box01 .circle:hover .text .arrow {
  right: 10px;
}

.style-wrap01 .text {
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
}

.style-wrap01 .text01 {
  margin-top: 4.5em;
}

.style-wrap01 .text02 {
  font-size: 1.25rem;
  margin-top: .2em;
}

.illust-box01 {
  position: relative;
  padding-top: 20px;
}

.illust-box01 .circle {
  position: absolute;
  top: 0;
  left: 20px;
  width: 95px;
  height: 95px;
  display: block;
  border-radius: 50%;
  background: #09509f;
}

.illust-box01 .circle .text {
  position: absolute;
  top: 53%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: .875rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  letter-spacing: .1em;
  margin: 0 auto;
  width: 100%;
}

.illust-box01 .circle .text .num {
  font-size: 3.125rem;
  font-style: italic;
  display: block;
  margin-left: -10px;
}

.illust-box01 .img-wrap {
  position: relative;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  z-index: 1;
}

.illust-box01 .img-wrap img {
  height: auto;
}

.illust-box01 .ttl {
  font-size: 1.375rem;
  color: #09509f;
  text-align: center;
  margin: 1em 0;
  padding-bottom: .7em;
  border-bottom: 2px solid #e6e6e6;
}

.illust-box01 .ttl span {
  font-weight: 700;
  color: #f38f1e;
}

.illust-box01 .desc {
  font-size: 1.125rem;
  margin: 0;
}

.slide-wrap {
  position: relative;
  padding-bottom: 70px;
}

.slide-wrap .swiper-container {
  overflow: visible !important;
}

.slide-wrap .slide-button-prev,
.slide-wrap .slide-button-next {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  cursor: pointer;
  width: 50px;
  height: 50px;
  background: #09509f;
  border-radius: 50%;
  transition: all .4s;
  z-index: 10;
}

.slide-wrap .slide-button-prev {
  left: 20px;
}

.slide-wrap .slide-button-next {
  right: 20px;
}

.slide-button-prev:hover,
.slide-button-next:hover {
  opacity: .7;
}

.slide-wrap .slide-button-prev:before,
.slide-wrap .slide-button-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #fff;
}

.slide-wrap .slide-button-prev:before {
  content: '\f053';
}

.slide-wrap .slide-button-next:before {
  content: '\f054';
}

.slide-wrap .swiper-pagination {
  bottom: 0;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  width: 100%;
}

.slide-wrap .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #efefef;
  margin: 0 10px;
  opacity: 1;
}

.slide-wrap .swiper-pagination-bullet-active {
  background: #09509f;
}

.lesson-slide-wrap {
  margin-top: 60px;
}

.lesson-slide-wrap .video-wrap {
  position: relative;
  width: 100%;
}

.lesson-slide-wrap .video-wrap:before {
  content:"";
  display: block;
  padding-top: 56.25%;
}

.lesson-slide-wrap .video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page.home .gallery-slide-wrap.slide-wrap {
  padding-bottom: 0;
}

.gallery-slide-wrap .img-wrap {
  position: relative;
  width: 100%;
}

.gallery-slide-wrap .img-wrap:before {
  content: "";
  display: block;
  padding-top: 70%;
}

.gallery-slide-wrap .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  display: block;
  object-fit: cover;
  font-family: "object-fit: cover;";
  pointer-events: none;
}

.voice-slide-wrap {
  margin-top: 60px;
}

.voice-slide-wrap .box {
  color: #000;
  text-decoration: none;
  background: #fff;
  border-radius: 20px;
  padding: 20px 20px 40px;
  display: block;
  box-shadow: 0 10px 20px 0 rgba(0,0,0,0.2);
  transition: all .4s;
}

.voice-slide-wrap .box:hover {
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.voice-slide-wrap .box .img-wrap {
  position: relative;
  width: 100%;
}

.voice-slide-wrap .box .img-wrap:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.voice-slide-wrap .box .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.voice-slide-wrap .box .img-wrap .career {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: .875rem;
  color: #fff;
  line-height: 1;
  background: #09509f;
  padding: .4em .5em .3em;
}

.voice-slide-wrap .box p {
  text-align: center;
  margin: 0 auto;
}

.voice-slide-wrap .box .job {
  font-size: .75rem;
  margin-top: 1em;
}

.voice-slide-wrap .box .heading {
  line-height: 1.6;
  margin-top: .5em;
}

ul.list_school {
  list-style: none;
  font-size: 0;
  margin: 0;
  margin-top: 60px;
  padding: 0;
  display: inline-block;
  width: 100%;
  vertical-align: top;
}

ul.list_school > li {
  font-size: 1rem;
  margin: 0;
  display: inline-block;
  vertical-align: top;
}

ul.list_school > li a {
  color: #fff;
  text-decoration: none;
  display: block;
}

ul.list_school > li .box {
  position: relative;
  width: 100%;
  overflow: hidden;
}

ul.list_school > li .box:after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0,0,0,0.45);
}

ul.list_school > li .box .bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  font-family: "object-fit: cover;";
  transition: all .4s;
}

ul.list_school > li a:hover .box .bg {
  transform: scale(1.2);
}

ul.list_school > li .box .inner {
  width: 100%;
  z-index: 1;
}

ul.list_school > li .box p {
  text-align: center;
  line-height: 1;
  margin: 0 auto;
}

ul.list_school > li .box .name {
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: .1em;
}

ul.list_school > li .box .name .en {
  display: block;
  margin-top: .6em;
}

ul.list_school > li .box .desc {
  margin-top: 1em;
}

.page.home #blog ul.post-list {
  text-align: center;
}

.news-wrap {
  height: 355px;
  overflow: auto;
  border: 1px solid #e6e6e6;
  padding: 40px;
}

@media screen and (min-width: 769px) {
  .mv .mv-catch-wrap.catch_right {
    bottom: 50%;
    left: auto;
    -ms-transform: translate(0,50%);
    -webkit-transform: translate(0,50%);
    transform: translate(0,50%);
  }

  ul.list_school > li .box:before {
    content: "";
    display: block;
    padding-top: 70%;
  }

  ul.list_school > li .box .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    padding: 0 15px;
  }
}

@media screen and (min-width: 1025px) {
  .mv .mv-catch-wrap.catch_right {
    right: 80px;
  }

  .page.home #blog ul.post-list > li {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1201px) {
  .illust-section01 .row .col-1 {
    margin: 0 30px;
  }

  ul.list_school > li {
    width: 14.285%;
    border-right: 1px solid #fff;
  }

  ul.list_school > li:last-child {
    border-right: none;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .mv .mv-catch-wrap.catch_right {
    right: 50px;
  }

  ul.list_school > li {
    width: 50%;
    border-bottom: 1px solid #fff;
  }

  ul.list_school > li:nth-child(odd) {
    border-right: 1px solid #fff;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .illust-section01 .row .col-1 {
    margin: 0 20px;
  }

  ul.list_school > li {
    width: 33.3333333333%;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  ul.list_school > li:nth-child(3),
  ul.list_school > li:nth-child(6) {
    border-right: none;
  }
}

@media screen and (max-width: 1350px) {
  .mv .slick-dots {
    bottom: 15px;
  }
}

@media screen and (max-width: 1200px) {
  .illust-box01 .circle {
    left: 0;
  }
}

@media screen and (max-width: 1024px) {
  .mv {
    height: 540px;
  }

  .mv .mainimg,
  .mv .mainimg .slider div {
    height: 535px;
  }

  .mv .mv-catch-wrap img {
    max-width: 350px;
  }

  .mv .mv-catch-wrap {
    left: 50px;
  }

  .illust-section01 .row {
	  -webkit-flex-direction: column;
	  flex-direction: column;
	}

  .illust-section01 .row .col-1 {
    margin: 0;
	  margin-top: 60px;
	}

  .illust-section01 .row .col-1:first-child {
	  margin-top: 0;
	}

  .illust-box01 {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .mv .mv-catch-wrap {
    bottom: 10px;
  }

  .mv .mv-catch-wrap .text {
    font-size: 1.5625rem;
  }

  .mv .slider.slider_pc {
    display: none;
  }

  .mv .slider.slider_sp {
    display: block;
  }

  .mv .mv-catch-wrap img {
    max-width: 300px;
  }

  .mv .slick-dots {
    bottom: -25px;
  }

  .mv .slick-dots li button:before {
    color: #efefef;
  }

  .box_measure .link-btn01 {
    margin-top: 40px;
  }

  .style-wrap01 .row .col-1 {
    margin-bottom: 50px;
  }

  .style-wrap01 .row .col-1:last-child {
    margin-bottom: 0;
  }

  .style-box01 .circle .text {
    bottom: -15px;
    font-size: 1.25rem;
  }

  .style-wrap01 .text01 {
    margin-top: 4em;
  }

  .illust-box01 .ttl {
    font-size: 1.25rem;
  }

  .illust-box01 .desc {
    font-size: 1rem;
  }

  .slide-wrap {
    padding-bottom: 50px;
  }

  .lesson-slide-wrap {
    margin-top: 45px;
  }

  .slide-wrap .slide-button-prev,
  .slide-wrap .slide-button-next {
    width: 40px;
    height: 40px;
  }

  .slide-wrap .swiper-pagination-bullet {
    margin: 0 5px;
  }

  .voice-slide-wrap {
    margin-top: 40px;
  }

  ul.list_school {
    margin-top: 40px;
  }

  ul.list_school > li {
    width: 100%;
    border-bottom: 1px solid #fff;
  }

  ul.list_school > li:last-child {
    border-bottom: none;
  }

  ul.list_school > li .box .inner {
    position: relative;
    padding: 50px 20px;
  }

  .news-wrap {
    padding: 20px;
  }
}

@media screen and (max-width: 480px) {
  .mv {
    height: 380px;
  }

  .mv .mainimg,
  .mv .mainimg .slider div {
    height: 375px;
  }

  .mv .mv-catch-wrap img {
    max-width: 215px;
  }

  .mv .mv-catch-wrap {
    left: 0;
    padding: 10px 15px;
    padding-right: 10px;
  }

  .mv .mv-catch-wrap .text {
    font-size: 1.375rem;
  }

  .style-box01 .circle {
    width: 150px;
    height: 150px;
  }

  .style-box01 .circle .text {
    font-size: 1.125rem;
    width: 165px;
  }

  .illust-section01 .row .col-1 {
    margin-top: 40px;
  }

  .illust-box01 .circle {
    width: 70px;
    height: 70px;
  }

  .illust-box01 .circle .text {
    font-size: .75rem;
  }

  .illust-box01 .circle .text .num {
    font-size: 2.1875rem;
    margin-left: -5px;
  }

  .lesson-slide-wrap {
    margin-top: 35px;
  }
}

@media screen and (max-width: 375px) {
  .mv .mv-catch-wrap .text {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 350px) {
  .mv .mv-catch-wrap .text {
    font-size: 1.125rem;
  }
}

/************************************
** pages
************************************/
.page-mv {
  position: relative;
  width: 100%;
  height: 250px;
  background: #fff url(../images/page/mv-bg.png) no-repeat center center/cover;
  border-bottom: 5px solid #09509f;
}

.page-mv .ttl {
  position: absolute;
  top: 58%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 2.1875rem;
  font-weight: 700;
  color: #09509f;
  text-align: center;
  line-height: 1.6;
  letter-spacing: .05em;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
}

.mv.mv_school {
  height: 340px;
}

.mv.mv_school .mainimg,
.mv.mv_school .mainimg .slider div {
  height: 335px;
}

.mv.mv_school .slick-prev:before,
.mv.mv_school .slick-next:before,
.mv.mv_school .slick-dots {
  display: none !important;
}

.page.page-template-template_school #point,
.page.page-template-template_school #teacher,
.page.page-template-template_school #voice {
  border-top: 1px solid #7a97c2;
  border-bottom: 1px solid #7a97c2;
}

.page.page-template-template_school #price {
  border-top: 1px solid #7a97c2;
}

/* greeting */
.greeting-wrap01 {
  display: table;
  margin: 0 auto;
}

.greeting-wrap01 .ttl {
  font-size: 2.1875rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .1em;
  color: #09509f;
  margin: 0 auto;
}

.greeting-wrap01 .sub {
  font-size: 1.125rem;
  text-align: center;
  line-height: 1.6;
  margin: 0 auto;
}

.greeting-wrap01 .img-wrap {
  width: 100%;
  max-width: 450px;
  margin: 40px auto;
}

.greeting-wrap01 .img-wrap img {
  height: auto;
}

/* company */
.video-wrap01 {
  position: relative;
  width: 100%;
}

.video-wrap01:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.video-wrap01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* teachers */
.page.teachers ul.box-list {
  margin-top: 50px;
}

.box_teacher .heading_brd-b01 .name_jp {
  font-size: 1rem;
  display: inline-block;
}

.box_teacher .img-wrap {
  height: auto;
}

.box_teacher .country,
.box_teacher .country img,
.box_teacher .country .name {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.box_teacher .country img {
  width: 25px;
  height: auto;
  pointer-events: none;
  margin-right: 5px;
}

.box_teacher ul.list_lan,
.box_teacher ul.list_lan > li {
  display: inline-block;
  margin: 0;
}

.box_teacher ul.list_lan {
  list-style: none;
  padding: 0;
}

.box_teacher ul.list_lan > li {
  position: relative;
  margin-right: .1em;
  padding-left: 1.1em;
}

.box_teacher ul.list_lan > li:first-child {
  padding-left: 0;
}

.box_teacher ul.list_lan > li:last-child {
  margin-right: 0;
}

.box_teacher ul.list_lan > li:before {
  position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  content: "・";
}

.box_teacher ul.list_lan > li:first-child:before {
  display: none;
}

/* system */
.box_system {
  margin-top: 50px;
}

.box_system .heading_brd-b01 {
  margin-bottom: 1em;
}

.box_system .img-wrap img {
  height: auto;
}

.box_system .text-wrap .link-btn01 {
  margin: 0 0 0 auto;
  margin-top: 35px;
}

/* reason */
.reason #reason {
  border-top: 1px solid #7a97c2;
}

/* pricing */
.price-section {
  margin-top: 45px;
  padding: 0 50px;
}

.price-section .section-inner {
  padding: 35px 20px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.price-section .section-inner .row .col-1 {
  margin: 0;
}

.price-section .price-box {
  padding: 0 30px;
}

.price-section .price-box .box-inner01 {
  margin-top: 25px;
  padding: 0 20px;
}

.price-section .price-box .box-inner02 {
  margin-top: 15px;
  padding: 10px 15px;
  background: #f8f9fc;
}

.price-section .price-box .box-inner02 p {
  font-size: .8125rem;
  margin: 0;
}

.price-section .price-box .sub,
.price-section .price-box .ttl,
.price-section .price-box .text01,
.price-section .price-box .text02,
.price-section .price-box .price01,
.price-section .price-box .price02 {
  text-align: center;
  margin: 0 auto;
}

.price-section .price-box .sub {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: .6em;
}

.price-section .price-box.plan01 .sub {
  color: #f37bb8;
}

.price-section .price-box.plan02 .sub {
  color: #32bbe4;
}

.price-section .price-box.plan03 .sub {
  color: #f99653;
}

.price-section .price-box .ttl {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.7;
  text-decoration: none;
  margin: 0;
  padding: .5em .7em .25em;
  border-radius: 27px;
  display: block;
  transition: all .4s;
}

.price-section .price-box a.ttl:hover {
  opacity: .7;
}

.price-section .price-box.plan01 .ttl {
  background: #f37bb8;
}

.price-section .price-box.plan02 .ttl {
  background: #32bbe4;
}

.price-section .price-box.plan03 .ttl {
  background: #f99653;
}

.price-section .price-box .text01 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.price-section .price-box .text02 {
  font-size: .75rem;
  line-height: 1.6;
  margin-top: .9em;
}

.price-section .price-box .text01 span {
  font-size: 1rem;
  display: block;
}

.price-section .price-box .price01 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  display: table;
  margin-top: 10px;
}

.price-section .price-box.plan01 .price01 {
  color: #f37bb8;
}

.price-section .price-box.plan02 .price01 {
  color: #32bbe4;
}

.price-section .price-box.plan03 .price01 {
  color: #f99653;
}

.price-section .price-box .price01 .label,
.price-section .price-box .price01 .large {
  display: inline-block;
}

.price-section .price-box .price01 .label {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-right: .8em;
  padding: .4em .4em .2em;
}

.price-section .price-box.plan01 .price01 .label {
  background: #f37bb8;
}

.price-section .price-box.plan02 .price01 .label {
  background: #32bbe4;
}

.price-section .price-box.plan03 .price01 .label {
  background: #f99653;
}

.price-section .price-box .price01 .large {
  font-size: 2.1875rem;
}

.price-section .price-box .price02 {
  font-size: .875rem;
  font-weight: 700;
  margin-top: .9em;
  padding-top: .5em;
  border-top: 1px solid #e6e6e6;
}

.price-section .price-box ul.list_caution > li,
.price-section .price-box ul.list_caution > li:before {
  color: #fa0f0c;
}

.price-section .price-box ul.list_caution {
  margin-top: 15px;
}

.price-section .price-box ul.list_caution > li {
  font-size: .75rem;
}

.price-section .price-box .comment-wrap {
  position: relative;
  margin-top: 15px;
}

.price-section .price-box .comment-wrap .text-wrap {
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  width: 100%;
  background: #FFF;
  border: 1px solid #09509f;
  border-radius: 10px;
  z-index: 2;
}

.price-section .price-box .comment-wrap .text-wrap:before,
.price-section .price-box .comment-wrap .text-wrap:after {
  position: absolute;
  content: "";
}

.price-section .price-box .comment-wrap .text-wrap:before {
  z-index: 1;
}

.price-section .price-box .comment-wrap .text-wrap:after {
  z-index: -1;
}

.price-section .price-box .comment-wrap .text-wrap p {
  font-size: .8125rem;
  font-weight: 700;
  margin: 0;
}

.price-section .price-box .comment-wrap .img-wrap {
  width: 100%;
  max-width: 67px;
}

.price-section .price-box .comment-wrap .img-wrap img {
  height: auto;
}

.box_plan {
  margin-top: 45px;
}

.box_plan table.table_type03 {
  margin-top: 50px;
}

.box_plan .text_plan01 {
  font-size: .8125rem;
  margin: 0;
  margin-top: 1em;
}

/* course_schooling_benefit */
.img-wrap_mhlw {
  width: 100%;
  max-width: 190px;
  margin: 40px auto;
}

.img-wrap_mhlw img {
  height: auto;
}

.box_course {
  margin-top: 50px;
}

.box_course .heading_brd-b01 {
  margin-bottom: 1em;
}

.box_course .img-wrap img {
  height: auto;
}

.box_course table.table_type02 {
  margin-top: 35px;
}

/* location */
.box_location {
  margin-top: 50px;
}

.box_location .img-wrap img {
  height: auto;
}

.box_location .link-btn01 {
  margin: 0 0 0 auto;
  margin-top: 35px;
}

.heading_sub01.heading_feature01 {
  position: relative;
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.heading_sub01.heading_feature01 img {
  position: absolute;
  top: 50%;
  right: -150px;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  width: 125px;
  height: auto;
  display: block;
  pointer-events: none;
}

.feature-wrap .box {
  border: 2px solid #f38f1e;
  border-radius: 20px;
}

.feature-wrap .box .ttl {
  font-size: 1.125rem;
  font-weight: 400;
  color: #fff;
  text-align: center;
  line-height: 1.55;
  margin: 0;
  padding: .7em;
  background: #f38f1e;
  border-radius: 16px 16px 0 0;
}

.feature-wrap .box .ttl span {
  font-size: 1.25rem;
  font-weight: 700;
}

.feature-wrap .box .inner {
  padding: 15px 20px;
  background: #fff;
  border-radius: 0 0 20px 20px;
}

.feature-wrap .box .inner p {
  margin: 0;
}

.teacher-slide-wrap01 {
  margin-top: 60px;
}

.teacher-slide-wrap02 {
  margin-top: 60px;
  padding-bottom: 0;
}

.teacher-slide-wrap .box {
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 10px -10px rgba(0,0,0,0.2);
}

.teacher-slide-wrap01 .box {
  color: #000;
  text-decoration: none;
  padding: 15px 10px 40px;
  display: block;
  box-shadow: 0 10px 20px 0 rgba(0,0,0,0.2);
  transition: all .4s;
}

.teacher-slide-wrap01 .box:hover {
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.teacher-slide-wrap02 .box {
  padding-bottom: 60px;
}

.teacher-slide-wrap .box .img-wrap {
  position: relative;
  width: 100%;
}

.teacher-slide-wrap .box .img-wrap:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.teacher-slide-wrap .box .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.teacher-slide-wrap02 .box .img-wrap img {
  border-radius: 50%;
}

.teacher-slide-wrap .box .name {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  margin-bottom: .5em;
}

.teacher-slide-wrap01 .box .name {
  font-size: 1.125rem;
  font-weight: 400;
  text-align: center;
}

.teacher-slide-wrap .box .country {
  font-size: .875rem;
  color: #fff;
  line-height: 1;
  margin: 0;
  padding: .4em .8em .3em;
  border-radius: 11px;
  background: #09509f;
  display: table;
}

.teacher-slide-wrap01 .box .country {
  position: absolute;
  bottom: -11px;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  text-align: center;
  white-space: nowrap;
}

.comment-box {
	position: relative;
  margin-top: 10px;
}

.comment-box .inner p {
	margin: 0;
}

.comment-box label {
	position: absolute;
	bottom: 0;
  right: 0;
	width: 1.2rem;
	height: 1.2rem;
	cursor: pointer;
	text-align: center;
	background: #fff;
  z-index: 1;
}

.comment-box label:before {
	content: "…";
}

.comment-box input:checked + label {
	background: inherit;
}

.comment-box input:checked + label:before {
	opacity: 0;
  pointer-events: none;
}

.comment-box label:after {
  position: absolute;
  bottom: -50px;
  right: 0;
  width: 70px;
  content: "さらに表示";
  font-size: .875rem;
  color: #09509f;
  line-height: 1;
  margin: 0;
  padding: .4em .8em .3em;
  border: 1px solid #09509f;
  border-radius: 11px;
  background: #fff;
  display: table;
  transition: all .4s;
	z-index: 2;
}

.comment-box label:hover:after {
  color: #fff;
  background: #09509f;
}

.comment-box input:checked + label::after {
  bottom: 20px;
}

.comment-box input {
	display: none;
}

.comment-box .inner {
	overflow: hidden;
	height: 75px;
  padding-bottom: 25px;
	transition: all .4s;
}

.comment-box input:checked + label:after {
	content: "閉じる";
}

.comment-box input:checked ~ .inner {
	height: auto;
  padding-bottom: 60px;
  transition: all .4s;
}

ul.list_voice,
ul.list_voice > li {
  margin: 0;
  display: block;
}

ul.list_voice {
  list-style: none;
  padding: 0;
}

ul.list_voice > li {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 30px;
}

ul.list_voice > li:last-child {
  margin-bottom: 0;
}

ul.list_voice > li .img-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 25px;
}

ul.list_voice > li .img-wrap:before {
  content:"";
  display: block;
  padding-top: 100%;
}

ul.list_voice > li .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  border-radius: 50%;
}

ul.list_voice > li .name {
  font-size: 1.375rem;
  font-weight: 700;
  margin: 0;
}

.map-wrap {
  line-height: 0;
  margin-top: 50px;
}

.map-wrap iframe {
  width: 100%;
  height: 400px;
}

.page.page-template-template_school .box_location {
  margin-top: 0;
}

.page.page-template-template_school .box_location .heading_small01 {
  margin-top: 0;
  margin-bottom: 1em;
}

.box_location .access-wrap {
  margin-top: 50px;
}

.box_location .access-wrap .heading_brd-b01 {
  font-size: 1.25rem;
  color: #09509f;
  text-align: center;
  margin-top: 0;
  border-bottom: 1px solid #09509f;
}

.box_location .access-wrap .img-wrap img {
  height: auto;
}

.box_location .access-wrap .desc {
  font-size: .875rem;
  margin: 0;
  margin-top: 1em;
}

/* franchise */
.box_franchise {
  margin-top: 50px;
}

.box_franchise table.table_type02 {
  margin-top: 35px;
}

.box_franchise .link-btn01 {
  margin: 0;
  margin-top: 35px;
}

/* testimonials */
.box_testimonials {
  margin-top: 50px;
}

.box_testimonials .heading_brd-b01 {
  margin-bottom: 1em;
}

.box_testimonials .read_out p {
  margin: 0;
}

.box_testimonials .row {
  margin-top: 20px;
}

.box_testimonials .schooldata ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: table;
}

.box_testimonials .schooldata ul > li {
  margin: 0;
  padding: 1em;
  border: 1px solid #e6e6e6;
  display: table-cell;
}

.box_testimonials .schooldata ul > li.head {
  font-weight: 700;
  width: 35%;
  background: #f7f9fc;
}

.box_testimonials .schooldata .innerblk_column_read {
  margin: 0;
  margin-top: 1.2em;
}

.box_testimonials .innerblk_column_img_right a,
.box_testimonials .innerblk_column_img_right img {
  display: block;
}

.box_testimonials .innerblk_column_img_right a {
  max-width: 300px;
  margin: 0 auto;
}

.box_testimonials .innerblk_column_img_right img {
  width: 100%;
  height: auto;
  transition: all .4s;
}

.box_testimonials .innerblk_column_img_right a:hover img {
  opacity: .7;
}
.questionnaire-slide-wrap.slide-wrap {
  padding-bottom: 0;
}

.questionnaire-slide-wrap .swiper-slide a {
  display: block;
}

.questionnaire-slide-wrap .img-wrap img {
  height: auto;
  pointer-events: auto;
  transition: all .4s;
}

.questionnaire-slide-wrap .swiper-slide a:hover .img-wrap img {
  opacity: .7;
}

.box_interview .student-info p {
  line-height: 1;
  margin: 0;
  margin-bottom: 1em;
}

.box_interview .student-info p .job {
  margin-left: 1em;
  display: inline-block;
}

.box_interview .student-info .school span {
  display: inline-block;
}

.box_interview .row {
  margin-top: 30px;
}

.box_interview .img-wrap img {
  height: auto;
}

/* faq */
.acd-check {
  display: none;
}

.acd-label,
.acd-label .ttl {
  font-size: 1.25rem;
}

.acd-label {
  position: relative;
  font-weight: 400;
  line-height: 1.55;
  display: block;
  margin-bottom: 1em;
  padding: .8em 0;
  padding-left: 55px;
  padding-right: 30px;
  border-bottom: 2px solid #e6e6e6;
  cursor: pointer;
  transition: all .4s;
}

.acd-label:hover {
  opacity: .7;
}

.acd-label h3 {
  font-weight: 400;
  margin: 0;
}

.acd-label:before,
.acd-label:after {
  position: absolute;
  top: 50%;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
}

.acd-label:before {
  left: 0;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 40px;
  width: 40px;
  height: 40px;
  display: block;
  border-radius: 50%;
  background: #09509f;
  content: "Q";
}

.acd-label:after {
  right: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f078';
  color: #09509f;
  transition: all .4s;
}

.acd-check:checked + .acd-label:after {
  -ms-transform: translate(0,-50%) rotate(-180deg);
  -webkit-transform: translate(0,-50%) rotate(-180deg);
  transform: translate(0,-50%) rotate(-180deg);
}

.acd-content {
  display: block;
  height: 0;
  opacity: 0;
  transition: all .4s;
  visibility: hidden;
}

.acd-check:checked + .acd-label + .acd-content {
  padding-bottom: 20px;
  height: auto;
  opacity: 1;
  visibility: visible;
}

.acd-content .img-wrap img {
  height: auto;
}

.acd-content .text-wrap p,
.acd-content .text-wrap ol,
.acd-content .text-wrap ul {
  margin: 0;
  margin-bottom: 1rem;
}

/* saiyo */
.box_recruit {
  margin-top: 50px;
}

.box_recruit .img-wrap img {
  height: auto;
}

.box_recruit .heading_brd-b01 {
  margin-top: 1.5em;
  margin-bottom: 1em;
}

/* contact form */
.contactform table.table_tr th {
  font-weight: 700;
}

.contactform .link-btn01 {
  border: none;
  margin-top: 30px;
}

/* toi */
.toi .contactform ul.list_caution {
  margin-top: 50px;
}

@media screen and (min-width: 769px) {
  .feature-wrap {
    margin-top: 70px;
  }

  .feature-wrap .box {
    height: 100%;
  }

  .teacher-slide-wrap02 .box .row .col-1 {
    margin-right: 15px;
  }

  .teacher-slide-wrap02 .box .row .col-2 {
    margin-left: 15px;
  }

  ul.list_voice > li .row .col-1 {
    margin-right: 15px;
  }

  ul.list_voice > li .row .col-2 {
    margin-left: 15px;
  }

  .box_system .btn-wrap01 {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    margin-top: 35px;
  }

  .box_system .btn-wrap01 .link-btn01 {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .box_testimonials .row .col-1,
  .box_testimonials .row .col-3 {
    margin: 0;
  }

  .box_testimonials .row .col-1 {
    margin-left: 20px !important;
  }

  .box_testimonials .row .col-3 {
    margin-right: 20px !important;
  }
}

@media screen and (min-width: 901px) {
  .box_teacher table.table_type01 th {
    width: 20%;
  }
}

@media screen and (min-width: 1025px) {
  .box_location table.table_type01 th {
    width: 20%;
  }

  .price-section .price-box {
    border-right: 1px solid #e6e6e6;
    height: 100%;
  }

  .price-section .section-inner .row > .col-1:last-child .price-box {
    border-right: none;
  }

  .price-section .price-box.plan01 .price02 {
    margin-top: 39px;
  }

  .price-section .price-box .comment-wrap {
    padding-right: 80px;
  }

  .price-section .price-box .comment-wrap .img-wrap {
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .price-section .price-box .comment-wrap .text-wrap {
    min-height: 90px;
  }

  .price-section .price-box .comment-wrap .text-wrap:before,
  .price-section .price-box .comment-wrap .text-wrap:after {
    top: 50%;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
  }

  .price-section .price-box .comment-wrap .text-wrap:before {
    right: -26px;
    border: 13px solid transparent;
    border-left: 13px solid #FFF;
  }

  .price-section .price-box .comment-wrap .text-wrap:after {
    right: -28px;
    border: 14px solid transparent;
    border-left: 14px solid #09509f;
  }
}

@media screen and (min-width: 769px) and (max-width: 900px) {
  .box_teacher table.table_type01 th {
    width: 25%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .box_location table.table_type01 th {
    width: 30%;
  }
}

@media screen and (max-width: 1300px) {
  .price-section {
    padding: 0 20px;
  }

  .price-section .section-inner {
    padding: 25px 0;
  }

  .price-section .price-box {
    padding: 0 20px;
  }
}

@media screen and (max-width: 1024px) {
  .page-mv .ttl {
    font-size: 1.875rem;
  }

  .greeting-wrap01 .ttl {
    font-size: 1.875rem;
  }

  .teacher-slide-wrap01 .box .name {
    font-size: 1.0625rem;
  }

  .price-section .section-inner {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 600px;
  }

  .price-section .row {
	   -webkit-flex-direction: column;
	   flex-direction: column;
	}

  .price-section .price-box {
    padding: 40px 0;
    border-bottom: 1px solid #e6e6e6;
  }

  .price-section .row > .col-1:last-child .price-box {
    border-bottom: none;
  }

  .price-section .price-box .comment-wrap {
    margin-top: 25px;
  }

  .price-section .price-box .comment-wrap .text-wrap {
    margin-top: 25px;
  }

  .price-section .price-box .comment-wrap .text-wrap:before,
  .price-section .price-box .comment-wrap .text-wrap:after {
    left: 50%;
    -ms-transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
  }

  .price-section .price-box .comment-wrap .text-wrap:before {
    top: -26px;
    border: 13px solid transparent;
    border-bottom: 13px solid #FFF;
  }

  .price-section .price-box .comment-wrap .text-wrap:after {
    top: -28px;
    border: 14px solid transparent;
    border-bottom: 14px solid #09509f;
  }

  .price-section .price-box .comment-wrap .img-wrap {
    max-width: 100px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .page-mv .ttl {
    font-size: 1.5625rem;
  }

  .mv.mv_school {
    height: 300px;
  }

  .mv.mv_school .mainimg,
  .mv.mv_school .mainimg .slider div {
    height: 295px;
  }

  .heading_sub01.heading_feature01 img {
    right: -100px;
    width: 100px;
  }

  .box_location .access-wrap .heading_brd-b01 {
    margin-bottom: .5em;
  }

  .box_location .access-wrap .img-wrap {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }

  .teacher-slide-wrap01,
  .teacher-slide-wrap02 {
    margin-top: 40px
  }

  .teacher-slide-wrap02 .box .row .col-1,
  .teacher-slide-wrap02 .box .row .col-2 {
    display: contents;
  }

  .teacher-slide-wrap02 .box {
    padding: 30px 20px;
    padding-bottom: 75px;
  }

  .teacher-slide-wrap02 .box .img-wrap {
    max-width: 100px;
    margin: 0 auto;
  }

  .teacher-slide-wrap02 .box .name {
    font-size: 1.125rem;
    text-align: center;
    margin: 1em auto;
  }

  .teacher-slide-wrap02 .box .country {
    margin: 0 auto;
  }

  .teacher-slide-wrap02 .box .comment-box {
    margin-top: 15px;
  }

  ul.list_voice > li {
    padding-bottom: 55px;
  }

  ul.list_voice > li .row .col-1,
  ul.list_voice > li .row .col-2 {
    display: contents;
  }

  ul.list_voice > li .name {
    font-size: 1.125rem;
    text-align: center;
    margin: 0 auto;
  }

  ul.list_voice > li .img-wrap {
    max-width: 100px;
    margin: 0 auto;
  }

  .map-wrap iframe {
    height: 250px;
  }

  .acd-label,
  .acd-label .ttl {
    font-size: 1.125rem;
  }

  .acd-label {
    padding-left: 50px;
  }

  .acd-label:before {
    line-height: 35px;
    width: 35px;
    height: 35px;
  }

  .box_system .row .col-1,
  .box_system .row .col-2 {
    margin: 0;
  }

  .box_system .row .col-2 {
    margin-top: 20px;
  }

  .box_system .btn-wrap01 {
    margin-top: 0;
  }

  .box_system .btn-wrap01 .link-btn01 {
    margin-top: 30px;
  }

  .box_teacher .row .col-1,
  .box_teacher .row .col-3 {
    margin: 0;
  }

  .box_teacher .row .col-3 {
    margin-top: 30px;
  }

  .box_teacher .img-wrap {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    display: table;
  }

  .acd-content .row .col-1,
  .acd-content .row .col-2 {
    margin: 0;
  }

  .acd-content .row .col-2 {
    margin-top: 20px;
  }

  .box_location .row .col-2,
  .box_location .row .col-3 {
    margin: 0;
  }

  .box_location .row .col-3 {
    margin-top: 30px;
  }

  .box_testimonials .row .col-1,
  .box_testimonials .row .col-3 {
    margin: 0;
  }

  .box_testimonials .row .col-3 {
    margin-top: 30px;
  }

  .box_testimonials .schooldata ul,
  .box_testimonials .schooldata ul > li {
    display: block;
  }

  .box_testimonials .schooldata ul > li,
  .box_testimonials .schooldata ul > li.head {
    width: 100%;
    border-bottom: none;
  }

  .box_testimonials .schooldata ul > li {
    border-bottom: 1px solid #e6e6e6;
  }

  .box_testimonials .schooldata ul > li.head {
    border-top: none;
  }

  .box_testimonials .schooldata ul:first-child > li {
    border-top: 1px solid #e6e6e6;
  }

  .box_testimonials .innerblk_column_img_right a {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }

  .box_interview .row .col-1,
  .box_interview .row .col-3 {
    margin: 0;
  }

  .box_interview .row .col-3 {
    margin-top: 30px;
  }

  .box_interview .img-wrap {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 480px) {
  .page-mv .ttl {
    font-size: 1.375rem;
  }

  .greeting-wrap01 .ttl {
    font-size: 1.5625rem;
  }

  .greeting-wrap01 .sub {
    font-size: 1.0625rem;
  }

  .heading_sub01.heading_feature01 img {
    right: -70px;
    width: 70px;
  }

  .price-section {
    padding: 0 15px;
  }

  .price-section .section-inner {
    padding: 0 15px;
  }

  .price-section .price-box .ttl {
    font-size: 1.125rem;
  }

  .price-section .price-box .box-inner01 {
    margin-top: 20px;
    padding: 0;
  }
}

@media screen and (max-width: 400px) {
  .greeting-wrap01 .ttl {
    font-size: 1.375rem;
  }

  .greeting-wrap01 .sub {
    font-size: .9375rem;
  }
}

@media screen and (max-width: 350px) {
  .page-mv .ttl {
    font-size: 1.25rem;
  }

  .greeting-wrap01 .ttl {
    font-size: 1.25rem;
    letter-spacing: .05em;
  }

  .feature-wrap .box .ttl {
    font-size: 1rem;
  }

  .feature-wrap .box .ttl span {
    font-size: 1.125rem;
  }
}

/************************************
** article
************************************/
ul.post-list {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  display: inline-block;
  width: 100%;
  vertical-align: top;
}

ul.post-list > li {
  font-size: 1rem;
  text-align: left;
  margin: 2.5%;
  display: inline-block;
  vertical-align: top;
}

ul.post-list > li a {
  color: #000;
  text-decoration: none;
  display: block;
}

ul.post-list > li .img-wrap {
  height: 217px;
  overflow: hidden;
}

ul.post-list > li .img-wrap img {
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  transition: all .4s;
}

ul.post-list > li a:hover .img-wrap img {
  transform: scale(1.2);
}

ul.post-list > li .info-wrap {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-top: none;
  padding: 15px 20px;
  transition: all .4s;
}

ul.post-list > li a:hover .info-wrap {
  opacity: .7;
}

ul.post-list > li .info-wrap p {
  margin: 0;
}

ul.post-list > li .info-wrap .post-date {
  color: #09509f;
}

ul.post-list > li .info-wrap .ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: .2em;
}

ul.article-list,
ul.article-list > li {
  margin: 0;
  display: block;
}

ul.article-list {
  list-style: none;
  padding: 0;
}

ul.article-list > li,
ul.article-list > li a {
  font-size: 1rem;
}

ul.article-list > li {
  border-top: 1px solid #e6e6e6;
}

ul.article-list > li:last-child {
  border-bottom: 1px solid #e6e6e6;
}

ul.article-list > li a {
  color: #000;
  text-decoration: none;
  padding: 2em 0;
  display: flex;
  width: 100%;
  transition: all .4s;
}

ul.article-list > li a:hover {
  opacity: .7;
}

ul.article-list > li a .post-date,
ul.article-list > li a .ttl {
  display: inline-block;
}

ul.article-list > li a .post-date {
  color: #09509f;
  width: 80px;
  margin-right: 1.5em;
}

@media screen and (min-width: 769px) {
  ul.post-list > li .info-wrap {
    min-height: 122px;
  }
}

@media screen and (min-width: 1025px) {
  ul.post-list > li {
    width: 30%;
  }

  ul.post-list > li:nth-child(1),
  ul.post-list > li:nth-child(4),
  ul.post-list > li:nth-child(7),
  ul.post-list > li:nth-child(10) {
    margin-left: 0;
  }

  ul.post-list > li:nth-child(3),
  ul.post-list > li:nth-child(6),
  ul.post-list > li:nth-child(9),
  ul.post-list > li:nth-child(12)
  ul.post-list > li:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  ul.post-list > li {
    width: 47.5%;
  }

  ul.post-list > li:nth-child(odd) {
    margin-left: 0;
  }

  ul.post-list > li:nth-child(even) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  ul.post-list > li {
    width: 100%;
    margin: 0 0 40px;
  }

  ul.post-list > li:last-child {
    margin: 0;
  }

  ul.post-list > li .img-wrap {
    height: 200px;
  }

  ul.article-list > li a,
  ul.article-list > li a .post-date,
  ul.article-list > li a .ttl {
    display: block;
  }

  ul.article-list > li a {
    padding: 1em 0;
  }

  ul.article-list > li a .post-date {
    font-size: .875rem;
  }

  ul.article-list > li a .ttl {
    margin-top: .5em;
  }
}

/************************************
** single
************************************/
.single .post-date_single {
  font-size: .875rem;
  color: #999;
  line-height: 1;
  letter-spacing: .1em;
  margin: 0;
}

.single-title,
.page-title,
.entry-title {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.7;
  margin: 0;
  margin-top: 1em;
  margin-bottom: 1em;
}

.single .entry-content p {
  margin: 2em 0;
}

.single .entry-content img {
  height: auto;
  margin: 0;
  margin-bottom: 40px;
  display: block;
}

.single .entry-content iframe {
  max-width: 100%;
}

.single .post-linkbtn-wrap {
  margin-top: 70px;
}

@media screen and (max-width: 480px) {
  .single-title,
  .page-title,
  .entry-title {
    font-size: 1.25em;
  }
}

/************************************
** breadcrumb
************************************/
#breadcrumb {
  width: 100%;
	padding: 7px 0;
	background: #fff;
  border-top: 1px solid #e6e6e6;
}

#breadcrumb ul {
  list-style: none;
  margin: 0;
	padding: 0;
  display: inline-block;
}

#breadcrumb ul > li {
  position: relative;
  margin: 0;
  margin-right: 2em;
  display: inline-block;
}

#breadcrumb ul > li:after {
  position: absolute;
  top: 50%;
  right: -1.3em;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
}

#breadcrumb ul > li:last-child {
  margin-right: 0;
}

#breadcrumb ul > li:last-child:after {
  display: none;
}

#breadcrumb ul > li,
#breadcrumb ul > li a {
  font-size: .875rem;
	color: #666;
  line-height: 1;
}

#breadcrumb ul > li a {
  text-decoration: none;
  transition: all .4s;
}
#breadcrumb ul > li a:hover {
  text-decoration: underline;
  opacity: .7;
}

@media screen and (max-width: 768px) {
  #breadcrumb {
    padding: .5em 0;
  }

  #breadcrumb ul > li {
    line-height: 1.7;
  }
}

@media screen and (max-width: 480px) {
  #breadcrumb,
  #breadcrumb ul > li a {
    font-size: .75rem;
  }
}

/************************************
** display
************************************/
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

.pe-n {
    pointer-events: none;
}

/************************************
** layout
************************************/
.container500,
.container600,
.container700,
.container800,
.container1040,
.container1140,
.container1240 {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.container500 {
  max-width: 500px;
}
.container600 {
  max-width: 600px;
}
.container700 {
  max-width: 700px;
}
.container800 {
  max-width: 800px;
}
.container1040 {
  max-width: 1040px;
}
.container1140 {
  max-width: 1140px;
}
.container1240 {
  max-width: 1240px;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.center-left {
  display: table;
  margin: 0 auto;
}

.row,
.row2 {
	display:-webkit-box;
  display: -webkit-flex;
  display:-ms-flexbox;
  display: flex;
  -webkit-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.col-1 {flex:1;}
.col-2 {flex:2;}
.col-3 {flex:3;}
.col-4 {flex:4;}
.col-5 {flex:5;}
.col-6 {flex:6;}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6 {
  margin: 0 20px;
}

.order-1 {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}
.order-2 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}

@media screen and (min-width: 569px) {
	.row2 > div:first-child {
	    margin-left: 0 !important;
	}
	.row2 > div:last-child {
	    margin-right: 0 !important;
	}
}

@media screen and (min-width: 769px) {
	.row > div:first-child {
	    margin-left: 0 !important;
	}
	.row > div:last-child {
	    margin-right: 0 !important;
	}

  .wrap_va-m {
    display: table;
    width: 100%;
    height: 100%;
  }

  .wrap_va-m .inner {
    display: table-cell;
    vertical-align: middle;
  }
}

@media screen and (max-width: 1280px) {
	.container1240 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 1180px) {
	.container1140 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 1080px) {
	.container1040 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 840px) {
	.container800 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 768px) {
	.row {
	   -webkit-flex-direction: column;
	   flex-direction: column;
	}

  .row .col-1,
	.row .col-2,
	.row .col-3,
	.row .col-4,
	.row .col-5,
	.row .col-6 {
	    margin: 20px 0;
	}

  .row .order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .row .order-2 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 740px) {
	.container700 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 640px) {
	.container600 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 568px) {
  .row2 {
     -webkit-flex-direction: column;
     flex-direction: column;
  }

  .row2 .col-1,
	.row2 .col-2,
	.row2 .col-3,
	.row2 .col-4,
	.row2 .col-5,
	.row2 .col-6 {
	    margin: 20px 0;
	}

  .row2 .order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .row2 .order-2 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 540px) {
	.container500 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/************************************
** background
************************************/
.bg_wh {
  position: relative;
  background: #fff;
}
.bg_wh01 {
  padding: 70px 0;
}
.bg_wh02 {
  padding: 90px 0;
}
.bg_wh03 {
  padding: 50px 0 60px;
}
.bg_wh04 {
  padding: 70px 0 0;
}

.bg_bl {
  position: relative;
  background: #f8f9fc;
}
.bg_bl01 {
  padding: 70px 0;
}
.bg_bl02 {
  padding: 90px 0;
}
.bg_bl03 {
  padding: 50px 0 60px;
}

@media screen and (max-width: 768px) {
  .bg_wh01 {
    padding: 50px 0;
  }
  .bg_wh02 {
    padding: 70px 0;
  }

  .bg_bl01 {
    padding: 50px 0;
  }
  .bg_bl02 {
    padding: 70px 0;
  }
}

/************************************
** background
************************************/
.box_wh {
  position: relative;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.box_wh01 {
  padding: 50px 20px 60px;
}
.box_wh02 {
  padding: 40px 50px;
}

.box_brd01 {
  position: relative;
  background: #fff;
  margin-top: 70px;
  padding: 30px 40px;
  border: 1px solid #09509f;
}

.box_brd01 .ttl {
  font-size: 1.25rem;
  font-weight: 700;
  color: #09509f;
  text-align: center;
  line-height: 1.6;
  letter-spacing: .1em;
  margin: 0 auto;
  margin-bottom: .5em;
}

.box_brd01 p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .box_wh01 {
    padding: 35px 20px 45px;
  }
  .box_wh02 {
    padding: 30px 25px;
  }

  .box_brd01 {
    margin-top: 50px;
    padding: 20px 25px;
  }

  .box_brd01 .ttl {
    font-size: 1.125rem;
  }

  .box_brd01 p {
    font-size: .875rem;
  }
}

@media screen and (max-width: 480px) {
  .box_wh02 {
    padding: 25px 20px;
  }

  .box_brd01 {
    padding: 20px;
  }
}

/************************************
** text
************************************/
.ta-l {
    text-align: left;
}

.ta-c {
    text-align: center;
}

.ta-r {
    text-align: right;
}

.fs-14 {
  font-size: .875rem;
}

.fs-18 {
  font-size: 1.125rem;
}

.fs-20 {
  font-size: 1.25rem;
}

.c-red {
  color: #fa0f0c;
}

.c-bl {
  color: #09509f;
}

.c-or {
  color: #f38f1e;
}

.lh-2 {
  line-height: 2;
}

.marker_ylw01 {
  background:linear-gradient(transparent 50%, #ffff00 50%);
}

@media screen and (min-width: 769px) {
  .ta-l_pc {
    text-align: left;
  }

  .ta-c_pc {
    text-align: center;
  }

  .ta-r_pc {
    text-align: right;
  }
}

@media screen and (max-width: 480px) {
  .fs-20 {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 350px) {
  .fs-18 {
    font-size: 1.0625rem;
  }
}

/************************************
** heading
************************************/
.heading_mid01 i,
.heading_sub01 i {
  font-size: 50px;
  color: #09509f;
  display: block;
  margin-bottom: .45em;
}

.heading_small01 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #09509f;
  margin: 0;
  margin-top: 1em;
  margin-bottom: .3em;
}

.heading_mid01 {
  font-size: 1.5625rem;
  font-weight: 700;
  text-align: center;
  color: #09509f;
  margin: 0 auto;
  margin-top: 2em;
  margin-bottom: 1.5em;
}

.heading_lar01 {
  font-size: 2.1875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.7;
  margin: 0 auto;
  margin-top: 2em;
  margin-bottom: 1.5em;
}

.heading_mid01 .marker_ylw01 {
  color: #333;
}

.heading_sub01 {
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.55;
  letter-spacing: .05em;
  margin: 0 auto;
  margin-bottom: 1.5em;
}

.heading_sub01 .sub {
  font-size: 1rem;
  color: #09509f;
  line-height: 1;
  letter-spacing: .1em;
  margin-bottom: 1em;
  display: block;
}

.heading_brd-b01 {
  font-size: 1.375rem;
  font-weight: 700;
  margin: 0;
  margin-top: 2.5em;
  margin-bottom: 1.5em;
  padding-bottom: .5em;
  border-bottom: 2px solid #e6e6e6;
}

.heading_brd-b01 .sub {
  font-size: 1rem;
  color: #09509f;
  display: block;
}

.heading_brd-b01.heading_num {
  position: relative;
  margin-bottom: .8em;
  padding-bottom: .7em;
  padding-left: 60px;
}

.heading_brd-b01.heading_num .num {
  position: absolute;
  top: -5px;
  left: 0;
  font-size: 1.25rem;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  text-align: center;
  line-height: 47px;
  width: 45px;
  height: 45px;
  background: #09509f;
  border-radius: 50%;
  display: block;
}

.heading_brd-b01.heading_num.num_pk .num {
  background: #db5ca8;
}

.heading_brd-b01.heading_reason {
  position: relative;
  margin-bottom: .8em;
  padding-bottom: .7em;
  padding-left: 100px;
  display: table;
  width: 100%;
  min-height: 90px;
}

.heading_brd-b01.heading_reason .heading-text {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.heading_brd-b01.heading_reason .circle {
  position: absolute;
  top: -4px;
  left: 0;
  font-size: .625rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  letter-spacing: .1em;
  width: 80px;
  height: 80px;
  background: #09509f;
  border-radius: 50%;
  display: block;
}

.heading_brd-b01.heading_reason .circle .text {
  position: absolute;
  top: 54%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.heading_brd-b01.heading_reason .circle .num {
  font-size: 2.5rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  display: block;
  margin-top: .05em;
  margin-left: -6px;
}

.heading_brd-b01.heading_reason .c-or {
  font-weight: 700;
}

.heading_band01 {
  font-size: 1.375rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 1.5em;
  padding: .5em 1em;
  background: #09509f;
  border-radius: 28px;
}

.heading_band01 .sub {
  font-size: 1rem;
  font-weight: 400;
  display: block;
  margin-top: .1em;
  margin-bottom: .1em;
}

@media screen and (max-width: 1024px) {
  .heading_sub01 {
    font-size: 1.5625rem;
  }

  .heading_mid01 i,
  .heading_sub01 i {
    font-size: 45px;
  }
}

@media screen and (max-width: 768px) {
  .heading_mid01 {
    font-size: 1.375rem;
  }

  .heading_lar01 {
    font-size: 1.875rem;
  }

  .heading_sub01 {
    font-size: 1.375rem;
  }

  .heading_sub01 .sub {
    font-size: .875rem;
  }

  .heading_mid01 i,
  .heading_sub01 i {
    font-size: 40px;
  }

  .heading_brd-b01 {
    font-size: 1.25rem;
  }

  .heading_brd-b01.heading_num {
    padding-left: 50px;
  }

  .heading_brd-b01.heading_num .num {
    top: -3px;
    font-size: 1.125rem;
    line-height: 37px;
    width: 35px;
    height: 35px;
  }


  .heading_brd-b01.heading_reason {
    padding-left: 90px;
    min-height: 85px;
  }

  .heading_brd-b01.heading_reason .circle {
    top: -3px;
    width: 70px;
    height: 70px;
  }

  .heading_brd-b01.heading_reason .circle .num {
    font-size: 2.1875rem;
  }

  .heading_band01 {
    font-size: 1.25rem;
    border-radius: 26px;
  }

  .heading_band01 .sub {
    font-size: .875rem;
  }
}

@media screen and (max-width: 480px) {
  .heading_mid01 {
    font-size: 1.25rem;
  }

  .heading_lar01 {
    font-size: 1.5625rem;
  }

  .heading_brd-b01.heading_reason {
    padding-left: 80px;
    min-height: 75px;
  }

  .heading_brd-b01.heading_reason .circle {
    top: -1px;
    width: 65px;
    height: 65px;
  }

  .heading_brd-b01.heading_reason .circle .num {
    font-size: 1.875rem;
  }

  .heading_brd-b01 {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 350px) {
  .heading_small01 {
    font-size: 1.0625rem;
  }

  .heading_mid01 {
    font-size: 1.125rem;
  }

  .heading_lar01 {
    font-size: 1.375rem;
  }

  .heading_sub01 {
    font-size: 1.25rem;
  }

  .heading_sub01 .sub {
    font-size: .75rem;
  }

  .heading_mid01 i,
  .heading_sub01 i {
    font-size: 35px;
  }

  .heading_brd-b01 {
    font-size: 1.0625rem;
  }

  .heading_brd-b01.heading_num .num {
    top: -6px;
  }

  .heading_band01 {
    font-size: 1.125rem;
    border-radius: 23px;
  }
}

/************************************
** link
************************************/
.link-btn01 {
  position: relative;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 1.6;
  min-width: 200px;
  max-width: 500px;
  background: #25c04a;
  display: table;
  margin: 0 auto;
  margin-top: 50px;
  padding: .85em 40px;
  border-radius: 25px;
  box-shadow: 0 0 7px rgba(0,0,0,0.3);
  transition: all .4s;
}

.link-btn01:hover {
  opacity: .8;
  box-shadow: none;
}

.link-btn01 .arrow {
  position: absolute;
  top: 50%;
  right: 20px;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  width: 13.5px;
  height: 2px;
  display: block;
  background: #fff;
  transition: all .4s;
}

.link-btn01 .arrow:before {
  position: absolute;
  top: 50%;
  right: 0;
  -ms-transform: translate(0,-50%) rotate(45deg);
  -webkit-transform: translate(0,-50%) rotate(45deg);
  transform: translate(0,-50%) rotate(45deg);
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.link-btn01:hover .arrow {
  right: 15px;
}

.link-btn01.link-btn_contact {
  font-size: 1.25rem;
  font-weight: 700;
  width: 100%;
  margin-top: 0;
  border-radius: 31px;
}

.anchor-link {
  position: relative;
  display: block;
}

.anchor-link.anchor-link01 {
  top: -100px;
}

@media screen and (max-width: 768px) {
  .link-btn01 {
    margin-top: 35px;
  }
}

@media screen and (max-width: 480px) {
  .link-btn01 {
    margin-top: 30px;
  }
}

/************************************
** image
************************************/
.img-wrap {
  line-height: 0;
}

.img-wrap img {
  width: 100%;
  margin: 0;
  display: block;
  pointer-events: none;
}

/************************************
** list
************************************/
ol.list_num {
  counter-reset: number;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ol.list_num > li {
  position: relative;
  margin: 0;
  margin-bottom: .2em;
  padding-left: 27px;
}

ol.list_num > li:last-child {
  margin-bottom: 0;
}

ol.list_num > li:before{
  position: absolute;
  top: 2px;
  left: 0;
  counter-increment: number;
  content: counter(number);
  font-weight: 700;
  color: #fff;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: block;
  background: #09509f;
}

ul.list_caution {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}

ul.list_caution > li {
  position: relative;
  font-size: .875rem;
  margin: 0;
  margin-bottom: .5em;
  padding-left: 1.2em;
  display: block;
}

ul.list_caution > li:last-child {
  margin-bottom: 0;
}

ul.list_caution > li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

ul.box-list,
ul.box-list > li {
  margin: 0;
  display: block;
  width: 100%;
}

ul.box-list {
  list-style: none;
  padding: 0;
}

ul.box-list.box-list01 > li {
  margin-bottom: 50px;
}

ul.box-list.box-list01 > li:last-child {
  margin-bottom: 0;
}

/************************************
** table
************************************/
table.table_type01 {
  width: 100%;
}

table.table_type01 th,
table.table_type01 td {
  text-align: left;
  padding: 1em 1.3em;
  border: 1px solid #e6e6e6;
}

table.table_type01 th {
  font-weight: 700;
  width: 30%;
  background: #f7f9fc;
}

table.table_type02 {
  width: 100%;
}

table.table_type02 th,
table.table_type02 td {
  text-align: center;
  padding: 1em;
  width: 50%;
  border: 1px solid #e6e6e6;
}

table.table_type02 th {
  font-weight: 700;
}

table.table_type02 thead th {
  color: #fff;
  background: #09509f;
}

table.table_type02 tbody th {
  background: #f7f9fc;
}

table.table_type03 {
  width: 100%;
}

table.table_type03 th,
table.table_type03 td {
  text-align: center;
  padding: .7em .5em;
  border: 1px solid #e6e6e6;
}

table.table_type03 th {
  font-weight: 700;
}

table.table_type03 thead th {
  background: #f7f9fc;
  width: 33.3333333333%;
}

table.table_type03 thead th.ttl {
  color: #fff;
  background: #09509f;
  width: 100%;
}

table.table_tr {
  width: 100%;
}

table.table_tr,
table.table_tr tr,
table.table_tr th,
table.table_tr td {
  background: transparent !important;
  border: 0 !important;
}

table.table_tr th,
table.table_tr td {
  font-weight: 400;
  text-align: left;
  padding: 1em 0;
  vertical-align: top;
}

table.table_tr th {
  width: 30%;
  padding-right: 1em;
}

@media screen and (max-width: 768px) {
  table.table_type01 th,
  table.table_type01 td {
    width: 100%;
    display: block;
  }

  table.table_type01 td {
    border-top: none;
    border-bottom: none;
  }

  table.table_type01 tr:last-child td {
    border-bottom: 1px solid #e6e6e6;
  }

  table.table_type02 th,
  table.table_type02 td {
    font-size: .875rem;
  }

  table.table_type03 th,
  table.table_type03 td {
    font-size: .875rem;
  }

  table.table_tr th,
  table.table_tr td {
    width: 100%;
    display: block;
  }

  table.table_tr th {
    padding-right: 0;
    padding-bottom: .25em;
  }

  table.table_tr td {
    padding-top: .25em;
  }
}

/************************************
** form
************************************/
.form-wrap p {
  margin: 0 !important;
}

.form-wrap table.table_tr tr th {
  font-weight: 700;
}

.form-wrap .required {
  font-size: .75rem;
  color: #fff;
  line-height: 1;
  padding: .3em .4em .25em;
  background: #eb8000;
  margin-left: 1em;
  display: inline-block;
}

.form-wrap input[type="submit"] {
  position: relative;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 1.6;
  min-width: 200px;
  max-width: 500px;
  background: #25c04a;
  display: table;
  margin: 0 auto;
  margin-top: 30px;
  padding: .85em 40px;
  border: none;
  border-radius: 25px;
  box-shadow: 0 0 7px rgba(0,0,0,0.3);
  transition: all .4s;
}

.form-wrap input[type="submit"]:hover {
  opacity: .8;
  box-shadow: none;
}

@media screen and (min-width: 769px) {
  .form-wrap table.table_tr tr th {
    width: 30%;
  }
}

/************************************
** margin
************************************/
.m-0 {
	margin: 0 !important;
}

.mt-0 {
	margin-top: 0 !important;
}
.mt-10 {
	margin-top: 10px !important;
}
.mt-20 {
	margin-top: 20px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mt-40 {
	margin-top: 40px !important;
}
.mt-50 {
	margin-top: 50px !important;
}
.mt-60 {
	margin-top: 60px !important;
}
.mt-70 {
	margin-top: 70px !important;
}
.mt-80 {
	margin-top: 80px !important;
}
.mt-90 {
	margin-top: 90px !important;
}
.mt-100 {
	margin-top: 100px !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
.mb-30 {
	margin-bottom: 30px !important;
}
.mb-40 {
	margin-bottom: 40px !important;
}
.mb-50 {
	margin-bottom: 50px !important;
}
.mb-60 {
	margin-bottom: 60px !important;
}
.mb-70 {
	margin-bottom: 70px !important;
}
.mb-80 {
	margin-bottom: 80px !important;
}
.mb-90 {
	margin-bottom: 90px !important;
}
.mb-100 {
	margin-bottom: 100px !important;
}

/************************************
** padding
************************************/
.p-0 {
	padding: 0 !important;
}

.pt-0 {
	padding-top: 0 !important;
}
.pt-10 {
	padding-top: 10px !important;
}
.pt-20 {
	padding-top: 20px !important;
}
.pt-30 {
	padding-top: 30px !important;
}
.pt-40 {
	padding-top: 40px !important;
}
.pt-50 {
	padding-top: 50px !important;
}
.pt-60 {
	padding-top: 60px !important;
}
.pt-70 {
	padding-top: 70px !important;
}
.pt-80 {
	padding-top: 80px !important;
}
.pt-90 {
	padding-top: 90px !important;
}
.pt-100 {
	padding-top: 100px !important;
}

.pb-0 {
	padding-bottom: 0 !important;
}
.pb-10 {
	padding-bottom: 10px !important;
}
.pb-20 {
	padding-bottom: 20px !important;
}
.pb-30 {
	padding-bottom: 30px !important;
}
.pb-40 {
	padding-bottom: 40px !important;
}
.pb-50 {
	padding-bottom: 50px !important;
}
.pb-60 {
	padding-bottom: 60px !important;
}
.pb-70 {
	padding-bottom: 70px !important;
}
.pb-80 {
	padding-bottom: 80px !important;
}
.pb-90 {
	padding-bottom: 90px !important;
}
.pb-100 {
	padding-bottom: 100px !important;
}

/************************************
** animation
************************************/
.fadein {
  opacity : 0;
  transition : .7s all;
}

.fadein.ttb {
	transform : translate(0, -40px);
}
.fadein.btt {
	transform : translate(0, 40px);
}
.fadein.ltr {
	transform : translate(-40px, 0);
}
.fadein.rtl {
	transform : translate(40px, 0);
}

.fadein.scrollin {
  opacity : 1;
}

.fadein.ttb.scrollin,
.fadein.btt.scrollin,
.fadein.ltr.scrollin,
.fadein.rtl.scrollin {
	transform : translate(0, 0) !important;
}

.fadein02 {
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
}
.fadein03 {
	-moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
.fadein04 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}
.fadein05 {
  -moz-transition-delay: 800ms;
  -webkit-transition-delay: 800ms;
  -o-transition-delay: 800ms;
  -ms-transition-delay: 800ms;
}
.fadein06 {
  -moz-transition-delay: 1000ms;
  -webkit-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms;
}

@media screen and (max-width: 768px) {
  .fadein02,
  .fadein03,
  .fadein04,
  .fadein05,
  .fadein06 {
    -moz-transition-delay: 0s;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    -ms-transition-delay: 0s;
  }
}

/************************************
** parts
************************************/
.section_parts-list.entry-content h2 {
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
  margin-top: 3em;
  margin-bottom: 1.5em;
  padding-bottom: .5em;
  border-bottom: 1px solid #09509f;
}

.section_parts-list.entry-content h3 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
  margin-top: 2.5em;
  margin-bottom: 1em;
  padding-left: .8em;
  border-left: 5px solid #09509f;
}

/* column */
.column {
	display:-webkit-box;
  display: -webkit-flex;
  display:-ms-flexbox;
  display: flex;
  -webkit-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.column .col1 {flex:1;}
.column .col2 {flex:2;}
.column .col3 {flex:3;}
.column .col4 {flex:4;}
.column .col5 {flex:5;}
.column .col6 {flex:6;}
.column .col1,
.column .col2,
.column .col3,
.column .col4,
.column .col5,
.column .col6 {
  margin: 20px;
}

/* box */
.box_wh1 {
  padding: 40px 50px;
}

/* banner */
.link-bnr01 {
  display: table;
  margin: 0 auto;
  margin-top: 40px;
  width: 100%;
  max-width: 500px;
}

.link-bnr01 .column > div {
  margin: 0;
}

.link-bnr01 a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 20px 30px;
  border-radius: 20px;
  box-shadow: 0 10px 20px 0 rgba(0,0,0,0.2);
  transition: all .4s;
}

.link-bnr01 a:hover {
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}

.link-bnr01 i {
  font-size: 7rem;
  text-align: center;
  display: block;
}

.link-bnr01 .text {
  text-align: center;
  line-height: 1.55;
  margin: 0 auto;
}

.link-bnr01 .text.text01 {
  font-size: 1.125rem;
}

.link-bnr01 .text.text02 {
  margin-top: .4em;
}

@media screen and (min-width: 769px) {
	.column > div:first-child {
	    margin-left: 0 !important;
	}
	.column > div:last-child {
	    margin-right: 0 !important;
	}

  .link-bnr01 .column > div:first-child {
	    margin-right: 10px;
	}
	.link-bnr01 .column > div:last-child {
	    margin-left: 10px;
	}
}

@media screen and (max-width: 768px) {
	.column {
	   -webkit-flex-direction: column;
	   flex-direction: column;
	}

  .column .col1,
	.column .col2,
	.column .col3,
	.column .col4,
	.column .col5,
	.column .col6 {
	    margin: 20px 0;
	}

  .box_wh1 {
    padding: 30px 20px;
  }

  .column > div:last-child {
	    margin-top: 20px;
	}

  .link-bnr01 a {
    padding: 20px;
  }
}

@media screen and (max-width: 480px) {
  .section_parts-list.entry-content h2 {
    font-size: 1.375rem;
  }

  .section_parts-list.entry-content h3 {
    font-size: 1.25rem;
  }

  .link-bnr01 .text.text01 {
    font-size: 1.0625rem;
  }
}

/************************************
** customize
************************************/
@supports (-webkit-touch-callout: none) {
  #nav-content {
    /* Safari用のハック */
    height: -webkit-fill-available;
  }
}


/* 見出しのスタイル */
.heading_brd-b01 {
  font-size: 24px;
  color: #333;
  border-bottom: 2px solid #f0a500;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

/* 画像とテキストを横並びにするためのコンテナ */
.content-section {
  display: flex;
  align-items: center;
  margin-bottom: 20px; /* 各セクション間の余白 */
}

/* 画像のスタイル */
.content-image {
  width: 150px; /* 画像の幅を調整 */
  height: auto;
  margin-right: 15px; /* 画像とテキスト間の余白 */
}

/* テキストのスタイル */
.content-text {
  flex: 1; /* 残りの幅をテキストが占める */
  font-size: 16px;
  line-height: 1.6;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .content-section {
    flex-direction: column; /* スマホでは縦並びにする */
    align-items: flex-start;
  }

  .content-image {
    margin-bottom: 10px; /* 画像の下に余白を追加 */
    margin-right: 0; /* 右の余白をリセット */
  }
}

/* アンカーリンクのボタン配置 */
.anchor-links {
  display: flex;
  justify-content: space-between; /* ボタンの間を均等にする */
  flex-wrap: nowrap; /* 横並びを強制 */
  margin: 30px 0; /* 上下の余白 */
}

/* ボタンのスタイル */
.anchor-button {
  display: inline-block;
  background-color: #f0a500;
  color: white;
  padding: 8px 10px; /* 余白を小さく調整 */
  margin: 0 5px; /* ボタン間の余白 */
  text-decoration: none;
  border-radius: 5px;
  font-size: 14px; /* テキストサイズを少し小さく */
  font-weight: bold;
  white-space: nowrap; /* テキストが改行されないように */
  flex-grow: 1;
  text-align: center; /* ボタン内のテキストを中央に */
}

/* ホバースタイル */
.anchor-button:hover {
  background-color: #d48800;
  color: #fff;
}

/* レスポンシブ対応: 画面幅が狭い場合でも横並びを維持 */
@media screen and (max-width: 768px) {
  .anchor-links {
    justify-content: space-between; /* ボタンが均等に並ぶように */
  }

  .anchor-button {
    font-size: 12px; /* テキストサイズをさらに小さくして調整 */
    padding: 6px 8px; /* パディングを小さくして調整 */
  }
}

/* 見出しが見切れないようにスクロール位置を調整 */
.heading_brd-b01 {
  scroll-margin-top: 80px; /* 適切なマージン（ヘッダー分など）を設定 */
}

.highlight-school {
  font-size: 18px !important; /* 文字サイズを大きく */
  font-weight: bold !important; /* 太字に */
  color: #f0a500 !important; /* 文字色を変更 */
  background-color: #f7f7f7 !important; /* 背景色を追加 */
  padding: 2px 5px !important; /* 少し余白を追加 */
  border-radius: 4px !important; /* 角を丸くする */
}

/* マンツーマンの丸アイコンを青に設定 */
#section-mantoman .num {
  background-color: blue !important; /* 必要に応じて青の具体的なカラーコード */
}

/* アフタースクールの丸アイコンを緑に設定 */
#section-afterschool .num {
  background-color: green !important; /* 必要に応じて緑の具体的なカラーコード */
}

.content-section {
  display: flex;
  flex-direction: column; /* 縦並びに変更 */
  align-items: center; /* コンテンツを中央揃えに */
  text-align: center; /* テキストを中央揃えに */
}

.content-text {
  margin-bottom: 10px; /* 画像との間に適度な余白 */
}

.content-image {
  width: 100%; /* 画像サイズを適宜調整 */
  height: auto;
}

.content-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.content-text {
  margin-bottom: 15px; /* テキストと画像の間に余白を設定 */
}

.content-image {
  width: 100%; /* 必要に応じてサイズ調整 */
  height: auto;
}

.school-info-box {
  background-color: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  padding: 10px 20px;
  margin-bottom: 15px;
  list-style-position: inside;
}

.school-info-box .school-name {
  list-style-type: none; /* 校舎名の点を非表示に */
  font-weight: bold; /* 校舎名を強調 */
  margin-bottom: 8px; /* 校舎名と次のリスト項目の間に余白 */
}

.school-info-box li {
  margin-left: 0;
}

.mantoman-school {
  color: #0073e6 !important; /* マンツーマン校舎名を青色に */
}

.afterschool-school {
  color: #28a745 !important; /* アフタースクール校舎名を緑色に */
}

.content-section img {
  border: 5px solid #ffcc00; /* ポップな黄色の縁取り */
  border-radius: 15px; /* 角を少し丸めて柔らかい印象に */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 画像に影を付ける */
  padding: 10px; /* 縁取りと画像の間にスペース */
  background-color: #fff; /* 縁取りと画像の間に白背景 */
}

#voice-short .voice-grid {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
#voice-short .voice-box {
  width: 260px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  padding: 20px;
  text-align: center;
}
#voice-short .voice-box .img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 15px;
}
#voice-short .voice-box .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#voice-short .voice-box .name {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}
#voice-short .voice-box .q {
  font-weight: 600;
  font-size: 14px;
  margin-top: 15px;
}
#voice-short .voice-box .a {
  font-size: 14px;
  line-height: 1.6;
}

.nes-instagram-section {
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  padding: 40px 20px;
  margin: 30px 0;
}

.instagram-container {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: nowrap;
}

.instagram-item {
  flex: 1 1 30%;
  min-width: 200px;
  max-width: 320px;
  background: white;
  border-radius: 12px;
  padding: 30px 20px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.instagram-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.instagram-item a {
  text-decoration: none;
  display: block;
  color: inherit;
}

.instagram-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  border-radius: 50%;
  margin-bottom: 15px;
  transition: transform 0.3s ease;
}

.instagram-item:hover .instagram-icon {
  transform: scale(1.1);
}

.instagram-icon svg {
  stroke: white;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.instagram-account {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  margin: 10px 0 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.instagram-label {
  font-size: 18px;
  color: #666;
  margin: 0;
  font-weight: 600;
}

/* レスポンシブ対応 */
@media (max-width: 900px) {
  .instagram-container {
    flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .nes-instagram-section {
    padding: 30px 15px;
  }
  
  .instagram-container {
    flex-direction: column;
    gap: 20px;
    flex-wrap: nowrap;
  }
  
  .instagram-item {
    max-width: 100%;
    min-width: auto;
  }
}