@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/* ===================================================================
Theme Name: KYOSHIN
Theme URI:
Description:
Author: FURAZOA inc
Author URI: http://furazoa.com
Version: 1.0.1
=================================================================== */
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 1.6;
  color: #000;
  font-family: "Hiragino Kaku Gothic ProN", "\30D2\30E9\30AE\30CE\89D2\30B4   ProN W3", "Noto Sans JP", Meiryo, メイリオ, sans-serif;
  height: 100%;
  width: 100%;
  text-align: left;
  margin: 0;
  padding: 0;
  background: #fff;
}

@media (min-width: 768px) {
  body {
    min-width: 1100px;
  }
}

img {
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
}

a {
  color: #000;
  text-decoration: none;
  transition: all 0.2s ease;
}

a:hover {
  transition: all 0.2s ease;
}

.legacy-ie {
  background: #eee;
  width: 100%;
  padding: 100px 0;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  z-index: 10000;
}

.legacy-ie a {
  text-decoration: none;
}

.noscript {
  width: 100%;
  padding: 100px 0;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  z-index: 10000;
}

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7. */
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

@media screen and (min-width: 768px) {
  .br-sp {
    display: none;
  }
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #448aff;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #448aff;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

/* ----------------------------------------------------
  header
---------------------------------------------------- */
.header {
  position: relative;
  width: 100%;
  z-index: 5;
}

.header__copy {
  display: none;
}

.header__inner {
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #dbdbdb;
}

.header .container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 50px;
}

.header__logo {
  max-width: 110px;
  line-height: 0;
}

.header__logo img {
  width: 100%;
}

.header .h-button {
  display: flex;
}

.header .h-button img {
  margin-left: 10px;
}

/* ----------------------------------------------------
  footer
---------------------------------------------------- */
.footer {
  position: relative;
  padding: 0 0 5vw;
  background: #005bac;
  border-top: 20px solid #fcf5db;
  border-bottom: 21vw solid #1e3172;
}

.footer__fixed-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  width: 100%;
  z-index: 10;
}

.footer__fixed-nav .button-pink,
.footer__fixed-nav .button-yellow,
.footer__fixed-nav .button-green {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer__fixed-nav .button-pink p,
.footer__fixed-nav .button-yellow p,
.footer__fixed-nav .button-green p {
  margin: 0;
  padding: 0;
}

.footer__fixed-nav .button-pink {
  width: 33.3333%;
}

.footer__fixed-nav .button-yellow {
  width: 33.3333%;
}

.footer__fixed-nav .button-green {
  width: 33.3333%;
}

.copyright {
  color: #fff;
  text-align: center;
  letter-spacing: 0;
  font-size: 10px;
  font-size: 0.625rem;
}

/* ----------------------------------------------------
  common
---------------------------------------------------- */
html.js-open {
  position: absolute;
  width: 100%;
  overflow: hidden;
}

body.js-open .hero__titlebox.wrap-on {
  z-index: 1;
}

body {
  letter-spacing: 0.05em;
  overflow-x: hidden;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

/*--a[href^="tel:"] {
  cursor: default;
}--*/

.u-l-i-n {
  display: inline;
}

.u-l-n-i {
  display: none;
}

.u-l-n-b {
  display: none;
}

.u-m-i-n {
  display: inline;
}

.u-m-n-i {
  display: none;
}

.u-m-n-b {
  display: none;
}

.u-m-b-n {
  display: block;
}

.cf {
  display: block;
  min-height: 1%;
}

.cf::after {
  content: "";
  display: block;
  height: 0;
  line-height: 0;
  clear: both;
  visibility: hidden;
}

/* Hides from IE-mac */
* html .cf {
  height: 1%;
}

/* ----------------------------------------------------
  background
---------------------------------------------------- */
.diagonal {
  background-image: linear-gradient(-45deg, #fff 25%, #fcfcfc 25%, #fcfcfc 50%, #fff 50%, #fff 75%, #fcfcfc 75%, #fcfcfc);
  background-position: center top;
  background-repeat: repeat;
  background-size: 30px 30px;
}

/* ----------------------------------------------------
  heading
---------------------------------------------------- */
.section__title {
  position: relative;
  margin-bottom: 40px;
  text-align: center;
}

.section__title .title {
  position: relative;
  display: inline-block;
  color: #068b34;
  font-weight: bold;
  line-height: 1.35;
  font-size: 24px;
  font-size: 1.5rem;
}

.section__title .title::before,
.section__title .title::after {
  content: "";
  position: absolute;
  bottom: -13px;
  background: #068b34;
  width: calc(50% - 12px);
  height: 3px;
}

.section__title .title::before {
  left: 0;
}

.section__title .title::after {
  right: 0;
}

.section__title .arrow {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 24px;
  transform: translateX(-50%);
}

.section__title .arrow::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 50%;
  border-bottom: 3px solid #068b34;
  border-right: 3px solid #068b34;
  margin: auto;
  width: 20px;
  height: 20px;
  transform-origin: center left;
  transform: rotate(45deg) translateX(-50%);
}

/* ----------------------------------------------------
  button
---------------------------------------------------- */
.m-button01 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f72576;
  margin: 25px auto 0;
  max-width: 400px;
  height: 50px;
  border-radius: 10px;
  box-shadow: 0 5px 0 #b91c58;
}

.m-button01 span {
  position: relative;
  color: #fff;
  padding-left: 40px;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  font-size: 1rem;
}

.m-button01 span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background-image: url(../img/icon_btn01.svg);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 29px auto;
  margin-top: 2px;
  width: 29px;
  height: 29px;
  transform: translateY(-50%);
}

/* ----------------------------------------------------
  pagetop
---------------------------------------------------- */
.pagetop {
  position: absolute;
  bottom: 0;
  right: 0;
}

.pagetop a {
  position: relative;
  display: block;
  background: #000;
  color: #000;
  width: 50px;
  height: 50px;
  text-indent: -9999px;
}

.pagetop a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 3px solid #068b34;
  border-left: 3px solid #068b34;
  margin: -2px auto 0;
  width: 13px;
  height: 13px;
  transform: rotate(45deg);
  transition: all 0.3s ease-out;
}

.container {
  width: 100%;
  padding: 0 3.5%;
}

/* ----------------------------------------------------
  fixed-nav-pc
---------------------------------------------------- */
.fixed-nav-pc {
  display: none;
}

.fixed-nav-pc__menu {
  position: absolute;
  z-index: 1500;
  top: 0;
  right: 0;
  display: block;
  padding: 5px;
  width: 50px;
  height: 250px;
  cursor: pointer;
}

.fixed-nav-pc__menu .line {
  position: absolute;
  left: 8px;
  width: 10px;
  height: 2px;
  transition: all 0.3s;
}

.fixed-nav-pc__menu.js-open {
  position: absolute;
  z-index: 1500;
  top: 12px;
  right: 30px;
  display: block;
  background: #fff;
  padding: 5px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  cursor: pointer;
}

.fixed-nav-pc__menu.js-open .line {
  position: absolute;
  left: 8px;
  width: 10px;
  height: 2px;
  background: #000;
  transition: all 0.3s;
}

.fixed-nav-pc__menu .line:nth-of-type(1) {
  top: 12px;
}

.fixed-nav-pc__menu .line:nth-of-type(2) {
  top: 12px;
  transform: rotate(90deg);
}

.fixed-nav-pc__menu.js-open .line {
  transition: all 0.3s;
}

.fixed-nav-pc__menu.js-open .line:nth-of-type(1) {
  transform: rotate(180deg);
}

.fixed-nav-pc__menu.js-open .line:nth-of-type(2) {
  transform: rotate(270deg);
  opacity: 0;
}

.fixed-nav-pc__block {
  width: 50px;
  border-radius: 10px;
  -webkit-overflow-scrolling: touch;
  z-index: 100;
  transition: all 0.3s ease-in-out 0.5s;
}

.fixed-nav-pc__block.js-open {
  width: 310px;
  margin-right: 20px;
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease-in-out;
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__title {
  border-radius: 10px 10px 0 0;
  box-shadow: none;
  transition: all 0.3s ease-in-out;
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__title span {
  transition: all 0.3s ease-in-out 0.5s;
  font-size: 20px;
  font-size: 1.25rem;
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__list {
  overflow: hidden;
  padding: 18px;
  height: 100%;
  visibility: visible;
  opacity: 1;
  transition: all 0.5s ease-in-out 0.3s;
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__item {
  height: 38px;
  visibility: visible;
  opacity: 1;
  transition: all 0.5s ease-in-out 0.3s;
}

.fixed-nav-pc__title {
  position: relative;
  background: #005bac;
  color: #ffffff;
  padding: 15px 10px;
  text-align: center;
  line-height: 1;
  border-radius: 10px 0 0 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease-in-out 0.5s;
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__title {
  padding: 15px 20px 15px 0;
}

.fixed-nav-pc__title span {
  position: relative;
  padding-left: 27px;
  transition: all 0.3s ease-in-out 0.2s;
  font-size: 15px;
  font-size: 0.9375rem;
}

.fixed-nav-pc__title span::before {
  content: "";
  position: absolute;
  top: 2%;
  left: 5%;
  background-image: url(../img/icon_fixed_nav_pc.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}

.fixed-nav-pc__block.js-open .fixed-nav-pc__title span::before {
  top: 50%;
  left: 0%;
}

.fixed-nav-pc__list {
  /*display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  background: #fff;
  border: 3px solid #005bac;
  border-radius: 0 0 10px 10px;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.fixed-nav-pc__item {
  /*display: flex;
  justify-content: center;
  align-items: center;*/
  float: left;
  width: 33%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.fixed-nav-pc__item:nth-child(n + 4) {
  margin-top: 8px;
}

.fixed-nav-pc__item a {
  position: relative;
  display: block;
  color: #005bab;
  padding: 10px 0 10px 20px;
  text-align: left;
  line-height: 1;
  font-size: 18px;
  font-size: 1.125rem;
}

.fixed-nav-pc__item a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-top: 1px solid #df006d;
  border-right: 1px solid #df006d;
  margin: auto;
  width: 9px;
  height: 9px;
  transform: rotate(45deg);
}

/* ----- hero ----- */

.hero__inner {
  position: relative;
}

.hero__block {
}

.hero__title {
}

/* ----- campaign ----- */

section.campaign {
  background: linear-gradient(180deg, #78e0ff, rgb(255 255 255));
}

.campaign_list {
  text-align: center;
  margin: 0 10px;
}

.campaign__label {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.campaign__label_text {
  color: #024fa1;
  padding: 18px 43px;
  font-size: 38px;
  line-height: 1;
  font-weight: 700;
  position: relative;
  z-index: 1;
  font-family: "Inter", sans-serif;
}

.campaign__label_text::before {
  content: "";
  background: #ffe402;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.campaign__label_inner::before,
.campaign__label_inner::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='91' height='74' viewBox='0 0 91 74' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M91 74L60 38.2045L91 0H42.4149H0V74H91Z' fill='%23F8D700'/%3E%3Cpath d='M0 51V74L40 51H0Z' fill='%23B39200'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 91px;
  aspect-ratio: 91/74;
  height: auto;
  top: 23px;
  left: -52px;
  z-index: -2;
  transform: scaleX(-1);
}

.campaign__label_inner::after {
  left: auto;
  right: -52px;
  transform: scaleX(1);
}

.campaign__label_under {
  -webkit-text-stroke: 6px #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: -1;
  font-family: "Inter", sans-serif;
}

.campaign__list-item {
  border-radius: 20px;
  overflow: hidden;
}

.campaign__list-item:not(:first-child) {
  margin-top: 40px;
}

.campaign__list-head {
  color: #fff;
  font-weight: 600;
  font-size: 30px;
  line-height: calc(47 / 30);
  padding: 6px 10px 7px;
  background: #0069d6;
  letter-spacing: 0.01em;
}

.campaign__list-body {
  background: #def0ff;
  padding: 20px 30px 30px;
}

.campaign__list-text {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  font-family: "Inter", sans-serif;
}

.campaign__list-catch {
  font-size: 100px;
  line-height: 1;
  color: #e60012;
  font-weight: 800;
  text-align: center;
  font-family: "Inter", sans-serif;
  margin-top: 15px;
}

.campaign__list-catch span {
  font-size: 74px;
  color: #014fa1;
  margin-right: 10px;
}

.campaign__sublist {
  display: flex;
  flex-wrap: wrap;
  gap: 43px;
}

.campaign__sublist-item {
  width: calc(50% - 21.5px);
}

.campaign__sublist-item:nth-child(2n + 1) {
  position: relative;
  z-index: 1;
}

.campaign__sublist-item:nth-child(2n + 1)::before {
  content: "";
  position: absolute;
  top: 0;
  right: -21.5px;
  width: 1px;
  height: 100%;
  background: #74bc40;
}

.campaign__sublist-label {
  background: #006ad6;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: calc(40 / 24);
  text-align: center;
  border-radius: 50px;
  font-family: "Inter", sans-serif;
  width: calc(100% - 18px);
  margin-inline: auto;
}

.campaign__sublist-text {
  font-size: 20px;
  font-weight: 500;
  line-height: calc(28 / 20);
  font-family: "Inter", sans-serif;
  margin-top: 10px;
}

.campaign__sublist-catch {
  font-size: 80px;
  font-weight: 800;
  line-height: calc(84 / 80);
  font-family: "Inter", sans-serif;
  color: #e60012;
  margin-top: 10px;
}

.campaign__sublist-subcatch {
  font-size: 46px;
  font-weight: 800;
  line-height: 1;
  font-family: "Inter", sans-serif;
  color: #014fa1;
  margin-top: 10px;
}

.campaign__list-lead {
  display: flex;
  align-items: center;
  gap: 10px;
  width: calc(100% - 140px);
  margin-inline: auto;
}

.campaign__list-badge {
  color: #fff;
  background: #006ad6;
  font-size: 22px;
  line-height: calc(40 / 22);
  padding-inline: 20px;
  border-radius: 50px;
  font-weight: 600;
  letter-spacing: 0.01em;
  min-width: 150px;
}

.campaign__list-box {
  background: #db33331f;
  margin-top: 10px;
  padding: 20px;
}

.campaign__list-box p {
  font-size: 18px;
  font-weight: 400;
  line-height: calc(28 / 18);
  font-family: "Inter", sans-serif;
  text-align: left;
}

.campaign__list-item--green .campaign__list-head {
  background: #74bc40;
}

.campaign__list-item--green .campaign__list-body {
  background: #e5f2dd;
}

.campaign__list-item--red .campaign__list-head {
  background: #db3333;
}

.campaign__list-item--red .campaign__list-body {
  background: #feecef;
}

.campaign__list-item--yellow .campaign__list-head {
  background: #f7a802;
}

.campaign__list-item--yellow .campaign__list-body {
  background: #fcf5db;
}

.campaign__list-item--blue .campaign__list-head {
  background: #12abd3;
}

.campaign__list-item--blue .campaign__list-body {
  background: #ddf0fd;
}

@media (max-width: 767px) {
  section.campaign {
    background: linear-gradient(180deg, #78e0ff, rgb(255 255 255));
  }

  .campaign_list {
    text-align: center;
    margin: 0 10px;
  }

  section.campaign picture img {
    max-width: 100%;
    transform: translate(-50%, -20%);
  }

  p.campaign_target {
    background: #005bac;
    font-size: 20px;
    color: #ffffff;
    border-radius: 20px 20px 20px 20px;
    margin: 20px 0px 20px 0px;
    width: 120px;
  }
}

/* ----- common_campaign ----- */

.campaign-top .common_campaign {
  display: inline-block;
}

.campaign1 {
  display: flex;
  text-align: left;
  justify-content: space-evenly;
  gap: 20px;
  border: 1px solid #2d3992;
  margin: 40px 40px 20px 40px;
  padding: 20px 10px 20px 10px;
  background: rgb(232, 232, 232);
  background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

.campaign1 .circle img {
  max-width: 100px;
  height: auto;
  vertical-align: top;
}

.campaign1 .main h3 {
  font-size: 20px;
}

h3.corsedisc_1 {
  background-color: #f7a900;
  font-size: 40px;
  color: #fff;
  text-align: center;
  padding: 15px;
  margin-top: 40px;
  margin-bottom: 40px;
}

.campaign1 .discount_box {
  display: flex;
  text-align: left;
  gap: 10px;
}

.campaign1 .discount_box .target {
  font-size: 30px;
  font-weight: 500;
  color: #ffffff;
  background: #e60012;
  text-align: center;
  width: 300px;
  margin-bottom: 5px;
}

.campaign1 .discount_box .discount .price {
  font-size: 80px;
  font-weight: 900;
  color: #e60012;
  line-height: 80px;
}

.campaign2 {
  display: flex;
  justify-content: space-evenly;
  gap: 20px;
  border: 1px solid #2d3992;
  margin: 0px 40px 20px 40px;
  padding: 20px 10px 20px 10px;
  background: rgb(232, 232, 232);
  background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
  align-items: center;
  text-align: left;
}

.campaign-top .campaign1 {
  width: 1020px;
}

.campaign-top .campaign2 {
  width: 1020px;
}

.campaign2 .circle img {
  max-width: 100px;
  height: auto;
  vertical-align: top;
}

.campaign2 .quocard {
  display: flex;
  align-items: center;
}

.campaign2 .main h3 {
  font-size: 40px;
  color: #1e3487;
  line-height: 40px;
}

.quocard img {
  height: 40px;
}

.quocard p {
  font-size: 35px;
  font-weight: 600;
}

.campaign2 .discount_box p.target {
  font-weight: 700;
}

.campaign2 .discount_box .price {
  font-size: 50px;
  font-weight: 900;
  color: #e60012;
  line-height: 50px;
}

.red {
  color: #e60012;
}

.storong {
  font-size: 20px;
}

@media (max-width: 767px) {
  .campaign-top .common_campaign {
    display: inline-block;
  }

  .campaign1 {
    display: flex;
    text-align: left;
    justify-content: space-evenly;
    gap: 20px;
    border: 1px solid #2d3992;
    margin: 40px 40px 20px 40px;
    padding: 20px 10px 20px 10px;
    background: rgb(232, 232, 232);
    background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
  }

  .campaign1 .circle img {
    max-width: 100px;
    height: auto;
    vertical-align: top;
  }

  .campaign1 .main h3 {
    font-size: 20px;
  }

  h3.corsedisc_1 {
    background-color: #f7a900;
    font-size: 40px;
    color: #fff;
    text-align: center;
    padding: 15px;
    margin-top: 40px;
  }

  .campaign1 .discount_box {
    display: flex;
    text-align: left;
    gap: 10px;
  }

  .campaign1 .discount_box .target {
    font-size: 30px;
    font-weight: 500;
    color: #ffffff;
    background: #e60012;
    text-align: center;
    width: 300px;
    margin-bottom: 5px;
  }

  .campaign1 .discount_box .discount .price {
    font-size: 80px;
    font-weight: 900;
    color: #e60012;
    line-height: 80px;
  }

  .campaign2 {
    display: flex;
    justify-content: space-evenly;
    gap: 20px;
    border: 1px solid #2d3992;
    margin: 0px 40px 20px 40px;
    padding: 20px 10px 20px 10px;
    background: rgb(232, 232, 232);
    background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
    align-items: center;
    text-align: left;
  }

  .campaign-top .campaign1 {
    width: 1020px;
  }

  .campaign-top .campaign2 {
    width: 1020px;
  }

  .campaign2 .circle img {
    max-width: 100px;
    height: auto;
    vertical-align: top;
  }

  .campaign2 .quocard {
    display: flex;
    align-items: center;
  }

  .campaign2 .main h3 {
    font-size: 40px;
    color: #1e3487;
    line-height: 40px;
  }

  .quocard img {
    height: 40px;
  }

  .quocard p {
    font-size: 35px;
    font-weight: 600;
  }

  .campaign2 .discount_box p.target {
    font-weight: 700;
  }

  .campaign2 .discount_box .price {
    font-size: 50px;
    font-weight: 900;
    color: #e60012;
    line-height: 50px;
  }

  .red {
    color: #e60012;
  }

  .storong {
    font-size: 20px;
  }
}

/* ----- campaign_group1 ----- */

.campaign_group1 {
  margin-top: 20px;
  display: flex;
  text-align: center;
  justify-content: center;
  gap: 10px 20px;
  margin-bottom: 10px;
}

.campaign_box1 {
  background: #fff;
  border: 4px solid #eed10f;
  border-radius: 25px;
  width: 500px;
}

h3.campaign_title {
  background: #ffef68;
  padding: 5px 10px 5px 10px;
  color: #005bac;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
}

p.campaign_discription {
  font-size: 16px;
  font-weight: 600;
}

p.campaign_target {
  background: #005bac;
  font-size: 25px;
  color: #ffffff;
  border-radius: 20px 20px 20px 20px;
  margin: 20px 0px 20px 0px;
  width: 160px;
  display: inline-block;
}

p.campaign_discription {
  margin-left: 40px;
  margin-right: 40px;
}

p.campaign_price {
  font-size: 46px;
  font-weight: bold;
  color: #005bac;
  line-height: 60px;
}

p.campaign_discount {
  font-size: 100px;
  font-weight: 900;
  color: #db3434;
  margin: 10px 20px 40px 20px;
  line-height: 80px;
}

@media (max-width: 767px) {
  .campaign_group1 {
    display: block;
    text-align: center;
    justify-content: center;
    gap: 10px 20px;
  }

  .campaign_box1 {
    background: #fff;
    border: 4px solid #eed10f;
    border-radius: 25px;
    margin: 10px 0px;
    width: 90%;
    display: inline-block;
  }

  p.campaign_target {
    background: #005bac;
    font-size: 18px;
    color: #ffffff;
    border-radius: 20px 20px 20px 20px;
    margin: 15px 0px 10px 0px;
    width: 130px;
    display: inline-block;
  }

  p.campaign_discription {
    font-size: 18px;
    text-align: center;
    margin-left: 20px;
    margin-right: 20px;
  }

  p.campaign_price {
    font-size: 40px;
    font-weight: bold;
    color: #005bac;
    line-height: 60px;
  }

  p.campaign_discount {
    font-size: 80px;
    font-weight: 900;
    color: #db3434;
    margin: 10px 20px 30px 20px;
    line-height: 60px;
  }
}

/* ----- campaign_group2 ----- */

.plus-sho6 {
  position: absolute;
  transform: translate(-550%, 180%);
  width: 100px;
}

@media (max-width: 767px) {
  .plus-sho6 {
    position: absolute;
    transform: translate(-220%, 300%);
    width: 100px;
  }
}

.campaign_group2 {
  background: #fff;
  border: 4px solid #ffd700;
  border-radius: 25px;
  margin: 20px 0px 20px 0px;
  width: 1020px;
  display: inline-block;
  position: relative;
}

.campaign_column3 {
  display: flex;
  text-align: center;
  justify-content: center;
  gap: 10px 20px;
  height: auto;
  vertical-align: top;
}

.campaign_31 {
  width: 100%;
}

.campaign_32 {
  width: 100%;
  background-color: #fffade;
  border-radius: 0px 0px 20px 0px;
}

p.campaign_discription_2 {
  margin-left: 40px;
  margin-right: 40px;
  font-weight: 600;
}

.campaign_31 .taisyo {
  background-color: #db3434;
  color: #ffffff;
  font-size: 35px;
  padding: 10px 15px;
  margin-right: 10px;
  font-weight: 700;
  line-height: 40px;
}

.campaign_31 .strong {
  font-size: 50px;
  font-weight: bold;
  color: #005bac;
  line-height: 60px;
}

.campaign_price_2 {
  display: flex;
  text-align: left;
  justify-content: center;
}

p.campaign_discount_2 {
  font-size: 80px;
  font-weight: 900;
  color: #db3434;
  margin: 20px 20px 0px 20px;
  line-height: 80px;
  text-align: center;
}

.campaign_discount_2 span.yen {
  font-size: 80px;
}

span.tax {
  font-size: 20px;
  font-weight: 900;
  color: #db3434;
}

p.option {
  margin: 0px 20px 30px 20px;
  line-height: 0px;
}

.campaign_storong {
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  top: 35%;
  left: 5%;
  right: 5%;
  transform: translate(-0%, -50%);
}

.campaign_2 {
  background: #fff;
  border: 4px solid #bec1c3;
  border-radius: 25px;
}

.campaign_price_3 {
  font-size: 50px;
  font-weight: bold;
  color: #005bac;
  line-height: 60px;
}

@media (max-width: 767px) {
  .campaign_group2 {
    background: #fff;
    border: 4px solid #ffd700;
    border-radius: 25px;
    margin: 0px 0px 10px 0px;
    width: 90%;
    display: inline-block;
  }

  h3.campaign_title {
    background: #ffef68;
    padding: 5px 10px 5px 10px;
    color: #005bac;
    font-size: 20px;
    border-radius: 20px 20px 0px 0px;
  }

  .campaign_column3 {
    display: block;
    text-align: center;
    justify-content: center;
    gap: 10px 20px;
    height: auto;
    vertical-align: top;
  }

  .campaign_31 {
    width: 100%;
    padding: 10px 0 60px 0;
  }

  .campaign_32 {
    width: 100%;
    height: 100%;
    background-color: #fffade;
    border-radius: 0px 0px 20px 20px;
    padding: 50px 10px 10px 10px;
  }

  p.campaign_discription_2 {
    margin-left: 0px;
    margin-right: 0px;
    font-weight: 600;
    font-size: 18px;
  }

  .campaign_31 .taisyo {
    background-color: #db3434;
    color: #ffffff;
    font-size: 35px;
    padding: 10px 15px;
    margin-right: 10px;
    font-weight: 700;
    line-height: 40px;
  }

  .campaign_31 .strong {
    font-size: 50px;
    font-weight: bold;
    color: #005bac;
    line-height: 60px;
  }

  .campaign_price_2 {
    display: flex;
    text-align: left;
    justify-content: center;
  }

  p.campaign_discount_2 {
    font-size: 55px;
    font-weight: 900;
    color: #db3434;
    margin: 10px 20px 0px 20px;
    /* padding-bottom: 20px; */
    line-height: 50px;
  }

  .campaign_discount_2 span.yen {
    font-size: 50px;
  }

  span.tax {
    font-size: 20px;
    font-weight: 900;
    color: #db3434;
  }

  p.option {
    margin: 0px 20px 30px 20px;
    line-height: 0px;
  }

  .campaign_storong {
    position: absolute;
    font-size: 30px;
    font-weight: 600;
    top: 35%;
    left: 5%;
    right: 5%;
    transform: translate(-0%, -50%);
  }

  .campaign_2 {
    background: #fff;
    border: 4px solid #bec1c3;
    border-radius: 25px;
  }

  .campaign_price_3 {
    font-size: 45px;
    font-weight: bold;
    color: #005bac;
    line-height: 60px;
  }
}

/* ----- campaign_group4 ----- */

.campaign_4 {
  background: #fff;
  border: 4px solid #005baa;
  border-radius: 25px;
  margin: 7px 0px 10px 0px;
  width: 1020px;
  display: inline-block;
  padding: 67px 40px 40px;
}

.campaign_4 .box_0 {
  text-align: center;
}

.campaign_4 .campaign_title {
  background: #2d3992;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
}

.campaign_4 .campaign_price {
  font-size: 60px;
}

.campaign_4 .box1 {
  display: flex;
  text-align: left;
  justify-content: center;
}

.box2 {
  text-align: left;
}

.campaign_4 .campaign_discription {
  display: flex;
  text-align: left;
  justify-content: left;
}

.campaign_4 .campaign_discription .taisyou {
  border: 2px solid #2d3992;
  color: #2d3992;
  padding: 0px 5px 0px 5px;
  font-size: 20px;
  font-weight: 700;
  margin-right: 10px;
}

.campaign_4 .campaign_discription .strong {
  font-size: 24px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .campaign_4 {
    background: #fff;
    border: 4px solid #f97a98;
    border-radius: 25px;
    margin: 70px 0px 10px 0px;
    width: 90%;
    display: inline-block;
    padding: 20px 0px 10px 0px;
  }

  .campaign_4 .box_0 {
    text-align: center;
  }

  .campaign_4 .campaign_title {
    background: #2d3992;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 20px;
    border-radius: 20px 20px 0px 0px;
    text-align: center;
  }

  .campaign_4 .campaign_price {
    font-size: 35px;
    margin: 0px 10px 0px 10px;
  }

  .campaign_4 .box1 {
    display: block;
    text-align: left;
  }

  .box2 {
    text-align: center;
  }

  .campaign_4 .campaign_discription {
    display: flex;
    text-align: center;
    justify-content: center;
    margin: 0px 0px;
  }

  .campaign_4 .campaign_discription .taisyou {
    border: 2px solid #2d3992;
    color: #2d3992;
    padding: 0px 5px 0px 5px;
    font-size: 16px;
    font-weight: 700;
    margin-right: 10px;
  }

  .campaign_4 .campaign_discription .strong {
    font-size: 18px;
    font-weight: 600;
  }

  .campaign_4 .campaign_discount {
    text-align: center;
  }
}

/* ----- campaign_group5 ----- */

.campaign_5 {
  background: #fff;
  border: 4px solid #2d3992;
  border-radius: 25px;
  margin: 10px 0px 40px 0px;
  width: 1020px;
  display: inline-block;
}

.campaign_5 .campaign_title {
  background: #2d3992;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
}

.campaign_5 .targetlist {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.campaign_5 .box0 {
  display: flex;
  text-align: left;
  justify-content: center;
  margin-bottom: 40px;
}

.campaign_target_1 {
  background: #005bac;
  font-size: 25px;
  color: #ffffff;
  border-radius: 20px 20px 20px 20px;
  margin: 20px 0px 20px 0px;
  width: 100px;
}

.campaign_target_2 {
  background: #005bac;
  font-size: 25px;
  color: #ffffff;
  border-radius: 20px 20px 20px 20px;
  margin: 20px 0px 20px 0px;
  width: 100px;
}

.campaign_5 .campaign_price {
  font-size: 60px;
  font-weight: bold;
  color: #005bac;
  margin-left: 10px;
  margin-right: 10px;
  line-height: 60px;
  text-align: center;
}

.campaign_5 .campaign_discount {
  font-size: 100px;
  font-weight: 900;
  color: #db3434;
  margin: 0px 0px 0px 0px;
  line-height: 80px;
}

@media (max-width: 767px) {
  .campaign_5 {
    background: #fff;
    border: 4px solid #2d3992;
    border-radius: 25px;
    margin: 0px 0px 40px 0px;
    width: 90%;
    display: inline-block;
  }

  .campaign_5 .campaign_title {
    background: #2d3992;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 20px;
    border-radius: 20px 20px 0px 0px;
  }

  .campaign_5 .targetlist {
    display: flex;
    justify-content: center;
    gap: 20px;
  }

  .campaign_5 .box0 {
    display: block;
    text-align: left;
    justify-content: center;
    margin-bottom: 40px;
  }

  .campaign_target_1 {
    background: #005bac;
    font-size: 20px;
    color: #ffffff;
    border-radius: 20px 20px 20px 20px;
    margin: 20px 0px 20px 0px;
    width: 80px;
  }

  .campaign_target_2 {
    background: #005bac;
    font-size: 20px;
    color: #ffffff;
    border-radius: 20px 20px 20px 20px;
    margin: 20px 0px 20px 0px;
    width: 80px;
  }

  .campaign_5 .campaign_price {
    font-size: 40px;
    font-weight: bold;
    color: #005bac;
    margin-left: 10px;
    margin-right: 10px;
    line-height: 60px;
  }

  .campaign_5 .campaign_discount {
    font-size: 80px;
    font-weight: 900;
    color: #db3434;
    /* margin: 0px 0px 0px 0px; */
    margin: 10px 0px 40px 0px;
    line-height: 80px;
    text-align: center;
  }
}

/*--*/

.campaign_2.discount p {
  font-size: 40px;
  color: #db3434;
}

.campaign {
  padding: 0 0 35px;
}

.campaign .campaign-top {
  padding: 100px 0 0 0;
  background: url(../img/campaign-top_bg.png) top center / 100% auto no-repeat;
}

.campaign__title {
  margin-bottom: 0;
  text-align: center;
  line-height: 1;
}

.campaign__item {
  width: 100%;
  text-align: center;
}

.campaign__item.text {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: left;
}

.campaign__item:nth-of-type(even) dd {
  background-image: url(../img/campaign_bg2_sp.png);
}

.campaign__item dl {
  background: #fff;
  border: 2px solid #068b34;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.campaign__item dt {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #068b34;
  color: #fff;
  padding: 0 5px 2px;
  height: 35px;
  font-weight: bold;
  line-height: 1;
  border-radius: 6px 6px 0 0;
  font-size: 18px;
  font-size: 1.125rem;
}

.campaign__item dd {
  background-image: url(../img/campaign_bg1_sp.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 18px 10px 13px;
  height: calc(100% - 35px);
  border-radius: 0 0 10px 10px;
}

.campaign__item .text-wrap {
  width: 100%;
}

.campaign__item .col > div:nth-of-type(n + 2) {
  margin-top: 1.4em;
}

.campaign__item .now {
  position: relative;
  color: #068b34;
  font-weight: bold;
  line-height: 1;
  font-size: 18px;
  font-size: 1.125rem;
}

.campaign__item .now.godash::before {
  content: "";
  display: inline-block;
  background-image: url(../img/icon_godash2.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 3px;
  width: 50px;
  height: 55px;
  vertical-align: middle;
}

.campaign__item .image {
  margin: 1em 0;
}

.campaign__item .text {
  position: relative;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-size: 18px;
  text-align: center;
}

.campaign__item .text.plus::before {
  content: "+";
  position: absolute;
  bottom: -1.1em;
  left: 50%;
  transform: translateX(-50%);
  color: #ff5252;
}

.campaign__item .text span {
  position: relative;
  z-index: 1;
  display: inline-block;
}

.campaign__item .text span.red {
  color: #ff5252;
}

.campaign__item .text span.red small {
  font-size: 18px;
  font-size: 1.125rem;
}

.campaign__item .text span.red-small {
  margin-top: -0.15em;
}

.campaign__item .text span.red-small .line {
  height: 23px;
  line-height: 1;
  vertical-align: bottom;
}

.campaign__item .text span.line {
  height: 36px;
}

.campaign__item .text span.line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  background: #ffd200;
  width: 100%;
  height: 8px;
}

.campaign__item .text span.emphasis {
  padding-top: 5px;
  height: 36px;
  line-height: 1.2222222222;
  font-size: 26px;
  font-size: 1.625rem;
}

.campaign__item .text span.emphasis::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  background: #ff5252;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  transform: translateX(-50%);
}

.campaign__item .text span.expand {
  line-height: 1.6923076923;
  font-size: 20px;
  font-size: 1.25rem;
}

.campaign__item .text span.large {
  height: 31px;
  line-height: 1.2222222222;
  font-size: 26px;
  font-size: 1.625rem;
}

.campaign__item .text small {
  font-size: 14px;
  font-size: 0.875rem;
}

.campaign__item .note {
  margin-top: 5px;
  font-size: 12px;
  font-size: 0.75rem;
}

.course__list {
  overflow: hidden;
  width: 1000px;
  margin: 20px auto 0 auto;
}

.course__list .course__item {
  float: left;
  margin: 0 20px 5px 0;
}

.course__list .course__item:nth-child(2) {
  margin-right: 0;
}

.course__list .course__item:nth-child(3) {
  padding-top: 15px;
}

.course__list .course__item:nth-child(4) {
  margin-right: 0;
  margin-bottom: 0;
  padding-top: 15px;
}

@media (max-width: 767px) {
  .course__list {
    width: 90%;
    margin: 20px auto 0 auto;
  }

  .course__list .course__item {
    float: none;
    text-align: center;
    margin: 0 0 20px 0;
  }

  .course__list .course__item img {
    width: 100%;
  }

  .course__list .course__item:nth-child(2n) {
    margin-right: 0;
  }

  .course__list .course__item:nth-child(3 + n) {
    margin-bottom: 20px;
  }

  .course__list .course__item:nth-child(3),
  .course__list .course__item:nth-child(5) {
    padding-top: 0;
  }
}

.campaign__banner {
  margin: 40px 0 50px 0;
  text-align: center;
}

.campaign__banner a:hover {
  opacity: 0.7;
}

.chushaku {
  text-align: center;
  background-color: #efefef;
  padding: 10px 10px 10px 10px;
  margin: 20px auto 0 auto;
  max-width: 1000px;
}

@media (max-width: 767px) {
  .chushaku {
    text-align: left;
    background-color: #efefef;
    padding: 10px 10px 10px 10px;
    margin: 20px 20px 20px 20px;
  }
}

.chushaku_campaign {
  background-color: #efefef;
  padding: 10px 10px 10px 10px;
  margin: 20px 40px 20px 40px;
  max-width: 1000px;
}

@media screen and (min-width: 768px) {
  .chushaku_campaign {
    background-color: #efefef;
    padding: 10px 10px 10px 10px;
    margin: 20px 20px 20px 20px;
    max-width: 1000px;
  }
}

.chushaku p {
  text-align: left;
}

.red-color {
  color: #ff0000;
  font-weight: 100;
}

/* ----- taisaku ----- */
.taisaku {
  margin: 0;
  padding: 64px 0 83px 0;
  text-align: center;
  background: url(../img/taisaku_bg.jpg) top center repeat-x;
}

.taisaku img {
  width: 100%;
}

.taisaku img.pc {
  display: none;
}

.taisaku img.sp {
  display: inline-block;
  max-width: 750px;
}

.campaign__item.online span.comment {
  display: block;
  margin: 0 0 10px 0;
  padding: 12px 20px;
  border: 4px solid #e60012;
  background: #ffe9eb;
  text-align: center;
  color: #e60012;
  font-size: 18px;
  font-weight: bold;
  border-radius: 8px;
}

.event_gakunen .event_box {
  width: 1000px;
  margin: 0 auto;
  background: #fff;
  border-radius: 30px;
}

.event_gakunen .event_title {
  margin: 0;
  text-align: center;
}

.event_gakunen .event_title img {
  margin-top: -35px;
}

.event {
  background: linear-gradient(0, #fef6d7, #feec59);
  padding: 25px;
}

.event.event__list {
  padding: 5px 0 40px 0;
}

li.event__item {
  margin: 25px 0 25px 0;
  text-align: center;
}

.event_gakunen .event__item:last-child {
  margin-bottom: 0;
}

.event_gakunen .event__item a:hover {
  opacity: 0.7;
}

/*--.event_gakunen.event_gakunen_bg {
  background: #feec59 url(../img/bg_event.png) top center no-repeat;
  background-position: center bottom;
  background-size: 100%;
}


@media (max-width:767px) {
  .event_gakunen.event_gakunen_bg {
    background: #feec59 url(../img/bg_sea_sp.png) top center no-repeat;
    background-position: center bottom;
    background-size: 100%;
  }--*/

.event_gakunen .event_box {
  width: 90%;
  margin: 0 auto;
}

.event_gakunen .event_title {
  margin: 0;
}

.event_gakunen .event_title img {
  width: 100%;
}

.event_gakunen .event__item {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}

.event_gakunen .event__item img {
  width: 100%;
}

/* ----- worry ----- */
.worry {
  text-align: center;
}

.worry .onayami {
  padding: 65px 0 50px 0;
  background: #005bac;
}

.worry .method {
  padding: 60px 0;
  position: relative;
  background: #1673c5;
}

@media (max-width: 767px) {
  .worry .onayami {
    padding: 30px;
  }

  .worry .method {
    padding: 30x;
  }
}

.worry .method::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 60px 0 60px;
  border-color: #1673c5 transparent transparent transparent;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .worry .onayami {
    padding: 30px;
  }

  .worry .method {
    padding: 30px;
  }

  .worry .method::before {
    border-width: 20px 30px 0 30px;
  }
}

.worry__list {
  display: inline-block;
  text-align: left;
}

.worry__item {
  position: relative;
  display: block;
  padding: 3px 0 3px 28px;
  font-size: 16px;
  font-size: 1rem;
}

.worry__text {
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  font-size: 20px;
  font-size: 1.25rem;
}

.worry__text span {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: #e2006e;
  line-height: 1.4;
  height: 34px;
  font-size: 30px;
  font-size: 1.875rem;
}

.worry__text span::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -3px;
  left: 2%;
  background: url(../img/worry_line01.png) bottom left repeat-x;
  width: 96%;
  height: 8px;
  bottom: -12px;
}

.method_title01 {
  margin: 30px 0 70px 0;
  text-align: center;
}

.method_title02 {
  position: relative;
  z-index: 2;
  margin: 60px 0 0 0;
  text-align: center;
}

.method_title03 {
  margin: 25px 0 40px 0;
  text-align: center;
}

.method_point.point031 {
  margin-top: 40px;
  padding-bottom: -30px;
}

/*-----nayami 始まり-----*/

.nayami_title {
  position: relative;
  text-align: center;
  background-color: #196dc3;
  padding-top: 60px;
}

.nayami_title h2 {
  position: absolute;
  font-size: 40px;
  font-weight: 100;
  top: 60%;
  left: 20%;
  right: 20%;
  transform: translate(-0%, -50%);
  color: #ffffff;
}

.nayami_item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 50px 50px 50px 50px;
  background-color: #196dc3;
}

.nayami_box {
  text-align: center;
  width: 24.5%;
  /* 縦横の隙間を気にしないなら%指定でもOK */
  margin: 0 0 30px;
  list-style: none;
}

.nayami_box p {
  color: #ffffff;
  margin-top: 20px;
  font-size: 20px;
}

.nayami_sol {
  text-align: center;
  background-color: #162d84;
  padding-top: 40px;
  padding-bottom: 40px;
}

.nayami_sol p {
  font-size: 40px;
  color: #ffffff;
}

.nayami_sol span {
  border-radius: 30px 30px 30px 30px;
  background-color: #ffe400;
  padding: 10px;
  padding-left: 25px;
  padding-right: 25px;
  margin-left: 10px;
  margin-right: 10px;
  font-size: 40px;
  color: #162d84;
  font-weight: 700;
}

@media (max-width: 767px) {
  .nayami_title {
    position: relative;
    text-align: center;
    background-color: #196dc3;
    padding-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .nayami_title h2 {
    position: absolute;
    font-size: 20px;
    font-weight: 100;
    top: 68%;
    left: 10%;
    right: 10%;
    transform: translate(-0%, -50%);
    color: #ffffff;
  }

  .nayami_item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 50px 20px 20px 20px;
    background-color: #196dc3;
  }

  .nayami_box {
    text-align: center;
    width: 48%;
    /* 縦横の隙間を気にしないなら%指定でもOK */
    margin: 0 0 30px;
    list-style: none;
  }

  .nayami_box p {
    color: #ffffff;
    margin-top: 20px;
    font-size: 16px;
  }

  .nayami_sol {
    text-align: center;
    background-color: #162d84;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .nayami_sol p {
    font-size: 18px;
    color: #ffffff;
  }

  .nayami_sol span {
    border-radius: 30px 30px 30px 30px;
    background-color: #ffe400;
    padding: 5px 10px 5px 10px;
    margin-left: 5px;
    margin-right: 5px;
    font-size: 20px;
    color: #162d84;
    font-weight: 700;
  }
}

/*-----nayami 終わり-----*/

/*-----.method_point.point031 img {
  margin-top: -20px;
}

.method_point.point031 {
  margin-top: 30px;
}

.method_point.point031 img {
  margin-top: -30px;
}
-----*/

.method_point {
  box-sizing: border-box;
  margin: 0 40px 40px 40px;
  padding: 30px;
  text-align: center;
  border: 2px solid #005bac;
  border-radius: 30px;
  background: #e6f8ff;
}

/*-----method_point_box-----*/

.feature_title {
  padding-bottom: 80px;
  position: relative;
  text-align: center;
}

.feature_title h2 {
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  top: 20%;
  left: 5%;
  right: 5%;
  transform: translate(-0%, -50%);
  color: #162d84;
}

.method_point_box {
  display: flex;
  gap: 20px;
  box-sizing: border-box;
  margin: 0 40px 40px 40px;
  padding: 30px;
  text-align: center;
  border: 2px solid #005bac;
  border-radius: 30px;
  background: #e6f8ff;
  height: auto;
}

.method_point_box .box_title {
  display: flex;
  text-align: center;
  margin-bottom: 10px;
  align-items: center;
}

.method_point_box .box_point {
  line-height: normal;
  height: 85px;
  width: 85px;
  border-radius: 50%;
  text-align: center;
  color: #ffffff;
  background: #005bac;
  display: table;
  font-size: 12px;
  font-weight: bolder;
  margin-right: 20px;
}

span.number {
  font-size: 30px;
  font-weight: bolder;
}

.method_point_box .box_point p {
  display: table-cell;
  vertical-align: middle;
  /*上下の中央揃え指定*/
}

/*-
.method_point_box .box_text {
  display: flex;
}
-*/
.method_point_box .box_img {
  height: auto;
  width: auto;
  flex-shrink: 0;
}

.method_point_box h2 {
  text-align: left;
  font-size: 26px;
  color: #004796;
  vertical-align: middle;
}

.method_point_box .box_discription p {
  text-align: left;
  font-size: 18px;
}

.method_point_box .box_img img {
  height: 100%;
  width: 100%;
}

.method_point_box:nth-child(2n + 1) {
  flex-direction: row;
}

/* 奇数番目は左から右へ並べる */
.method_point_box:nth-child(2n) {
  flex-direction: row-reverse;
}

/* 偶数番目は右から左へ並べる */

@media (max-width: 767px) {
  .feature_title {
    padding-top: 30px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 30px;
    position: relative;
    text-align: center;
  }

  .feature_title h2 {
    position: absolute;
    font-size: 12px;
    font-weight: 600;
    top: 45%;
    left: 5%;
    right: 5%;
    transform: translate(-0%, -50%);
    color: #162d84;
  }

  .method_point_box {
    display: flex;
    flex-direction: column;
    margin: 0 15px 20px 15px;
    padding: 15px 15px 25px 15px;
    flex-wrap: wrap;
  }

  .method_point_box .box_point {
    line-height: normal;
    padding-top: 8px;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    text-align: center;
    color: #ffffff;
    background: #005bac;
    display: table;
    font-size: 8px;
    font-weight: bolder;
    margin-right: 20px;
  }

  span.number {
    font-size: 20px;
    font-weight: bolder;
  }

  .method_point_box .box_title {
    order: 1;
    margin-bottom: 20px;
  }

  .method_point_box h2 {
    font-size: 16px;
  }

  .method_point_box .box_img {
    height: auto;
    width: 100%;
  }

  .method_point_box .box_img img {
    order: 2;
    margin: 0;
  }

  .method_point_box .box_discription p {
    order: 3;
    margin: 0;
  }

  .method_point_box .box_discription p {
    font-size: 14px;
  }

  .method_point img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .method_title01 {
    margin: 35px 15px 15px 15px;
    text-align: center;
  }

  .method_title02 {
    margin: 0;
    text-align: center;
  }

  .method_title02 img {
    width: 70%;
  }

  .method_title03 {
    margin: 0 0 20px 0;
  }

  .method_title03 img {
    width: 60%;
  }

  .method_point {
    margin: 0 15px 20px 15px;
    padding: 15px 15px 25px 15px;
    border-radius: 15px;
  }
}

/* ----- feature ----- */
.feature {
}

.feature .container {
  padding: 0;
}

.feature__block {
  position: relative;
  z-index: 1;
  background: #e6f8ff;
  margin-bottom: 35px;
  margin-left: 3.5%;
  margin-right: 3.5%;
  padding: 15px 15px 15px 15px;
  border: 2px solid #005bac;
  border-radius: 15px;
}

.feature__block .text {
  line-height: 1.8;
  font-size: 14px;
  font-size: 0.875rem;
}

.feature__block .text1 {
  margin: 5px 0 15px;
  line-height: 1.7;
}

.feature__block .text2 {
  line-height: 1.7;
}

.feature__block .text3 {
  line-height: 1.3;
  color: #e13465;
}

.feature__block .text4 {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
}

.feature__block .image {
  text-align: right;
  width: 100%;
}

.feature__block .image img {
  width: 80%;
}

@media (max-width: 767px) {
  .feature__block {
    margin-bottom: 20px;
    padding: 20px 20px 0px 20px;
  }

  .feature__block .image {
    text-align: center;
    width: 100%;
  }

  .feature__block .image img {
    width: 100%;
  }
}

.feature__list {
  margin: 0 auto 95px;
  max-width: 400px;
}

.feature__item:nth-child(n + 2) {
  margin-top: 40px;
}

.feature__item-block .text-wrap {
  width: 100%;
}

.feature__item-block .icon {
  margin-bottom: 10px;
  padding: 0 3.5%;
}

.feature__item-block .title {
  position: relative;
  color: #005bab;
  margin-bottom: 10px;
  padding: 0 3.5%;
  font-weight: bold;
  line-height: 1.35;
  font-size: 20px;
  font-size: 1.25rem;
}

.feature__item-block .text {
  margin-bottom: 20px;
  padding: 0 3.5%;
  line-height: 1.8;
  font-size: 14px;
  font-size: 0.875rem;
}

.feature__item-block .text span {
  color: #ff5252;
  font-weight: bold;
}

.feature__item-block .image-sp {
  position: relative;
  display: block;
  margin-left: 10%;
  margin-right: 10%;
  margin-bottom: 15px;
  text-align: center;
}

.feature__item-block .image-sp::after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -75px;
  width: 150px;
  height: 150px;
  background: url(../img/method_bg_dot.png) top left no-repeat;
  background-size: 100%;
  z-index: -1;
}

.feature__item:nth-child(1) .feature__item-block .image-sp::after {
  right: -75px;
}

.feature__item:nth-child(2) .feature__item-block .image-sp::after {
  left: -75px;
}

.feature__item-block .image {
  display: none;
  margin-top: 5px;
  width: 100%;
  text-align: center;
}

.feature__step-list {
  counter-reset: number;
  margin: 0 auto;
  padding: 30px 0 10px 0;
  max-width: 400px;
  background: #e6f8ff;
  border-radius: 15px;
}

.feature__step-item {
  width: 70%;
  margin: 0 auto;
}

.feature__step-item {
  margin-top: 15px;
}

.feature__step-item__inner img {
}

.feature__step-item .image-wrap {
  position: relative;
}

.feature__step-item .num {
  position: absolute;
  top: -5%;
  left: -5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  width: 35%;
  height: 35%;
}

.feature__step-item .text {
  margin-top: 10px;
  margin-bottom: 25px;
  font-weight: bold;
  text-align: center;
  line-height: 1.380952381;
  font-size: 18px;
  font-size: 1.125rem;
}

.feature__step-item .text span {
  color: #e2006e;
}

/* ----- online ----- */
.online_banner a:hover {
  opacity: 0.7;
}

/* ----- course ----- */
.course {
}

.course-event-area {
  margin: 0 auto 15px;
  max-width: 480px;
}

.course-event-area .image {
  text-align: center;
}

.course-event-area .note {
  margin-top: 18px;
  text-align: center;
  line-height: 1.45;
  font-size: 14px;
  font-size: 0.875rem;
}

.course-campaign-area .box {
  border: 3px solid #068b34;
  border-radius: 5px;
  padding: 12px 25px 18px;
}

.course-campaign-area .box dt {
  position: relative;
  color: #068b34;
  margin-bottom: 10px;
  padding-bottom: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 1.1818181818;
  font-size: 18px;
  font-size: 1.125rem;
}

.course-campaign-area .box dt::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  background: #068b34;
  width: 100%;
  height: 2px;
}

.course-campaign-area .box dd {
  color: #068b34;
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
  line-height: 1.45;
  font-size: 25px;
  font-size: 1.5625rem;
}

.course-campaign-area .box dd span {
  position: relative;
  z-index: 1;
  display: inline-block;
}

.course-campaign-area .box dd span.expand::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  background: #ffd200;
  width: 100%;
  height: 10px;
}

.course-campaign-area .box dd span.emphasis {
  height: 46px;
  font-size: 34px;
  font-size: 2.125rem;
}

.course-campaign-area .box dd span.emphasis::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 50%;
  background: #068b34;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translateX(-50%);
}

.course-campaign-area .note {
  color: #068b34;
  margin-top: 5px;
  text-align: right;
  font-size: 10px;
  font-size: 0.625rem;
}

.course-line-area {
  margin: 30px 0 15px;
  text-align: center;
}

.course-line-area .text-wrap {
  display: inline-block;
}

.course-line-area .text {
  position: relative;
  display: flex;
  align-items: center;
  color: #068b34;
  font-weight: bold;
  text-align: left;
  line-height: 54px;
  font-size: 28px;
  font-size: 1.75rem;
}

.course-line-area .text::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  background: #ff5252;
  width: 100%;
  height: 6px;
}

.course-line-area .text span {
  letter-spacing: -0.25em;
}

.course-line-area .text b {
  font-size: 38px;
  font-size: 2.375rem;
}

.course-line-area .text:last-child {
  padding-right: 32px;
}

.course-line-area .text:last-child::before {
  content: "";
  position: absolute;
  bottom: 12px;
  right: 0;
  background-image: url(../img/icon_good.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 32px auto;
  width: 32px;
  height: 40px;
}

.course-line2-area {
  margin: -30px 0 -15px;
  text-align: center;
}

.course-line2-area .text-wrap {
  display: inline-block;
}

.course-line2-area .text {
  position: relative;
  display: flex;
  align-items: center;
  color: #068b34;
  font-weight: bold;
  text-align: left;
  line-height: 54px;
  letter-spacing: -0.05em;
  font-size: 28px;
  font-size: 1.75rem;
}

.course-line2-area .text::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  background: #ff5252;
  width: 100%;
  height: 6px;
}

.course-line2-area .text b {
  font-size: 36px;
  font-size: 2.25rem;
}

.course-line2-area .text b span {
  font-family: "Roboto", sans-serif;
  font-size: 41px;
  font-size: 2.5625rem;
}

.course-line2-area .text:first-child {
  padding-left: 39px;
}

.course-line2-area .text:first-child::before {
  content: "";
  position: absolute;
  bottom: 12px;
  left: 0;
  background-image: url(../img/icon_three.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 29px auto;
  width: 29px;
  height: 46px;
}

.course-dottedline-area {
  margin: 15px auto 0;
  max-width: 300px;
  text-align: center;
}

.course-dottedline-area .text-wrap {
  display: inline-block;
}

.course-dottedline-area .text {
  position: relative;
  color: #068b34;
  font-weight: bold;
  line-height: 40px;
  font-size: 18px;
  font-size: 1.125rem;
}

.course-dottedline-area .text b {
  display: inline-block;
  color: #ff5252;
  height: 40px;
  font-size: 28px;
  font-size: 1.75rem;
}

.course-management-area {
  position: relative;
  padding-left: 30px;
}

.course-management-area::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 7px;
  background: #ffd200;
  width: 5px;
  height: 10%;
  min-height: 155px;
}

.tab-menu {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}

.tab-menu .tab-menu__item {
  width: 19%;
  cursor: pointer;
  transition: all 0.2s ease;
}

.tab-menu .tab-menu__item .title {
  padding: 20px 10px 10px 10px;
  border-radius: 25px 25px 0 0;
  text-align: center;
  transition: all 0.2s ease;
}

.tab-menu .tab-menu__item .title .grade {
  display: inline-block;
  border-radius: 3em;
  padding: 0 0.8em;
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  transition: all 0.2s ease;
}

.tab-menu .tab-menu__item.item01 .title .grade {
  padding: 0 0.6em;
  background: #f7a900;
}

.tab-menu .tab-menu__item.item02 .title .grade {
  padding: 0 0.6em;
  background: #75bc40;
}

.tab-menu .tab-menu__item.item03 .title .grade {
  padding: 0 0.6em;
  background: #db3434;
}

.tab-menu .tab-menu__item.item04 .title .grade {
  background: #0facd3;
}

.tab-menu .tab-menu__item.item05 .title .grade {
  background: #7147c8;
}

.tab-menu .tab-menu__item.item01:hover .title .grade,
.tab-menu .tab-menu__item.item01.active .title .grade {
  color: #f7a900;
  background: #fff;
}

.tab-menu .tab-menu__item.item02:hover .title .grade,
.tab-menu .tab-menu__item.item02.active .title .grade {
  color: #75bc40;
  background: #fff;
}

.tab-menu .tab-menu__item.item03:hover .title .grade,
.tab-menu .tab-menu__item.item03.active .title .grade {
  color: #db3434;
  background: #fff;
}

.tab-menu .tab-menu__item.item04:hover .title .grade,
.tab-menu .tab-menu__item.item04.active .title .grade {
  color: #0facd3;
  background: #fff;
}

.tab-menu .tab-menu__item.item05:hover .title .grade,
.tab-menu .tab-menu__item.item05.active .title .grade {
  color: #7147c8;
  background: #fff;
}

.tab-menu .tab-menu__item .title .ttl {
  display: block;
  margin-top: 5px;
  padding-bottom: 20px;
  color: #828688;
  font-size: 26px;
  font-weight: bold;
  transition: all 0.2s ease;
  background: url(../img/course_arw.png) bottom center no-repeat;
  line-height: 1.3;
}

.tab-menu .tab-menu__item.active .title .ttl {
  color: #fff;
  background: url(../img/course_arw_active.png) bottom center no-repeat;
}

.tab-menu .tab-menu__item:hover .title .ttl {
  color: #fff;
  background: url(../img/course_arw_active.png) bottom center no-repeat;
}

.tab-menu .tab-menu__item.item05 .title,
.tab-menu .tab-menu__item.item04 .title,
.tab-menu .tab-menu__item.item03 .title,
.tab-menu .tab-menu__item.item02 .title,
.tab-menu .tab-menu__item.item01 .title {
  background: #f2f5f7;
  border: 1px solid #bec1c3;
  border-bottom: none;
}

.tab-menu .tab-menu__item.item01:hover .title,
.tab-menu .tab-menu__item.item01.active .title {
  background: #f7a900;
  border-color: #f7a900;
}

.tab-menu .tab-menu__item.item02:hover .title,
.tab-menu .tab-menu__item.item02.active .title {
  background: #75bc40;
  border-color: #75bc40;
}

.tab-menu .tab-menu__item.item03:hover .title,
.tab-menu .tab-menu__item.item03.active .title {
  background: #db3434;
  border-color: #db3434;
}

.tab-menu .tab-menu__item.item04:hover .title,
.tab-menu .tab-menu__item.item04.active .title {
  background: #0facd3;
  border-color: #0facd3;
}

.tab-menu .tab-menu__item.item05:hover .title,
.tab-menu .tab-menu__item.item05.active .title {
  background: #7147c8;
  border-color: #7147c8;
}

.essay {
  position: relative;
  background: #e6eff7;
  padding: 12px;
  border-radius: 5px;
}

.essay::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: -15px;
  left: -10px;
  background-image: url(../img/es_4_6_icon.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 65px auto;
  width: 65px;
  height: 65px;
}

.essay .title-wrap {
  position: relative;
  background: #fff;
  margin-bottom: 10px;
  padding: 10px 45px;
  text-align: center;
  border-radius: 5px;
}

.essay .title {
  display: inline-block;
  color: #068b34;
  font-weight: bold;
  font-size: 15px;
  font-size: 0.9375rem;
}

.essay .name {
  display: block;
  font-weight: bold;
  font-size: 13px;
  font-size: 0.8125rem;
}

.essay .essay__cont {
  background: #fff;
  padding: 15px 20px;
  border-radius: 5px;
}

.essay .essay__cont-inner {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6eff7 97%, #e6eff7 100%);
  background-repeat: repeat;
  background-size: 100% 2em;
  line-height: 2;
}

.essay .essay__cont-inner p {
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box {
  background: #fff;
}

.tab-box__inner {
  display: none;
  padding: 0 0 20px 0;
  width: 100%;
}

.tab-box__inner--padding .tab-box__block.sho4 {
  padding: 40px;
}

.tab-box__inner.active {
  display: block;
}

.tab-box__title {
  margin-top: 0;
  color: #003f82;
}

.tab-box__title span {
  display: block;
  max-width: 1000px;
  margin: 0 auto;
}

.tab-box__title span.grade {
  display: inline-block;
  margin: 0 0.5em 0 0;
  padding: 2px 0.7em;
  color: #fff;
  border-radius: 25px;
  font-size: 32px;
}

.tab-box__highlight {
  background: #005bac;
  color: #fff;
  margin-inline: -40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Inter", sans-serif;
  font-size: 42px;
  line-height: calc(51 / 42);
  font-weight: 700;
  gap: 20px;
  padding: 26px 25px 25px;
  margin-top: 60px;
}

.tab-box__highlight--book::before {
  content: "";
  width: 62px;
  aspect-ratio: 62/64;
  height: auto;
  background-image: url("data:image/svg+xml,%3Csvg width='62' height='64' viewBox='0 0 62 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_37_316)'%3E%3Cpath d='M47.4056 5.02865H43.2239V0.833478C43.2239 0.372287 42.8528 0 42.3931 0H0.830802C0.371092 0 0 0.372287 0 0.833478V58.1379C0 58.5991 0.371092 58.9713 0.830802 58.9713H5.01251V63.1665C5.01251 63.6277 5.3836 64 5.84331 64H47.4111C47.8708 64 48.2419 63.6277 48.2419 63.1665V5.86213C48.2419 5.40094 47.8708 5.02865 47.4111 5.02865H47.4056ZM1.6616 57.3044V1.66696H41.5678V57.3044H5.84331H1.6616ZM46.5748 62.333H6.67411V58.9713H42.3986C42.8583 58.9713 43.2294 58.5991 43.2294 58.1379V6.69561H46.5803V62.333H46.5748Z' fill='white'/%3E%3Cpath d='M20.1497 21.0468H5.84325C5.38354 21.0468 5.01245 20.6745 5.01245 20.2133V5.86082C5.01245 5.39963 5.38354 5.02734 5.84325 5.02734H20.1497C20.6094 5.02734 20.9805 5.39963 20.9805 5.86082V20.2133C20.9805 20.6745 20.6094 21.0468 20.1497 21.0468ZM6.67406 19.3798H19.3189V6.6943H6.67406V19.3798Z' fill='white'/%3E%3Cpath d='M9.1665 16.88V9.19531H16.8265L16.4056 9.43424C13.3593 11.1512 10.8669 13.7017 9.21635 16.7911L9.1665 16.8855V16.88Z' fill='%23FFC524'/%3E%3Cpath d='M38.0508 6.6943H24.6638C24.2041 6.6943 23.833 6.32201 23.833 5.86082C23.833 5.39963 24.2041 5.02734 24.6638 5.02734H38.0508C38.5105 5.02734 38.8816 5.39963 38.8816 5.86082C38.8816 6.32201 38.5105 6.6943 38.0508 6.6943Z' fill='white'/%3E%3Cpath d='M38.0508 11.958H24.6638C24.2041 11.958 23.833 11.5857 23.833 11.1245C23.833 10.6633 24.2041 10.291 24.6638 10.291H38.0508C38.5105 10.291 38.8816 10.6633 38.8816 11.1245C38.8816 11.5857 38.5105 11.958 38.0508 11.958Z' fill='white'/%3E%3Cpath d='M38.0508 53.6806H26.6245C26.1648 53.6806 25.7937 53.3083 25.7937 52.8471C25.7937 52.386 26.1648 52.0137 26.6245 52.0137H38.0508C38.5105 52.0137 38.8816 52.386 38.8816 52.8471C38.8816 53.3083 38.5105 53.6806 38.0508 53.6806Z' fill='white'/%3E%3Cpath d='M37.1535 50.8861C36.6938 50.8861 36.3227 50.5138 36.3227 50.0526V47.9912H28.3525V50.0526C28.3525 50.5138 27.9814 50.8861 27.5217 50.8861C27.062 50.8861 26.6909 50.5138 26.6909 50.0526V47.1577C26.6909 46.6965 27.062 46.3242 27.5217 46.3242H37.1535C37.6132 46.3242 37.9843 46.6965 37.9843 47.1577V50.0526C37.9843 50.5138 37.6132 50.8861 37.1535 50.8861Z' fill='white'/%3E%3Cpath d='M62 54.9702L61.9391 13.3019V5.50609C61.9391 3.67244 60.4491 2.17773 58.6214 2.17773C56.7936 2.17773 55.3037 3.67244 55.3037 5.50609V13.3074C55.3037 13.3074 55.3037 13.313 55.3037 13.3186C55.3037 13.3186 55.3037 13.3241 55.3037 13.3297L55.3646 54.9813C55.3646 55.8704 55.7136 56.7094 56.345 57.3373C56.7604 57.7541 57.2699 58.043 57.8294 58.193V62.8661C57.8294 63.3272 58.2004 63.6995 58.6602 63.6995C59.1199 63.6995 59.491 63.3272 59.491 62.8661V58.2041C60.9366 57.843 62.0111 56.5316 62.0055 54.9702H62ZM58.6214 3.84469C59.5353 3.84469 60.2774 4.58926 60.2774 5.50609V12.474L56.9598 12.4851V5.50053C56.9598 4.58371 57.702 3.83913 58.6158 3.83913L58.6214 3.84469ZM58.6878 56.6427C58.2171 56.6427 57.8238 56.4705 57.5136 56.1593C57.1979 55.8482 57.0262 55.4259 57.0262 54.9813L56.9709 14.1576L60.2885 14.1465L60.3494 54.9758C60.3494 55.8926 59.6128 56.6372 58.6989 56.6427H58.6878Z' fill='white'/%3E%3Cpath d='M33.4758 36.9677H9.75365C9.29394 36.9677 8.92285 36.5955 8.92285 36.1343C8.92285 35.6731 9.29394 35.3008 9.75365 35.3008H33.4814C33.9411 35.3008 34.3122 35.6731 34.3122 36.1343C34.3122 36.5955 33.9411 36.9677 33.4814 36.9677H33.4758Z' fill='white'/%3E%3Cpath d='M29.5932 31.4326H13.6418C13.1821 31.4326 12.811 31.0603 12.811 30.5991C12.811 30.1379 13.1821 29.7656 13.6418 29.7656H29.5932C30.0529 29.7656 30.424 30.1379 30.424 30.5991C30.424 31.0603 30.0529 31.4326 29.5932 31.4326Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_37_316'%3E%3Crect width='62' height='64' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}

.tab-box__highlight--yellow {
  background: #ffe402;
  color: #005bac;
  padding: 20px 25px 19px;
  margin-bottom: 43px;
}

.tab-box__highlight--yellow p {
  position: relative;
  z-index: 1;
}

.tab-box__highlight--yellow p::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='181' height='181' viewBox='0 0 181 181' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M157.115 85.244L167.174 76.8091L154.848 72.3212L163.066 62.0833L150.09 60.0795L156.151 48.4447L143.037 49.0162L146.717 36.4231L133.967 39.5416L135.11 26.4772L123.211 32.0207L121.781 18.9746L111.191 26.7293L107.243 14.2119L98.3702 23.8883L92.0609 12.3795L85.2502 23.6025L76.815 13.5446L72.3285 25.881L62.0901 17.6642L60.0975 30.6368L48.4621 24.5765L49.0332 37.6895L36.4276 34.0126L39.546 46.761L26.4689 45.6214L32.0125 57.519L18.9654 58.9491L26.7322 69.536L14.2137 73.4842L23.8907 82.3561L12.3809 88.6652L23.6045 95.4751L13.5456 103.91L25.8828 108.396L17.6652 118.634L30.6386 120.626L24.5776 132.261L37.6915 131.689L34.014 144.294L46.7634 141.175L45.6234 154.252L57.522 148.708L58.9519 161.754L69.5397 153.988L73.4879 166.505L82.3607 156.829L88.6699 168.338L95.4827 157.126L103.916 167.173L108.404 154.848L118.643 163.065L120.647 150.09L132.283 156.15L131.711 143.037L144.305 146.716L141.187 133.968L154.264 135.107L148.72 123.21L161.768 121.78L154.012 111.191L166.531 107.243L156.854 98.3706L168.364 92.0615L157.14 85.2516L157.115 85.244Z' fill='%23F04B9B'/%3E%3Cpath d='M66.7714 109.405L70.7382 108.705L73.624 125.072C73.7195 125.613 73.8327 126.012 73.9638 126.268C74.1119 126.499 74.3287 126.633 74.6141 126.668C74.8995 126.704 75.3129 126.674 75.8542 126.579C76.0416 126.546 76.3436 126.492 76.76 126.419C77.1973 126.342 77.6658 126.259 78.1656 126.171C78.6653 126.083 79.1338 126 79.5711 125.923C80.0292 125.842 80.3624 125.784 80.5706 125.747C81.112 125.651 81.4941 125.445 81.7171 125.126C81.9609 124.804 82.0669 124.249 82.0352 123.46C82.0243 122.667 81.9301 121.525 81.7527 120.031C82.1018 120.185 82.5151 120.337 82.9928 120.489C83.4668 120.62 83.9371 120.73 84.4038 120.82C84.8912 120.906 85.3297 120.957 85.7192 120.974C85.8868 122.899 85.8786 124.435 85.6947 125.584C85.5316 126.729 85.1261 127.595 84.4781 128.182C83.8301 128.768 82.8605 129.176 81.5695 129.403C81.3821 129.436 81.0906 129.488 80.695 129.557C80.3202 129.624 79.9037 129.697 79.4456 129.778C78.9875 129.858 78.5294 129.939 78.0713 130.02C77.6132 130.101 77.1968 130.174 76.822 130.24C76.468 130.303 76.2077 130.349 76.0411 130.378C74.6252 130.628 73.4922 130.656 72.6422 130.462C71.8167 130.286 71.1762 129.819 70.7206 129.062C70.2651 128.305 69.9106 127.208 69.6573 125.771L66.7714 109.405ZM66.3807 104.997L68.3066 101.855C69.2558 102.246 70.2454 102.684 71.2754 103.168C72.3262 103.648 73.3336 104.125 74.2975 104.599C75.2614 105.073 76.0874 105.497 76.7758 105.869L74.8168 109.371C74.1456 108.974 73.3244 108.517 72.3532 108.002C71.382 107.486 70.3673 106.967 69.3091 106.445C68.2681 105.899 67.2919 105.416 66.3807 104.997ZM61.9961 111.728L65.7477 112C65.7561 113.266 65.7216 114.592 65.6443 115.98C65.5669 117.368 65.4369 118.7 65.2542 119.978C65.0715 121.255 64.7989 122.387 64.4362 123.375L60.5137 122.681C60.8936 121.67 61.1926 120.565 61.4108 119.367C61.6461 118.145 61.8098 116.881 61.9019 115.577C62.0147 114.269 62.0461 112.986 61.9961 111.728ZM81.0795 112.195L84.1719 110.008C85.0072 110.848 85.8363 111.775 86.6592 112.79C87.4821 113.804 88.2285 114.81 88.8984 115.809C89.5854 116.782 90.1413 117.683 90.5662 118.51L87.268 120.991C86.8848 120.157 86.3564 119.23 85.6829 118.211C85.0302 117.188 84.2991 116.147 83.4896 115.088C82.6802 114.028 81.8768 113.064 81.0795 112.195ZM80.7558 101.593L84.7995 102.425C83.9552 105.065 82.9058 107.698 81.6512 110.323C80.4174 112.946 78.9675 115.499 77.3014 117.982C75.6352 120.466 73.7438 122.828 71.6269 125.07C69.5309 127.307 67.209 129.359 64.6611 131.225C64.4223 130.967 64.1241 130.676 63.7664 130.352C63.4333 130.046 63.0794 129.744 62.7046 129.445C62.3262 129.125 61.9815 128.874 61.6704 128.693C64.1227 127.015 66.3644 125.117 68.3955 122.999C70.4437 120.855 72.277 118.589 73.8953 116.2C75.5137 113.81 76.8987 111.376 78.0504 108.897C79.1984 106.397 80.1002 103.963 80.7558 101.593ZM98.4847 106.067L98.8261 108.003L111.913 105.696L111.572 103.759L98.4847 106.067ZM99.3659 111.064L99.7128 113.032L112.8 110.725L112.453 108.757L99.3659 111.064ZM97.609 101.101L97.9505 103.037L111.038 100.73L110.696 98.7932L97.609 101.101ZM93.4131 98.4913L113.934 94.8729L117.183 113.301L96.6625 116.919L93.4131 98.4913ZM107.81 112.377L111.651 111.7L112.968 119.165C113.056 119.665 113.186 119.975 113.357 120.095C113.546 120.19 113.932 120.187 114.515 120.084C114.64 120.062 114.837 120.027 115.108 119.979C115.4 119.928 115.722 119.871 116.076 119.808C116.43 119.746 116.763 119.687 117.076 119.632C117.388 119.577 117.628 119.535 117.794 119.505C118.148 119.443 118.402 119.302 118.557 119.081C118.711 118.861 118.777 118.441 118.753 117.823C118.73 117.204 118.631 116.277 118.456 115.041C118.764 115.202 119.133 115.351 119.566 115.489C120.019 115.624 120.477 115.726 120.94 115.795C121.424 115.86 121.831 115.917 122.162 115.966C122.327 117.633 122.332 118.941 122.178 119.892C122.027 120.863 121.681 121.579 121.139 122.04C120.598 122.5 119.807 122.822 118.766 123.006C118.599 123.035 118.37 123.075 118.078 123.127C117.808 123.174 117.506 123.228 117.173 123.286C116.839 123.345 116.496 123.406 116.142 123.468C115.809 123.527 115.507 123.58 115.236 123.628C114.965 123.676 114.757 123.712 114.611 123.738C113.383 123.955 112.399 123.978 111.661 123.807C110.943 123.633 110.388 123.227 109.996 122.587C109.625 121.944 109.337 121.04 109.131 119.874L107.81 112.377ZM100.414 115.002L104.412 114.297C104.537 115.735 104.537 117.077 104.414 118.322C104.307 119.543 103.972 120.687 103.408 121.752C102.865 122.814 101.999 123.804 100.808 124.723C99.621 125.662 98.0182 126.557 95.9996 127.406C95.833 127.071 95.5881 126.717 95.2648 126.344C94.966 125.989 94.6341 125.629 94.2692 125.264C93.9287 124.916 93.6011 124.641 93.2864 124.439C95.0392 123.786 96.4148 123.125 97.4131 122.455C98.4078 121.764 99.1293 121.047 99.5777 120.302C100.047 119.554 100.324 118.753 100.41 117.901C100.492 117.028 100.494 116.061 100.414 115.002ZM126.657 95.5513L129.119 111.654L125.548 112.284L122.365 96.3082L126.657 95.5513ZM128.554 118.89C127.881 119.009 127.263 118.874 126.699 118.486C126.142 118.096 125.804 117.561 125.684 116.88C125.566 116.215 125.703 115.604 126.092 115.047C126.49 114.489 127.025 114.151 127.697 114.032C128.356 113.916 128.967 114.052 129.531 114.441C130.102 114.828 130.447 115.354 130.564 116.02C130.644 116.471 130.601 116.902 130.437 117.312C130.281 117.721 130.037 118.069 129.706 118.356C129.382 118.634 128.998 118.812 128.554 118.89Z' fill='white'/%3E%3Cpath d='M50.3336 64.1987L86.0557 57.8999L89.8838 79.61L84.4346 80.5708L81.5064 63.9639L56.4231 68.3868L59.3894 85.2099L54.1998 86.125L50.3336 64.1987ZM55.5619 78.1704L86.1808 72.7715L87.0807 77.8747L56.4617 83.2736L55.5619 78.1704ZM63.9702 54.0352L69.4626 53.0668L76.6231 93.6758L71.1307 94.6443L63.9702 54.0352ZM111.527 84.0453C109.07 84.4786 106.811 84.4428 104.752 83.938C102.703 83.4312 100.995 82.5242 99.6268 81.2171C98.2586 79.9101 97.3668 78.2785 96.9515 76.3225L103.368 75.1912C103.591 76.1254 104.049 76.895 104.742 77.5C105.434 78.0936 106.285 78.5006 107.298 78.7209C108.31 78.9412 109.402 78.948 110.574 78.7414C111.825 78.5208 112.896 78.1091 113.787 77.5063C114.676 76.8921 115.324 76.1444 115.732 75.2632C116.139 74.3819 116.247 73.4304 116.055 72.4086C115.88 71.3486 115.443 70.4639 114.743 69.7545C114.043 69.0451 113.124 68.5561 111.986 68.2876C110.859 68.0171 109.556 68.0123 108.077 68.273L104.989 68.8177L104.128 63.9373L107.217 63.3927C108.434 63.1781 109.46 62.7801 110.296 62.1987C111.143 61.6153 111.762 60.8964 112.15 60.0419C112.537 59.1761 112.636 58.2379 112.446 57.2275C112.283 56.2357 111.91 55.416 111.326 54.7681C110.752 54.1069 110.019 53.6438 109.128 53.3787C108.248 53.1115 107.262 53.0743 106.17 53.2668C105.101 53.4554 104.145 53.8233 103.303 54.3705C102.461 54.9178 101.825 55.5989 101.394 56.4139C100.961 57.2175 100.813 58.1115 100.952 59.0958L94.86 60.17C94.5605 58.2053 94.8207 56.3882 95.6406 54.7188C96.47 53.036 97.7215 51.6188 99.3952 50.4675C101.067 49.3047 103.035 48.5237 105.299 48.1245C107.631 47.7133 109.733 47.7943 111.605 48.3673C113.487 48.927 115.029 49.8573 116.232 51.1584C117.435 52.4594 118.193 53.9972 118.506 55.7719C118.864 57.7379 118.575 59.4898 117.638 61.0274C116.712 62.563 115.341 63.702 113.525 64.4445L113.573 64.7176C116.091 64.6256 118.134 65.2037 119.703 66.4519C121.281 67.6867 122.257 69.3972 122.631 71.5834C122.976 73.5401 122.727 75.3903 121.885 77.134C121.053 78.8643 119.741 80.339 117.95 81.558C116.171 82.7749 114.03 83.604 111.527 84.0453Z' fill='white'/%3E%3C/svg%3E%0A");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 181px;
  height: auto;
  aspect-ratio: 1/1;
  left: 0;
  transform: translateX(-100%) translateY(-50%);
  top: 50%;
}

.tab-box__inner .campaign__item a:hover {
  opacity: 0.7;
}

.tab-box01 {
  background: #fcf5db;
}

.tab-box01#tab-box02 {
  background: #e6f2dd;
}

.tab-box01#tab-box03 {
  background: #feecef;
}

.tab-box04 {
  background: #ddf1fd;
}

.tab-box04#tab-box05 {
  background: #e7e2f7;
}

#tab-box01 .tab-box__title {
  border-top: 10px solid #f7a900;
  background: #fff;
}

#tab-box01 .tab-box__title span.grade {
  background: #f7a900;
}

#tab-box02 .tab-box__title {
  border-top: 10px solid #75bc40;
  background: #fff;
}

#tab-box02 .tab-box__title span.grade {
  background: #75bc40;
}

#tab-box03 .tab-box__title {
  border-top: 10px solid #db3434;
  background: #fff;
}

#tab-box03 .tab-box__title span.grade {
  background: #db3434;
}

#tab-box04 .tab-box__title {
  border-top: 10px solid #0facd3;
  background: #fff;
}

#tab-box04 .tab-box__title span.grade {
  background: #0facd3;
}

#tab-box05 .tab-box__title {
  border-top: 10px solid #7147c8;
  background: #fff;
}

#tab-box05 .tab-box__title span.grade {
  background: #7147c8;
}

.tab-box__block {
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 40px;
  background: #fff;
  border-radius: 40px;
}

.tab-box__block .campaign__list {
  margin-top: 40px;
}

.tab-box__block.box02 {
  border-radius: 40px;
  overflow: hidden;
}

.tab-box__block.box02.with-repo {
  border-radius: 40px 40px 0 0;
}

#tab-box03 .tab-box__block.box02,
#tab-box01 .tab-box__block.box02 {
  margin-top: 80px;
}

.tab-box04 .tab-box__block.box02 {
  border-radius: 40px 40px 0 0;
  /*border-radius: 40px;
  padding-bottom: 80px;*/
}

.tab-box__block.box02.saisentan {
  border-radius: 40px 40px 0 0;
  padding-bottom: 0;
}

.tab-box__block.box02.saisentan .saisentan_header01 {
  position: relative;
  text-align: center;
  z-index: 2;
}

.tab-box__block h4 {
  text-align: center;
  font-size: 34px;
}

.tab-box__title-logo {
  background: url(../img/bg_title_logo.jpg) no-repeat center center / cover;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 49px 40px 56px;
}

tab-box__subtitle03-w2_s3 {
  text-align: center;
  font-size: 34px;
}

@media (max-width: 767px) {
  tab-box__subtitle03-w2_s3 {
    text-align: center;
    font-size: 22px;
  }

  tab-box__subtitle03-w-s2 h4 {
    text-align: center;
    font-size: 18px;
    margin-top: 30px;
  }
}

.title_saisentan {
  margin-top: 40px;
}

.saisentan-marker-bold {
  background: linear-gradient(transparent 60%, #ffef49 50%);
}

@media (max-width: 767px) {
  .tab-box__block h4 {
    text-align: center;
    font-size: 18px;
  }

  .saisentan-marker-bold {
    background: linear-gradient(transparent 60%, #ffef49 50%);
  }
}

.tab-box__block.box02.saisentan .saisentan_list01 {
  overflow: hidden;
  margin: -57px 40px 0 40px;
  padding: 75px 30px 30px 30px;
  background: #d1f7fd;
}

.tab-box__block.box02.saisentan .saisentan_catch {
  overflow: hidden;
  margin: 50px 0 0 0;
}

.tab-box__block.box02.saisentan .saisentan_catch .icon {
  float: left;
  margin: 0;
  padding: 0;
  width: 31%;
}

.tab-box__block.box02.saisentan .saisentan_catch .body {
  /* float: left;
  width: 69%; */
}

.tab-box__block.box02.saisentan .saisentan_catch .icon img {
  width: 86%;
}

.tab-box__block.box02.saisentan .saisentan_catch .body {
  padding: 8px 40px 0 40px;
  overflow: hidden;
}

.tab-box__block.box02.saisentan .saisentan_catch .body h5 {
  padding: 20px 0;
  text-align: left;
}

.tab-box__block.box02.saisentan .saisentan_catch .body .pic {
  float: left;
}

.tab-box__block.box02.saisentan .saisentan_catch .body .main {
  float: right;
  width: 630px;
}

.tab-box__block.box02.saisentan .saisentan_body {
  padding: 0 40px 0 40px;
}

.saisentan_list01 li {
  float: left;
  width: 19%;
  margin: 0 1.25% 0 0;
}

.saisentan_list01 li:last-child {
  margin-right: 0;
}

.tab-box__block.box02.saisentan p.text {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  .tab-box__block.box02.saisentan p.text {
    margin-left: 0;
    margin-right: 0;
  }
}

.tab-box__block.box02.saisentan .saisentan_2box p.text {
  margin-left: 20px;
  margin-right: 20px;
}

.tab-box__block.box02.saisentan .tab-box__lead06 {
  margin: 30px auto;
  text-align: center;
}

.tab-box__block.box02.saisentan .tab-box__lead06.mb0 {
  margin-bottom: 0;
}

.tab-box__block.box02.saisentan .tab-box__withphoto {
  margin: 0;
}

.tab-box__block.box02.saisentan .movie {
  margin: 50px 0 63px 0;
  text-align: center;
}

.tab-box__block.box02.saisentan .banner01 {
  margin: 35px 0 0 0;
  text-align: center;
}

.tab-box__block.box02.saisentan .banner02 {
  margin: 0 0 40px 0;
  width: 101%;
  text-align: center;
}

.tab-box__block.box02.saisentan .monoxer {
  margin: 40px 0 40px 0;
  text-align: center;
}

.tab-box__block.box02.saisentan .banner_study {
  margin: 20px 0 40px 0;
  text-align: center;
}

.tab-box__block.box02.saisentan .banner03 {
  text-align: center;
}

.tab-box__block.box02.saisentan .banner04 {
}

.tab-box__block.box02.saisentan .banner04 a:hover {
  opacity: 0.7;
}

.tab-box__block.box02.saisentan .banner05 {
  margin-top: 25px;
  text-align: center;
}

.tab-box__block.box03 {
  padding: 0 0 40px;
  background: #fff;
  border-radius: 0 0 40px 40px;
}

.tab-box04 .tab-box__block.box03 {
}

.tab-box__block.box03 .taikenki {
  padding: 0 50px;
}

@media (max-width: 767px) {
  .tab-box__block.box03 .taikenki {
    padding: 0 30px;
  }

  .tab-box__block.box03 {
    padding: 0 0 15px;
    border-radius: 0 0 15px 15px;
  }
}

.section__title01,
.tab-box__subtitle01 {
  margin-bottom: 40px;
  text-align: center;
  /*color: #fff;
  font-weight: bold;
  line-height: 2.5;
  border-radius: 30px 30px 0 0;
  background: #f4881a;*/
}

.section__title01.blue,
.tab-box__subtitle01.blue {
  background: #014fa1;
}

@media (max-width: 767px) {
  .section__title01,
  .tab-box__subtitle01 {
    border-radius: 15px 15px 0 0;
  }
}

.section__title01 {
  background: url(../img/section_bg_title01.png) bottom center no-repeat;
}

.chu1_tab-box__subtitle01 {
  text-align: center;
}

.chu1_tab-box__subtitle01 img {
  margin-top: -130px;
}

.chu1_tab-box__sublead01 {
  margin: 15px 0 40px 0;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
}

.chu1_tab-box__sublead01 span {
  display: block;
  color: #e2006e;
  font-size: 40px;
}

.tab-box__subtitle01-2 {
  margin: 0 0 15px 0;
}

.tab-box__subtitle01-3 {
  margin: 0 0 45px 0;
}

.campaign__item.gakunen {
  margin-bottom: 45px;
}

.campaign__item.gakunen.bottom {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .tab-box__subtitle01-3 {
    margin: 25px 0 15px 0;
  }

  .tab-box__subtitle01-2 {
    margin: 5px 0 15px 0;
  }

  .campaign__item.gakunen {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    padding: 0;
  }

  .campaign__item.gakunen img {
    width: 100%;
  }
}

.tab-box__subtitle03-w2,
.tab-box__subtitle03-w,
.tab-box__subtitle03 {
  width: 500px;
  height: 80px;
  line-height: 80px;
  margin: 100px auto 0 auto;
  color: #0087d5;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  background: url(../img/course_bg_subtitle02.png) center center no-repeat;
}

.tab-box__subtitle03-w {
  width: 660px;
  background: url(../img/course_bg_subtitle02-w_blue2.png) center center no-repeat;
  color: #fff;
}

.tab-box__subtitle03-w2 {
  width: 530px;
  background: url(../img/course_bg_subtitle02-w2.png) center center no-repeat;
}

.tab-box__subtitle03-w2.red {
  margin-top: 40px;
  background: url(../img/course_bg_subtitle02-w2_red.png) center center no-repeat;
  background-size: auto 100%;
  color: #e60012;
}

.sho4_photo01 {
  width: 94%;
  margin: 0 auto;
  text-align: center;
}

.tab-box__subtitle03-w2.green {
  background: url(../img/course_bg_subtitle02_green.png) center center no-repeat;
  background-size: auto 100%;
}

@media (min-width: 768px) {
  .tab-box__subtitle03-w2.green {
    background: url(../img/course_bg_subtitle02-w_green.png) center center no-repeat;
  }

  .tab-box__subtitle03-w2.red {
    margin-top: 60px;
  }

  .sho4_photo01 {
    width: auto;
    margin: 20px 0 0;
  }
}

.tab-box__subtitle03-w2.blue {
  background: url(../img/course_bg_subtitle02_blue.png) center center no-repeat;
  background-size: auto 100%;
}

@media (min-width: 768px) {
  .tab-box__subtitle03-w2.blue {
    background: url(../img/course_bg_subtitle02-w_blue.png) center center no-repeat;
  }

  .tab-box__subtitle03-w2.red {
    background: url(../img/course_bg_subtitle02-w_red.png) center center no-repeat;
    color: #e60012;
  }
}

.tab-box_tab3_subtitle01 {
  clear: both;
  padding-top: 60px;
}

.tab-box_tab3_sublead01 {
  margin: 30px 0;
  color: #142668;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.tab-box_tab3_sublead01 span {
  font-size: 24px;
  letter-spacing: 0;
}

.tab-box_tab3_pic01 {
  margin-bottom: 25px;
  text-align: center;
}

.tab-box_tab3_pic02 {
  margin: 0 0 55px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .tab-box_tab3_subtitle02,
  .tab-box_tab3_pic01,
  .tab-box_tab3_pic02 {
    margin-left: 15px;
    margin-right: 15px;
  }
}

.tab-box_tab3_merit {
  display: flex;
  margin-left: 40px;
}

@media (max-width: 767px) {
  .tab-box_tab3_merit {
    margin-left: 0;
  }
}

.tab-box_tab3_merit .merit-box {
  box-sizing: border-box;
  width: 450px;
  margin: 0 20px 20px 0;
  padding: 26px;
  border-radius: 30px;
}

.tab-box_tab3_merit .merit-box:nth-child(2n) {
  margin-right: 0;
}

@media (max-width: 767px) {
  .tab-box_tab3_merit .merit-box:nth-child(2n) {
    margin-right: auto;
  }
}

.tab-box_tab3_merit .merit-box .title1 {
  margin: 0 0 13px 0;
}

.tab-box_tab3_merit .merit-box .fukidashi {
  box-sizing: border-box;
  height: 101px;
  margin: 0 0 15px 0;
  padding: 13px 0 0 0;
  text-align: center;
  color: #005bab;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0;
  background: url(../img/chu23_meritbox_bg01.png) bottom center no-repeat;
}

.tab-box_tab3_merit .merit-box .title2 {
  margin: 0 0 15px 0;
}

.tab-box_tab3_merit .merit-box .text {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: 10px;
}

.tab-box_tab3_merit .merit-box.box1 {
  border: 4px solid #fe9b00;
}

.tab-box_tab3_merit .merit-box.box2 {
  border: 4px solid #1ea92e;
}

.tab-box_tab3_merit .merit-box.box3 {
  border: 4px solid #ec6d82;
}

.tab-box_tab3_merit .merit-box.box4 {
  border: 4px solid #005bab;
}

.tab-box_tab3_merit .title-box-1 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 10px;
  max-height: 180px;
}

.tab-box_tab3_merit .title-box-1 .circle1 {
  height: 180px;
  width: 180px;
  border-radius: 50%;
  background: #fe9b01;
  text-align: center;
  padding: 20px;
}

.tab-box_tab3_merit .title-box-1 .circle2 {
  height: 180px;
  width: 180px;
  border-radius: 50%;
  background: #1ca92f;
  text-align: center;
  padding: 20px;
}

.tab-box_tab3_merit .title-box-1 .circle3 {
  height: 180px;
  width: 180px;
  border-radius: 50%;
  background: #ec6d82;
  text-align: center;
  padding: 20px;
}

.tab-box_tab3_merit .title-box-1 .circle4 {
  height: 180px;
  width: 180px;
  border-radius: 50%;
  background: #005bab;
  text-align: center;
  padding: 20px;
}

.tab-box_tab3_merit .title-box-1 p {
  color: white;
  font-size: 40px;
  line-height: 45px;
  font-weight: bold;
  padding-top: 10px;
}

.merit-box .merit-title21 {
  font-size: 30px;
  color: #ee5f01;
  font-weight: bold;
  line-height: 40px;
}

.merit-box .merit-title22 {
  font-size: 30px;
  color: #019e13;
  font-weight: bold;
  line-height: 40px;
}

.merit-box .merit-title23 {
  font-size: 30px;
  color: #ec3855;
  font-weight: bold;
  line-height: 40px;
}

.merit-box .merit-title24 .flex {
  display: flex;
  align-items: center;
}

.merit-box .merit-title24 p {
  font-size: 30px;
  color: #005bab;
  font-weight: bold;
  line-height: 40px;
}

.merit-box .merit-title24 .light {
  font-weight: 100;
}

.merit-box .merit-title24 .mini p {
  font-size: 10px;
  color: #005bab;
  font-weight: bold;
  line-height: 15px;
}

.kamoku-price {
  display: flex;
  gap: 20px;
  justify-content: center;
}

.kamoku-price .circle-red {
  height: 100px;
  width: 100px;
  border-radius: 50%;
  background: #e60013;
  text-align: center;
  padding: 30px 10px 30px 10px;
}

.kamoku-price .circle-red p {
  font-size: 25px;
  color: white;
  font-weight: bold;
  font-feature-settings: "palt";
}

.kamoku-price .kamoku-price-disc {
  display: flex;
  font-size: 60px;
  color: #e60013;
  font-weight: bold;
  align-items: center;
}

.kamoku-price-disc-flex {
  display: flex;
  align-items: center;
}

.kamoku-price .storong-red {
  font-size: 70px;
  color: #e60013;
  font-weight: bold;
  line-height: 80px;
}

.kamoku-price .mini {
  font-size: 20px;
  color: #e60013;
  font-weight: bold;
  line-height: 25px;
}

.kamoku-price .mini-black {
  font-size: 18px;
  color: #000000;
  font-weight: bold;
}

@media (max-width: 767px) {
  .tab-box_tab3_merit .title-box-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-bottom: 10px;
    max-height: 180px;
  }

  .tab-box_tab3_merit .title-box-1 .circle1 {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    background: #fe9b01;
    text-align: center;
    padding: 20px;
  }

  .tab-box_tab3_merit .title-box-1 .circle2 {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    background: #1ca92f;
    text-align: center;
    padding: 20px;
  }

  .tab-box_tab3_merit .title-box-1 .circle3 {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    background: #ec6d82;
    text-align: center;
    padding: 20px;
  }

  .tab-box_tab3_merit .title-box-1 .circle4 {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    background: #005bab;
    text-align: center;
    padding: 20px;
  }

  .tab-box_tab3_merit .title-box-1 p {
    color: white;
    font-size: 25px;
    line-height: 35px;
    font-weight: bold;
    padding-top: 10px;
  }

  .merit-box .merit-title21 {
    font-size: 30px;
    color: #ee5f01;
    font-weight: bold;
    line-height: 40px;
  }

  .merit-box .merit-title22 {
    font-size: 30px;
    color: #019e13;
    font-weight: bold;
    line-height: 40px;
    text-align: left;
  }

  .merit-box .merit-title23 {
    font-size: 30px;
    color: #ec3855;
    font-weight: bold;
    line-height: 40px;
  }

  .merit-box .merit-title24 .flex {
    display: flex;
    align-items: center;
  }

  .merit-box .merit-title24 p {
    font-size: 30px;
    color: #005bab;
    font-weight: bold;
    line-height: 40px;
  }

  .merit-box .merit-title24 .light {
    font-weight: 100;
  }

  .merit-box .merit-title24 .mini p {
    font-size: 10px;
    color: #005bab;
    font-weight: bold;
    line-height: 15px;
  }

  .tab-box_tab3_merit .title-box-1 img {
    max-width: 50%;
  }

  .kamoku-price {
    display: flex;
    gap: 10px;
    justify-content: center;
  }

  .kamoku-price .circle-red {
    height: 70px;
    width: 70px;
    border-radius: 50%;
    background: #e60013;
    text-align: center;
    padding: 20px 5px 20px 5px;
  }

  .kamoku-price .circle-red p {
    font-size: 20px;
    color: white;
    font-weight: bold;
    font-feature-settings: "palt";
  }

  .kamoku-price .kamoku-price-disc {
    display: block;
    font-size: 24px;
    color: #e60013;
    font-weight: bold;
  }

  .kamoku-price .storong-red {
    font-size: 50px;
    color: #e60013;
    font-weight: bold;
    line-height: 60px;
  }

  .kamoku-price .mini {
    font-size: 12px;
    color: #e60013;
    font-weight: bold;
    line-height: 20px;
  }

  .kamoku-price .mini-black {
    font-size: 18px;
    color: #000000;
    font-weight: bold;
  }

  .kamoku-price .yori {
    padding-top: 20px;
  }
}

.chu23_meritbox_pic01 {
  margin: 10px 0 80px 0;
  text-align: center;
}

.tab-box_tab3_subtitle03 {
  margin-top: 60px;
  padding: 12px 0 12px 1em;
  background: #f9a806;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.8;
  border-radius: 37px;
}

.tab-box_tab3_subtitle03 span {
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 0 1em;
  background: #fff;
  color: #f9a806;
  font-size: 24px;
  border-radius: 20px;
}

.tab-box_tab3_subtitle03.blue {
  background: #005bac;
}

.tab-box_tab3_subtitle03.blue span {
  color: #005bac;
}

#tab-box01 .tab-box_tab3_subtitle03 {
  margin-top: 0;
  margin-bottom: 30px;
  padding-right: 32px;
}

#tab-box01 .tab-box_tab3_subtitle03 span {
  float: right;
  margin-top: 7px;
  margin-left: 2px;
  padding: 0 0.5em;
  border-radius: 0;
}

.tab-box_tab3_subtitle02 {
  text-align: center;
}

/*--course_common--*/

.event_title {
  font-size: 35px;
  background-color: #2b3a6e;
  color: #ffffff;
  display: flex;
  align-items: center;
  text-align: center;
  padding: 20px 0px 20px 40px;
  margin-bottom: 60px;
}

.event_title img {
  width: 60px;
}

.event_title h3 {
  margin-left: 20px;
}

@media (max-width: 767px) {
  .event_title {
    font-size: 25px;
    background-color: #2b3a6e;
    color: #ffffff;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 20px 0px 20px 20px;
  }

  .event_title img {
    width: 40px;
  }

  .event_title h3 {
    margin-left: 10px;
  }

  .br-sp {
    display: block;
  }
}

/*--course_1--*/

.mv_course {
  display: flex;
  margin: 55px 40px 60px 40px;
}

.mv_course img {
  max-width: 55%;
  height: auto;
  vertical-align: top;
  border-radius: 20px 0px 0px 20px;
}

.mv_course .mv_course_title1 {
  font-size: 40px;
  background-color: #f7a900;
  color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: 0px 20px 20px 0px;
  width: 55%;
  padding: 100px 0px;
}

.mv_course .mv_course_title4 {
  font-size: 40px;
  background-color: #10acd3;
  color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: 0px 20px 20px 0px;
  width: 55%;
  padding: 100px 0px;
}

.mv_course .mv_course_title5 {
  font-size: 40px;
  background-color: #6456bb;
  color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: 0px 20px 20px 0px;
  width: 55%;
  padding: 100px 0px;
}

.course1_point {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 0 40px 0;
}

.course1_point .point {
  border-radius: 10px;
  width: 48.5%;
  background: #e8f6fc;
  padding: 40px 20px;
  text-align: center;
  font-size: 30px;
  display: grid;
  place-items: center;
  font-weight: 600;
  color: #005bac;
}

.course1_point.long .point {
  width: 100%;
}

.course1_point.long {
  margin-bottom: 30px;
}

.course1_point .point .price_box {
  text-align: left;
  justify-content: center;
  display: flex;
  align-items: flex-end;
}

.course1_point .point .red_storong {
  font-size: 35px;
  color: #db3434;
  font-weight: 600;
}

.course1_point .point .kaisu {
  font-size: 30px;
  color: #db3434;
  font-weight: 600;
  line-height: 1;
}

.course1_point .point .small {
  font-size: 20px;
  color: #005bac;
  font-weight: 600;
}

.course1_point .point .getsugaku {
  font-size: 22px;
  color: #db3434;
  font-weight: 600;
  writing-mode: vertical-rl;
}

.course1_point .point .price {
  font-size: 50px;
  color: #db3434;
  font-weight: 600;
  line-height: 1;
}

.course1_point .point .tax {
  font-size: 16px;
  color: #db3434;
  font-weight: 600;
  text-align: left;
}

.corsemerit_1 {
  background-color: #f7a900;
  font-size: 40px;
  color: #fff;
  text-align: center;
  padding: 15px;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.corsemerit_1 h4 {
  margin-right: 20px;
}

.corsemerit_1 img {
  margin-right: 20px;
}

@media (max-width: 767px) {
  h3.corsedisc_1 {
    background-color: #f7a900;
    font-size: 20px;
    color: #fff;
    text-align: center;
    padding: 15px;
    margin-top: 40px;
  }

  .mv_course {
    display: flex;
    margin: 10px 10px 20px 10px;
  }

  .mv_course img {
    width: 100%;
    max-width: 60%;
    height: 100%;
    vertical-align: top;
    border-radius: 20px 0px 0px 20px;
  }

  .mv_course .mv_course_title1 {
    font-size: 20px;
    background-color: #f7a900;
    color: #ffffff;
    text-align: center;
    justify-content: center;
    border-radius: 0px 20px 20px 0px;
    width: 50%;
    padding: 0px 0px 0px 0px;
    display: flex;
    align-items: center;
  }

  .mv_course .mv_course_title4 {
    font-size: 20px;
    background-color: #10acd3;
    color: #ffffff;
    text-align: center;
    justify-content: center;
    border-radius: 0px 20px 20px 0px;
    width: 50%;
    padding: 0px 0px 0px 0px;
    display: flex;
    align-items: center;
  }

  .mv_course .mv_course_title5 {
    font-size: 20px;
    background-color: #6456bb;
    color: #ffffff;
    text-align: center;
    justify-content: center;
    border-radius: 0px 20px 20px 0px;
    width: 50%;
    padding: 0px 0px 0px 0px;
    display: flex;
    align-items: center;
  }

  .course1_point {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 40px 0;
  }

  .course1_point.long {
    margin-bottom: 20px;
  }

  .course1_point .point {
    border-radius: 10px;
    width: 100%;
    background: #e8f6fc;
    padding: 20px 10px;
    text-align: center;
    font-size: 20px;
    display: grid;
    place-items: center;
    font-weight: 600;
    color: #005bac;
  }

  .course1_point .point .price_box {
    text-align: left;
    justify-content: center;
    display: flex;
    align-items: flex-end;
  }

  .course1_point .point .red_storong {
    font-size: 25px;
    color: #db3434;
    font-weight: 600;
  }

  .course1_point .point .kaisu {
    font-size: 18px;
    color: #db3434;
    font-weight: 600;
    line-height: 1;
  }

  .course1_point .point .small {
    font-size: 16px;
    color: #005bac;
    font-weight: 600;
  }

  .course1_point .point .getsugaku {
    font-size: 15px;
    color: #db3434;
    font-weight: 600;
    writing-mode: vertical-rl;
  }

  .course1_point .point .price {
    font-size: 36px;
    color: #db3434;
    font-weight: 600;
    line-height: 1;
  }

  .course1_point .point .tax {
    font-size: 10px;
    color: #db3434;
    font-weight: 600;
    text-align: left;
  }

  .corsemerit_1 {
    background-color: #f7a900;
    font-size: 40px;
    color: #fff;
    text-align: center;
    padding: 10px 10px;
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
  }

  .corsemerit_1 h4 {
    font-size: 20px;
    margin-right: 10px;
    margin-top: 0px;
  }

  .corsemerit_1 img {
    height: 40px;
    margin-right: 3px;
    width: auto;
  }
}

/*--course_2--*/

.mv_course .mv_course_title2 {
  font-size: 40px;
  background-color: #75bc40;
  color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: 0px 20px 20px 0px;
  width: 55%;
  padding: 100px 0px;
}

h3.corsedisc_2 {
  background-color: #2f9651;
  font-size: 40px;
  color: #fff;
  text-align: center;
  padding: 15px;
  margin-top: 40px;
}

.result-title {
  font-size: 40px;
  background-color: #005bac;
  color: #ffffff;
  display: flex;
  align-items: center;
  text-align: center;
  padding: 20px 0px;
  justify-content: center;
}

.result-title h3 {
  margin: 0 20px;
}

@media (max-width: 767px) {
  .mv_course .mv_course_title2 {
    font-size: 16px;
    background-color: #75bc40;
    color: #ffffff;
    text-align: center;
    justify-content: center;
    border-radius: 0px 20px 20px 0px;
    width: 50%;
    padding: 0px 0px 0px 0px;
    display: flex;
    align-items: center;
  }

  h3.corsedisc_2 {
    font-size: 20px;
  }

  .result-title {
    font-size: 20px;
    background-color: #2b3a6e;
    color: #ffffff;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 20px 20px;
    justify-content: center;
  }

  .result-title h3 {
    font-size: 20px;
    margin: 0 20px;
  }

  .result-title img {
    max-width: 10%;
    height: auto;
    vertical-align: top;
  }
}

/*--course_3--*/

.mv_course .mv_course_title3 {
  font-size: 40px;
  background-color: #e60012;
  color: #ffffff;
  text-align: center;
  justify-content: center;
  border-radius: 0px 20px 20px 0px;
  width: 55%;
  padding: 100px 0px;
}

.recommend {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.recommend .recommend_3 {
  font-size: 30px;
  text-align: center;
  color: #2b3a6e;
  margin: 0px 20px;
}

.sankaku_left {
  border-style: solid;
  border-width: 60px 0px 0 10px;
  border-color: #004894 transparent transparent transparent;
  transform: rotate(-25deg);
}

.sankaku_right {
  border-style: solid;
  border-width: 60px 10px 0 0px;
  border-color: #004894 transparent transparent transparent;
  transform: rotate(25deg);
}

.corsemerit_2 {
  background-color: #db3434;
  font-size: 40px;
  color: #fff;
  text-align: center;
  padding: 15px;
  margin-top: 10px;
  display: flex;
  justify-content: center;
}

.corsemerit_2 h4 {
  margin-right: 20px;
}

/*--check_point--*/

.check_point {
  background: #e8f6fc;
  margin: 40px;
  padding: 40px;
  border-radius: 20px 20px 20px 20px;
  text-align: center;
}

.check_point p {
  font-size: 25px;
  margin-left: 10px;
}

.check_culmmun1 {
  display: flex;
  justify-content: left;
  margin-bottom: 20px;
}

.check_culmmun2 {
  display: flex;
}

.check_point .point {
  display: flex;
  margin-left: 40px;
}

.check_point .check_culmmun2 .point {
  margin-top: 20px;
  padding-bottom: 20px;
}

.check_culmmun1 img {
  max-width: 40px;
  max-height: 40px;
}

.check_culmmun2 .yajirushi_left {
  border-style: solid;
  border-width: 30px 20px 30px 0;
  border-color: transparent #e60013 transparent transparent;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-left: 10px;
}

.check_culmmun2 .kamoku_price {
  background-color: #e60013;
  margin-left: 0px;
  margin-bottom: 10px;
  margin-top: 10px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #ffffff;
  font-weight: 600;
  padding: 10px 20px 0px 20px;
}

.check_point .comment p {
  text-align: end;
  padding-right: 20px;
  font-size: 20px;
}

.check_point .comment .storong_red {
  color: #e60013;
  font-weight: 600;
}

@media (max-width: 767px) {
  .check_point {
    background: #e8f6fc;
    margin: 15px;
    padding: 10px;
    border-radius: 20px 20px 20px 20px;
    text-align: center;
  }

  .check_point p {
    font-size: 18px;
    margin-left: 0px;
  }

  .check_culmmun1 {
    display: block;
    justify-content: left;
    margin-bottom: 10px;
  }

  .check_culmmun2 {
    display: block;
  }

  .check_point .point {
    display: flex;
    margin-left: 0px;
    align-items: center;
    margin-bottom: 10px;
  }

  .check_point .check_culmmun2 .point {
    margin-top: 0px;
    padding-bottom: 0px;
  }

  .check_point img {
    max-width: 40px;
    max-height: 20px;
  }

  .check_culmmun2 .yajirushi_left {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 20px 10px 20px;
    border-color: transparent transparent #e60013 transparent;
    margin-bottom: 0px;
    margin-top: 10px;
    margin-left: 100px;
  }

  .check_culmmun2 .kamoku_price {
    background-color: #e60013;
    margin-left: 0px;
    margin-bottom: 10px;
    margin-top: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 600;
    padding: 0px 0px 0px 0px;
  }

  .check_point .comment p {
    text-align: end;
    padding-right: 0px;
    font-size: 16px;
  }
}

/*----*/
/*--higher_20point_box --*/
.higher_20point_box1 {
  border: 4px solid #e60012;
  padding: 30px 20px;
  margin: 40px 40px 40px 40px;
  text-align: center;
  position: relative;
}

.higher_20point_box1 p {
  font-size: 28px;
  font-weight: 600;
}

.higher_20point_box1 .colmn-box {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
}

.higher_20point_box1 .colmn-box .point_storong {
  font-size: 70px;
  line-height: 70px;
}

.higher_20point_box1 .colmn-box .point_storong p {
  font-size: 50px;
  color: #e60012;
  font-weight: bold;
}

.higher_20point_box1 .point_storong {
  font-size: 50px;
  color: #e60012;
  font-weight: bold;
}

.higher_20point_box1 .colmn-box .kyoshin-heikin {
  background: #fff96b;
  font-size: 16px;
  color: #e60013;
  border-radius: 20px 20px 20px 20px;
  margin: 0px 0px 0px 0px;
  width: 160px;
  display: inline-block;
  font-weight: 600;
}

.higher_20point_box1 .colmn-box .storong_red {
  color: #e60012;
  font-size: 30px;
  font-weight: 600;
}

.higher_20point_box1 .discription {
  border-radius: 25px 25px 25px 25px;
  background-color: #ff0000;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  width: 500px;
  padding: 5px;
  margin: 0px 0px -200px 0px;
  display: inline-block;
  position: absolute;
  left: 220px;
}

.higher_20point_box1 .storong_red {
  font-size: 45px;
  color: #e60012;
}

.higher_20point_box1 .point-average {
  display: grid;
}

.higher_20point_box1 .nolmal-p {
  font-size: 20px;
}

@media (max-width: 767px) {
  .higher_20point_box1 {
    border: 4px solid #e60012;
    padding: 10px 10px 30px 10px;
    margin: 10px 10px 40px 10px;
    text-align: center;
    position: relative;
  }

  .higher_20point_box1 p {
    font-size: 12px;
    font-weight: 600;
  }

  .higher_20point_box1 .colmn-box {
    color: #e60012;
    font-size: 26px;
    font-weight: 600;
  }

  .higher_20point_box1 .colmn-box .point_storong {
    font-size: 45px;
    line-height: 70px;
  }

  .higher_20point_box1 .colmn-box .point_storong p {
    font-size: 50px;
    color: #e60012;
    font-weight: bold;
  }

  .higher_20point_box1 .point_storong {
    font-size: 32px;
    color: #e60012;
    font-weight: bold;
    line-height: 30px;
  }

  .higher_20point_box1 .colmn-box .kyoshin-heikin {
    background: #fff96b;
    font-size: 12px;
    color: #e60013;
    border-radius: 20px 20px 20px 20px;
    margin: 0px 0px 0px 0px;
    width: 120px;
    display: inline-block;
    font-weight: 600;
  }

  .higher_20point_box1 .colmn-box .storong_red {
    color: #e60012;
    font-size: 26px;
    font-weight: 600;
  }

  .higher_20point_box1 .discription {
    border-radius: 25px 25px 25px 25px;
    background-color: #ff0000;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    width: 300px;
    padding: 5px;
    margin: 15px 0px -200px 0px;
    display: inline-block;
    position: absolute;
    left: 20px;
  }

  .higher_20point_box1 .storong_red {
    font-size: 25px;
    color: #e60012;
  }

  .higher_20point_box1 .nolmal-p {
    font-size: 20px;
  }
}

/*-------section-tankyu-------*/
.section-tankyu {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-tankyu .tankyu-disc {
  text-align: left;
  line-height: 50px;
}

.section-tankyu .tankyu-disc p {
  font-size: 35px;
  font-weight: bold;
}

.section-tankyu .tankyu-disc .mini-p {
  font-size: 15px;
  line-height: 20px;
}

.section-tankyu .tankyu-disc .strong-red {
  font-size: 45px;
  color: #e60012;
  padding-left: 0px;
  font-feature-settings: "palt";
}

.section-tankyu .tankyu-disc .line-1 {
  font-size: 45px;
  font-weight: bold;
}

@media (max-width: 767px) {
  .section-tankyu {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .section-tankyu img {
    display: none;
  }

  .section-tankyu .tankyu-disc {
    text-align: left;
  }

  .section-tankyu .tankyu-disc p {
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
  }

  .section-tankyu .tankyu-disc .mini-p {
    font-size: 15px;
  }

  .section-tankyu .tankyu-disc .strong-red {
    font-size: 35px;
    color: #e60012;
  }

  .section-tankyu .tankyu-disc .line-1 {
    font-size: 22px;
    font-weight: bold;
    line-height: 35px;
  }
}

/*--------------*/

@media (max-width: 767px) {
  .mv_course .mv_course_title3 {
    font-size: 16px;
    background-color: #e60012;
    color: #ffffff;
    text-align: center;
    justify-content: center;
    border-radius: 0px 20px 20px 0px;
    width: 50%;
    padding: 0px 0px 0px 0px;
    display: flex;
    align-items: center;
  }

  .recommend {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    align-items: flex-end;
  }

  .recommend .recommend_3 {
    font-size: 15px;
    text-align: center;
    color: #2b3a6e;
    margin: 0px 15px;
  }

  .sankaku_left {
    border-style: solid;
    border-width: 30px 0px 0 8px;
    border-color: #004894 transparent transparent transparent;
    transform: rotate(-25deg);
  }

  .sankaku_right {
    border-style: solid;
    border-width: 30px 8px 0 0px;
    border-color: #004894 transparent transparent transparent;
    transform: rotate(25deg);
  }

  .corsemerit_2 {
    background-color: #db3434;
    font-size: 25px;
    color: #fff;
    text-align: center;
    padding: 10px 10px;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .higher_20point_box {
    text-align: center;
  }

  .higher_20point {
    border: 4px solid #e60012;
    padding: 30px 20px;
    margin: 40px 40px 0px 40px;
    text-align: center;
  }

  .higher_20point p {
    font-size: 30px;
    font-weight: 600;
    line-height: 60px;
  }

  .higher_20point .point_storong {
    font-size: 50px;
    color: #e60012;
    font-weight: bold;
  }

  .higher_20point .storong_red {
    color: #e60012;
  }

  .higher_20point_box .discription {
    border-radius: 25px 25px 25px 25px;
    background-color: #ff0000;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    width: 500px;
    padding: 5px;
    margin: 20px 0px 0px 0px;
    display: inline-block;
  }
}

/*----*/

.souhatsu_menu {
  display: flex;
  margin: 55px 40px 60px 40px;
  padding: 30px;
  background: #e8f6fc;
  border-radius: 20px;
}

.souhatsu_menu div {
  width: 276px;
  margin-right: 16px;
}

.souhatsu_menu div:last-child {
  margin-right: 0;
}

.souhatsu_menu p.text {
  margin-top: 12px;
  font-size: 18px;
  line-height: 1.8;
}

.souhatsu_kids,
.souhatsu_puzzle {
  margin-left: 40px;
  margin-right: 40px;
}

.souhatsu_kids .text {
  margin: 20px 0 30px 0;
  font-size: 22px;
  text-align: center;
}

.souhatsu_kids ul {
  overflow: hidden;
  margin: 0 0 50px 0;
}

.souhatsu_kids ul li {
  float: left;
  width: 450px;
  margin: 0 20px 20px 0;
}

.souhatsu_kids ul li:nth-child(2n) {
  margin-right: 0;
}

.souhatsu_puzzle .pic {
  text-align: right;
}

.souhatsu_puzzle .text {
  margin: 20px 0 30px 0;
  font-size: 22px;
  text-align: center;
}

.souhatsu_puzzle .point {
  overflow: hidden;
  margin: 0 0 80px 0;
  padding: 30px 30px 30px 40px;
  border-radius: 20px;
  background: #e8f6fc;
}

.souhatsu_puzzle .point-body {
  box-sizing: border-box;
  float: left;
  width: 50%;
  padding-right: 30px;
}

.souhatsu_puzzle .point-pic {
  float: right;
  width: 50%;
}

.souhatsu_puzzle .point-lead {
  padding: 20px 0 15px 0;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  color: #142668;
}

.souhatsu_puzzle .point-text {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0;
}

.souhatsu_merit .tab-box__subtitle03-w {
  margin: 0 auto 50px auto;
}

.souhatsu_merit ul {
  overflow: hidden;
}

.souhatsu_merit ul li {
  box-sizing: border-box;
  float: left;
  width: 300px;
  height: 215px;
  margin: 0 10px 20px 0;
  padding: 100px 0 0 0;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.souhatsu_merit ul li:nth-child(3) {
  margin-right: 0;
}

.souhatsu_merit ul li:nth-child(4) {
  margin-left: 150px;
}

.souhatsu_merit ul li.merit1 {
  background: url(../img/souhatsu_bg01.png) top left no-repeat;
  background-size: 100% auto;
}

.souhatsu_merit ul li.merit2 {
  background: url(../img/souhatsu_bg02.png) top left no-repeat;
  background-size: 100% auto;
}

.souhatsu_merit ul li.merit3 {
  background: url(../img/souhatsu_bg03.png) top left no-repeat;
  background-size: 100% auto;
}

.souhatsu_merit ul li.merit4 {
  background: url(../img/souhatsu_bg04.png) top left no-repeat;
  background-size: 100% auto;
}

.souhatsu_merit ul li.merit5 {
  background: url(../img/souhatsu_bg05.png) top left no-repeat;
  background-size: 100% auto;
}

.souhatsu_pic {
  margin: 40px 0;
  text-align: center;
}

.tab-box01 .tab-box__subtitle03,
.tab-box04 .tab-box__subtitle03 {
  width: auto;
  height: auto;
  margin-top: 40px;
  background: none;
}

.tab-box04 .tab-box__lead03 {
  margin: 30px 0 45px 0;
  text-align: center;
  color: #142668;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
}

.tab-box04 .tab-box__lead03 span {
  display: block;
  font-size: 34px;
}

.tab-box04 .tab-box__lead03 strong {
  color: #e72c6a;
  font-size: 40px;
}

.tab-box04 .tab-box__lead04 {
  margin: 20px 0 30px 0;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}

.tab-box04 .tab-box__lead04 strong {
  color: #e72c6a;
}

.tab-box__subtitle04 {
  margin: 60px 40px 0 40px;
}

.tab-box__subtitle04 img {
  float: left;
  position: relative;
  margin: -16px 0 0 0;
  z-index: 2;
}

.saisentan .tab-box__subtitle04 img {
  margin: -38px 0 0 0;
}

.tab-box__subtitle04 span {
  display: block;
  height: 77px;
  line-height: 77px;
  margin: 0 0 0 46px;
  padding: 0 0 0 54px;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  background: #77b648;
  border-radius: 0 25px 25px 0;
}

.tab-box__subtitle04 span strong {
  display: inline-block;
  color: #e60012;
  background: #fff94c;
  padding: 0 20px;
  border-radius: 25px;
  line-height: 1.8;
  font-size: 26px;
}

@media (max-width: 767px) {
  .tab-box__subtitle04 span strong {
    font-size: 4vw;
    margin-top: 2px;
    padding: 0.5vw 2.5vw;
    border-radius: 4vw;
  }
}

.tab-box04 .tab-box__subtitle04 span {
  background: #0facd3;
}

#tab-box05.tab-box04 .tab-box__subtitle04 span {
  background: #6456bb;
}

.tab-box04 .saisentan .tab-box__subtitle04 span {
  margin-top: 75px;
  background: #4abfd2;
}

.tab-box04 .saisentan .tab-box__subtitle04 span.study {
  background: #4abfd2 url(../img/ico_saisentan_study.png) 97.5% center no-repeat;
}

/*--godash-section--*/

.godash-section .godash-title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 200px;
}

.godash-section .godash-text {
  text-align: center;
}

.godash-title img {
  height: 200px;
}

.godash-section .godash-text .tops {
  font-size: 50px;
  color: #152668;
  font-weight: bold;
  line-height: 30px;
}

.godash-section .godash-text .teikitest {
  font-size: 70px;
  color: #f14600;
  font-weight: bold;
}

.godash-section .culmn5 {
  display: flex;
  justify-content: center;
  text-align: center;
  padding: 10px 40px 30px 40px;
}

.godash-section .culmn3 {
  display: flex;
  justify-content: space-between;
  text-align: center;
  gap: 10px;
  margin-right: 10px;
}

.godash-section .culmn2 {
  display: flex;
  justify-content: space-between;
  text-align: center;
  gap: 10px;
}

.godash-section .test-point {
  background: #fff;
  border: 2px solid #f14600;
  border-radius: 20px;
  border-bottom: 5px solid #f14600;
  padding-left: 20px;
  padding-right: 20px;
  display: grid;
  height: 100px;
  align-items: center;
}

.godash-section .test-point .title {
  font-size: 23px;
  color: #f14600;
  font-weight: bold;
  line-height: 30px;
}

.godash-section .test-point .discription {
  font-size: 15px;
  color: #f14600;
  line-height: 20px;
}

@media (max-width: 767px) {
  .godash-section .godash-title {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }

  .godash-section .godash-text {
    text-align: center;
  }

  .godash-title img {
    height: 100px;
  }

  .godash-section .godash-text .tops {
    font-size: 24px;
    color: #152668;
    font-weight: bold;
    line-height: 30px;
    font-feature-settings: "palt";
  }

  .godash-section .godash-text .teikitest {
    font-size: 30px;
    color: #f14600;
    font-weight: bold;
    font-feature-settings: "palt";
  }

  .godash-section .culmn5 {
    display: block;
    justify-content: space-between;
    text-align: center;
    padding: 10px 10px 30px 10px;
  }

  .godash-section .culmn3 {
    display: flex;
    justify-content: center;
    text-align: center;
    gap: 5px;
    margin: 0px 0px 10px 0px;
  }

  .godash-section .culmn2 {
    display: flex;
    justify-content: center;
    text-align: center;
    gap: 10px;
  }

  .godash-section .test-point {
    background: #fff;
    border: 2px solid #f14600;
    border-radius: 20px;
    border-bottom: 5px solid #f14600;
    padding-left: 5px;
    padding-right: 5px;
    display: grid;
    height: auto;
    align-items: center;
    min-width: 100px;
  }

  .godash-section .test-point .title {
    font-size: 13px;
    color: #f14600;
    font-weight: bold;
    line-height: 30px;
  }

  .godash-section .test-point .discription {
    font-size: 12px;
    color: #f14600;
    line-height: 20px;
    margin: 0px 6px 6px 6px;
  }
}

/*----*/
/*--voice--*/
.voice .uservoice {
  font-size: 35px;
  font-weight: bold;
  color: #152668;
  margin-left: 10px;
  margin-right: 10px;
  line-height: 60px;
}

.voice p.ancait {
  background: #cdedf9;
  font-size: 16px;
  color: #152668;
  border-radius: 20px 20px 20px 20px;
  font-weight: bolder;
  text-align: center;
  display: inline-block;
  justify-content: center;
  width: 200px;
  display: inline-block;
}

.voice p.disc1 {
  margin: 16px 50px 0 50px;
  font-size: 18px;
  line-height: 1.8;
  text-align: left;
}

.voice p.disc2 {
  margin: 16px 50px 0 50px;
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
}

@media (max-width: 767px) {
  .voice .uservoice {
    font-size: 35px;
    font-weight: bold;
    color: #152668;
    margin-left: 10px;
    margin-right: 10px;
    line-height: 60px;
  }

  .voice p.ancait {
    background: #cdedf9;
    font-size: 16px;
    color: #152668;
    border-radius: 20px 20px 20px 20px;
    font-weight: bolder;
    text-align: center;
    display: inline-block;
    justify-content: center;
    width: 200px;
    display: inline-block;
  }

  .voice p.disc1 {
    margin: 16px 50px 0 50px;
    font-size: 18px;
    line-height: 1.8;
    text-align: left;
  }

  .voice p.disc2 {
    margin: 16px 50px 0 50px;
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
  }
}

/*----*/

.tab-box04 .tab-box__block.box02 .teiki-test {
  width: 920px;
  height: 686px;
  margin: 0 auto 30px auto;
  padding: 55px 0 25px 34px;
  background: url(../img/chu1_point_bg01_2401.png) top left no-repeat;
}

.tab-box04 .tab-box__block.box02 .teiki-test li {
  padding: 14px 0;
  line-height: 44px;
  font-size: 26px;
  font-weight: bold;
}

.tab-box04 .tab-box__block.box02 .teiki-test li span {
  display: inline-block;
  margin: 0 0.5em 0 0;
  padding: 0 1em;
  background: #005bac;
  border-radius: 20px;
  font-size: 23px;
  color: #fff;
}

.tab-box04 .tab-box__lead05 {
  margin-left: 40px;
  margin-right: 40px;
  font-size: 18px;
}

/*--
.questionnaire .qa1_box {}

.questionnaire .qa1_box .glaph {
  position: relative;
  margin-bottom: 15px;
}

.questionnaire .qa1_box .glaph img {
  width: 270px;
  height: 270px;
}

.questionnaire .qa1_box .glaph p {
  text-align: center;
  font-size: 30px;
  font-weight: bolder;
  position: absolute;
  transform: translate(30%, -140%);
  color: white;
  line-height: 50px;
}

.questionnaire .qa1_box .glaph .percent_strong {
  font-size: 50px;
}

.questionnaire .qa1_box .comment {}

.questionnaire .qa1_box .comment p {
  text-align: center;
  font-size: 20px;
  font-weight: bolder;
  position: absolute;
  transform: translate(35%, -210%);
}

.questionnaire .qa1_box .comment img {}


.questionnaire .percent_strong {
  font-size: 50px;
}


.qa2 .glaph2 {
  margin-bottom: 20px;
}

.qa3 .glaph3 {
  margin-bottom: 20px;
}

.qa2 .comment2 p {
  text-align: center;
  font-size: 20px;
  font-weight: bolder;
  position: absolute;
  transform: translate(12%, -210%);
  width: 250px;
}

.qa2 .glaph2 p {
  text-align: center;
  font-size: 30px;
  font-weight: bolder;
  position: absolute;
  transform: translate(20%, -130%);
  color: white;
  line-height: 50px;
}

.qa3 .comment3 p {
  text-align: center;
  font-size: 20px;
  font-weight: bolder;
  position: absolute;
  transform: translate(8%, -210%);
  width: 250px;
}

.qa3 .glaph3 p {
  text-align: center;
  font-size: 30px;
  font-weight: bolder;
  position: absolute;
  transform: translate(30%, -130%);
  color: white;
  line-height: 50px;
} --*/
.questionnaire .question {
  width: 30%;
}

.questionnaire .ansers {
  text-align: center;
}

.questionnaire .colmn3 {
  display: flex;
  justify-content: space-between;
}

.questionnaire .questionmark {
  display: flex;
  gap: 15px;
  height: 70px;
  margin-bottom: 20px;
}

.questionnaire .Q {
  height: 50px;
  width: 50px;
  color: white;
  border-radius: 50%;
  background: #2693d3;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
}

.questionnaire .question-disc {
  width: 220px;
  font-size: 16px;
}

.question .glaph {
  margin-bottom: 20px;
}

.question .glaph img {
  text-align: center;
  position: relative;
}

.question .glaph p {
  position: absolute;
  transform: translate(50%, -160%);
  font-size: 20px;
  color: white;
  font-weight: bold;
  line-height: 40px;
  text-align: center;
}

.question .glaph .percent_strong {
  font-size: 40px;
}

.question .comment img {
  text-align: center;
  position: relative;
}

.question .comment p {
  position: absolute;
  transform: translate(12%, -215%);
  font-size: 20px;
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  width: 229px;
}

@media (max-width: 767px) {
  .questionnaire .question {
    width: 100%;
  }

  .questionnaire .ansers {
    text-align: center;
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
  }

  .questionnaire .colmn3 {
    display: block;
  }

  .questionnaire .questionmark {
    display: flex;
    gap: 15px;
    margin-bottom: 0px;
  }

  .questionnaire .Q {
    height: 50px;
    width: 50px;
    color: white;
    border-radius: 50%;
    background: #2693d3;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
  }

  .questionnaire .question-disc {
    width: 300px;
    font-size: 18px;
  }

  .question .glaph {
    margin-bottom: 20px;
  }

  .question .glaph img {
    text-align: center;
    position: relative;
  }

  .question .glaph p {
    position: absolute;
    transform: translate(-5%, -150%);
    font-size: 20px;
    color: white;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
    width: 180px;
  }

  .question .glaph .percent_strong {
    font-size: 35px;
  }

  .question .comment img {
    text-align: center;
    position: relative;
  }

  .question .comment p {
    position: absolute;
    transform: translate(-5%, -210%);
    font-size: 12px;
    font-weight: bold;
    line-height: 20px;
    text-align: center;
    width: 180px;
  }
}

.questionnaire,
.teiki-test2 {
  margin-left: 40px;
  margin-right: 40px;
}

.teiki-test2 .pic01 {
  margin: 0 0 35px 0;
}

.teiki-test2 .text {
  margin-bottom: 1em;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  .teiki-test2,
  .questionnaire {
    margin-left: 15px;
    margin-right: 15px;
  }
}

.questionnaire .tab-box_tab3_subtitle03 {
  margin-top: 65px;
  margin-bottom: 40px;
}

.questionnaire .qa {
  display: flex;
}

.questionnaire .qa div {
  /*--  width: 32%; --*/
  margin-right: 2%;
  margin-bottom: 20px;
}

.questionnaire .qa div:last-child {
  margin-right: 0;
  text-align: center;
}

.questionnaire .qa .question {
  height: 100px;
  padding-left: 67px;
  font-size: 20px;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  letter-spacing: 0;
  background: url(../img/chu23_qa_icon01.png) top left no-repeat;
}

.questionnaire .qa .qa1 .answer {
  text-align: left;
}

.questionnaire .qa .qa2 .answer {
  text-align: center;
}

.questionnaire .qa .qa3 .answer {
  text-align: right;
}

.tab-box__subtitle05 {
  margin: 50px 0 0 0;
  text-align: center;
  border-radius: 10px;
}

.tab-box__subtitle06 {
  margin: -40px 0 45px 0;
  text-align: center;
}

.tab-box__subtitle07 {
  margin: 0 40px 20px 40px;
  padding: 10px 20px;
  color: #fff;
  font-size: 24px;
  background: #005bac;
  border-radius: 10px;
}

@media (max-width: 767px) {
  .tab-box__subtitle07 {
    margin: 0 15px 20px 15px;
  }
}

.tab-box__subtitle07.point3 {
  margin: 50px 40px 20px 40px;
}

.tab-box__block .result01-c .tab-box__subtitle07.point3 {
  clear: both;
  margin-left: 0;
  margin-right: 0;
  background: #bba043;
  border-radius: 15px;
}

.tab-box__subtitle08 {
  margin-left: 40px;
  margin-right: 40px;
  color: #2b3a6e;
  font-size: 22px;
  font-weight: bold;
}

.tab-box__subtitle09 {
  margin: 50px 0 50px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .tab-box__subtitle09 {
    margin: 25px 0;
  }
}

.tab-box__subtitle10 {
  text-align: center;
}

.tab-box__subtitle11 {
  margin: 45px 0 20px 0;
  text-align: center;
}

.saisentan_voice {
  display: flex;
}

.saisentan_voice p.text {
  width: 49%;
  margin: 0 2% 0 0;
  padding: 25px;
  border-radius: 25px;
  background: #fffa7d;
}

.saisentan_voice p.text:last-child {
  margin-right: 0;
}

.saisentan_2box {
  display: flex;
  margin-left: 40px;
  margin-right: 40px;
}

@media (max-width: 767px) {
  .saisentan_2box {
    margin-left: 0;
    margin-right: 0;
  }
}

.saisentan_2box div {
  width: 49%;
  margin: 0 2% 0 0;
  padding: 0 0 25px 0;
  border-radius: 20px;
  background: #e6f8ff;
}

.saisentan_2box div:last-child {
  margin-right: 0;
}

.saisentan_1box {
  position: relative;
  margin: 45px 40px 50px 40px;
}

.saisentan_1box div {
  overflow: hidden;
  margin: 0;
  padding: 0 0 25px 0;
  border-radius: 20px;
  background: #e6f8ff;
}

.saisentan_boxtitle {
  position: relative;
  padding: 12px 0;
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  border-radius: 20px 20px 0 0;
  background: #142668;
  z-index: 2;
}

.saisentan_text.text {
  padding: 15px 25px;
}

.followup .saisentan_text.text {
  padding: 0 25px 15px 25px;
}

.saisentan_text.text .boxhead {
  display: block;
  margin-bottom: 5px;
  color: #142668;
  font-size: 22px;
  font-weight: bold;
}

.saisentan_button01 {
  text-align: center;
}

.saisentan_button02 {
  padding: 0 25px;
  text-align: right;
}

.saisentan_button01 a:hover,
.saisentan_button02 a:hover {
  opacity: 0.7;
}

.saisentan_1box .saisentan_boxicon {
  position: absolute;
  z-index: 2;
  top: -40px;
  right: 10px;
}

.saisentan_button {
  margin-top: 40px;
  text-align: center;
}

.saisentan_button a:hover {
  opacity: 0.7;
}

dl.campaign__schedule {
  position: relative;
  margin-bottom: 50px;
  padding-bottom: 25px;
  background: #fdedf3;
}

dl.campaign__schedule:last-child {
  margin-bottom: 0;
}

dl.campaign__schedule dt {
  margin-top: 15px;
  padding: 10px 25px;
  background: #e2006e;
  color: #fff856;
  font-size: 32px;
  font-weight: bold;
}

dl.campaign__schedule.label dt {
  margin-top: 0;
}

dl.campaign__schedule dt img {
  position: absolute;
  top: -15px;
  left: 10px;
}

dl.campaign__schedule dt .date {
  display: inline-block;
  margin-right: 10px;
  color: #fff;
  font-size: 30px;
}

dl.campaign__schedule dt .date span {
  font-size: 24px;
}

dl.campaign__schedule dd {
  padding: 10px 15px 25px 25px;
  font-size: 18px;
  line-height: 1.8;
}

dl.campaign__schedule.label dd.menu {
  margin: 0 25px;
  padding: 15px 15px 20px 25px;
  background: #fddbe6;
}

dl.campaign__schedule dd .attention {
  font-size: 16px;
}

dl.campaign__schedule dd .menu {
  margin-bottom: 5px;
  line-height: 44px;
}

dl.campaign__schedule dd .menu img {
  margin-right: 8px;
}

dl.campaign__schedule dd .menu span {
  display: inline-block;
  margin-right: 25px;
}

.campaign__schedule dd.banner {
  padding: 25px;
  text-align: center;
}

dl.campaign__schedule.label dt,
dl.campaign__schedule.label dd {
  padding-left: 185px;
}

dl.campaign__schedule::after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 95px;
  height: 51px;
  background: url(../img/chu1_arw01.png) top center no-repeat;
}

dl.campaign__schedule:last-child::after {
  display: none;
}

dl.campaign__schedule dd.test {
  position: relative;
  margin: 20px 25px 0 25px;
  padding: 0;
  background: #fff;
  border: 4px solid #142668;
}

dl.campaign__schedule dd.test img.test-icon {
  position: absolute;
  z-index: 2;
  top: -13px;
  right: 5px;
}

dl.campaign__schedule dd.test strong {
  display: block;
  padding: 14px 0 14px 30px;
  background: #142668;
  color: #fff;
  font-size: 30px;
  line-height: 1.3;
}

dl.campaign__schedule dd.test strong br.tab {
  display: none;
}

dl.campaign__schedule dd.test strong .date span {
  font-size: 24px;
}

dl.campaign__schedule dd.test .test-main {
  display: block;
  padding: 15px 30px;
}

.tab-box__block .method {
  padding: 30px;
  background: #e8f6fc;
  border-radius: 20px;
}

.tab-box__block .method p.photo {
  text-align: center;
}

.tab-box__block .method p.title {
  text-align: center;
  font-weight: bold;
  color: #005bab;
  line-height: 1.4;
}

.tab-box__block .method p.text {
  line-height: 1.8;
}

.tab-box__block .step-box {
  overflow: hidden;
  width: 920px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .tab-box__block .step-box {
    width: auto;
    margin: 0 15px;
  }
}

.tab-box__block .step-box div {
  position: relative;
  float: left;
  width: 30%;
  margin-right: 5%;
  text-align: center;
  border: 2px solid #99a1c1;
  border-radius: 10px;
  padding: 0px 0px 20px 0px;
}

.tab-box__block .step-box div::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/chu1_arw02.png) center center no-repeat;
}

.tab-box__block .step-box.no-arw div::after {
  display: none;
}

.tab-box__block .step-box div:last-child {
  margin-right: 0;
}

.tab-box__block .step-box div::after:last-child {
  display: none;
}

.tab-box__block .step-box .header {
  margin: 0;
  box-sizing: border-box;
  height: 80px;
  padding-top: 10px;
  background: #e6f8ff;
  color: #004796;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-radius: 10px 10px 0 0;
  z-index: 1;
}

.tab-box__block .step-box .step1 .header {
  padding-top: 25px;
}

.tab-box__block .step-box .pic {
  box-sizing: border-box;
  height: 135px;
}

.tab-box__block .step-box .step1 .pic {
  padding-top: 25px;
}

.tab-box__block .step-box .step2 .pic {
  padding-top: 30px;
}

.tab-box__block .step-box .step3 .pic {
  padding-top: 20px;
}

.step-box .text {
  box-sizing: border-box;
  font-size: 16px;
  height: 70px;
}

.tab-box__block .step-box.no-arw .step1 .header,
.tab-box__block .step-box.no-arw .header {
  height: auto;
  padding: 10px 0;
  margin: 0;
}

.tab-box__block .step-box.no-arw .step1 .text,
.tab-box__block .step-box.no-arw .text {
  height: auto;
  font-size: 15px;
  padding: 15px;
  text-align: left;
}

.tab-box__block .work {
  height: 257px;
  margin: 0 40px 40px 40px;
  padding: 30px 45% 0 0;
  background: url(../img/chu1_bg_work.png) top left no-repeat;
  border-radius: 20px;
}

.tab-box__block .work .tab-box__subtitle07 {
  margin: 0 0 20px 0;
}

.tab-box__block .work h6 {
  font-size: 22px;
  font-weight: bold;
  color: #142668;
}

.tab-box__block .work p {
  margin: 0 0 5px 0;
  font-size: 18px;
  line-height: 1.8;
}

.tab-box__block .voice {
  text-align: center;
  width: 920px;
  height: 316px;
  margin: 60px auto 40px auto;
  background: url(../img/bg_voice.png) top left no-repeat;
}

.tab-box__block .voice.mt0 {
  margin-top: 0;
}

.tab-box__block .voice h6 {
  padding: 70px 0 0 0;
  text-align: center;
}

.tab-box__block .voice h6 span {
  font-size: 16px;
  font-weight: normal;
}

.tab-box__block .voice .disc {
  margin: 4px 50px 0 50px;
  font-size: 18px;
  line-height: 1.8;
  text-align: left;
}

.tab-box__block .voice p strong {
  font-weight: bold;
  color: #e72c6a;
}

@media (max-width: 767px) {
  .tab-box__block .voice {
    box-sizing: border-box;
    width: 93%;
    height: 77vw;
    margin: 25px auto 0 auto;
    padding: 25px 15px 30px 15px;
    border-radius: 0;
    background: url(../img/bg_voice_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .tab-box__block .voice h6 {
    padding-top: 0px;
    font-size: 18px;
    text-align: center;
  }

  .tab-box__block .voice h6 img {
    width: 50%;
  }

  .tab-box__block .voice h6 span {
    font-size: 12px;
  }

  .tab-box__block .voice p {
    margin: 1.5vw 3vw 0 3vw;
    font-size: 14px;
  }
}

.tab-box__block .gakusyu {
  margin: 0 0 25px 0;
  padding: 25px 65px 0 65px;
  background: url(../img/chu1_bg_student.png) right bottom no-repeat;
}

.tab-box__block .gakusyu .pic {
  margin: 0 0 20px 0;
}

.tab-box__block .gakusyu .text {
  font-size: 26px;
}

.tab-box__block .gakusyu .text strong {
  font-size: 58px;
  color: #e72c6a;
}

.tab-box__block .voice2 {
  margin: 40px;
  display: flex;
}

.tab-box__block .voice2 div {
  box-sizing: border-box;
  width: 49%;
  padding: 30px 0;
  border: 2px solid #bba043;
  border-radius: 30px;
}

.tab-box__block .voice2 div:first-child {
  margin-right: 2%;
  padding-top: 0px;
}

.tab-box__block .voice2 div .title {
  height: 128px;
  margin-left: -1px;
  margin-right: -1px;
  padding-top: 40px;
  padding-left: 40px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
}

.tab-box__block .voice2 div .title01 {
  background: url(../img/chu1_voice2_icon1.png) right center no-repeat;
}

.tab-box__block .voice2 div .title02 {
  background: url(../img/chu1_voice2_icon2.png) right center no-repeat;
}

.tab-box__block .voice2 div .text {
  margin: 15px 30px 0 30px;
  font-size: 18px;
  line-height: 1.8;
}

.tab-box__block .voice2 div .text strong {
  color: #e72c6a;
  font-weight: bold;
}

/*--.web-mieruka {
  position: relative;
  height: 170px;
}

p.mieruka1 {
  position: relative;
  transform: translate(5%, -200%);
  font-size: 20px;
  font-weight: bold;
  color: #e33c73;
  width: 150px;
  text-align: center;
}

p.mieruka2 {
  position: relative;
  transform: translate(155%, -300%);
  font-size: 20px;
  font-weight: bold;
  color: #e33c73;
  width: 150px;
  text-align: center;
}

p.mieruka3 {
  position: relative;
  transform: translate(305%, -400%);
  font-size: 20px;
  font-weight: bold;
  color: #e33c73;
  width: 150px;
  text-align: center;
}
--*/

.mieruka-circle {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

.gakusyu-circle1 {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background-color: #ffd2d2;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.mieruka-circle .mieruka {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 2px solid #e72c6a;
  color: #e72c6a;
  font-weight: bold;
  font-size: 19px;
  display: flex;
  /* text-align: center; */
  align-items: center;
  justify-content: center;
  padding-top: 10px;
}

.mieruka-circle .kakeru {
  font-size: 40px;
  color: gray;
}

@media (max-width: 767px) {
  .tab-box__block .voice2 {
    display: block;
    margin: 30px 15px;
  }

  .tab-box__block .voice2 div {
    width: 100%;
    margin: 0 0 25px 0;
    padding-top: 0;
    border-radius: 15px;
  }

  .tab-box__block .voice2 div .title01,
  .tab-box__block .voice2 div .title02 {
    box-sizing: border-box;
    margin: -18px 0 0 0;
    padding: 8px 0 0 15px;
    height: 25vw;
    line-height: 25vw;
  }

  .tab-box__block .voice2 div .title01 {
    background: url(../img/chu1_voice2_icon1_sp.png) right center no-repeat;
    background-size: 101% auto;
  }

  .tab-box__block .voice2 div .title02 {
    background: url(../img/chu1_voice2_icon2_sp.png) right center no-repeat;
    background-size: 101% auto;
  }

  .mieruka-circle {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 40px;
  }

  .gakusyu-circle1 {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: #ffd2d2;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  .mieruka-circle .mieruka {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    border: 2px solid #e72c6a;
    color: #e72c6a;
    font-weight: bold;
    font-size: 12px;
    display: flex;
    /* text-align: center; */
    align-items: center;
    justify-content: center;
    padding-top: 10px;
  }

  .mieruka-circle .kakeru {
    font-size: 20px;
    color: gray;
  }
}

.tab-box__block .result01 .result-box .school {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -100%);
  font-weight: bold;
}

.tab-box__block .result01 .result-box .label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: bold;
}

.tab-box__block .result01 .result-box .number {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
}

.tab-box__block .result02 .result-box {
  overflow: hidden;
  /*background: #fdecf1;*/
}

.tab-box__block .result02 .result-box .label {
  color: #fff;
  font-weight: bold;
}

.tab-box__block .result02 .result-box .school {
  float: left;
}

.tab-box__block .result02 .result-box .school strong {
  display: block;
  font-weight: bold;
}

.tab-box__block .result02 .result-box .number {
  text-align: right;
}

.tab-box__block .result01-c {
  overflow: hidden;
  /*padding: 35px 40px 75px;*/
  padding: 35px 40px 0;
  background: #fff;
}

.tab-box__block .result01-c p:nth-child(1) {
  margin-bottom: 30px;
}

.tab-box__block .result01-c p:nth-child(2) {
  margin-bottom: 30px;
}

.tab-box__block .result01-c p:nth-child(3) {
  margin-bottom: 30px;
}

.tab-box__block .result01-c p:nth-last-child(3) {
  /*float: left;
  width: 49%;
  margin-right: 2%;*/
  margin-bottom: 20px;
}

.tab-box__block .result01-c p:nth-last-child(2) {
  /*float: left;
  width: 49%;*/
  margin-bottom: 30px;
}

.tab-box__block .result01-c p:nth-last-child(1) {
  /*clear: both;
  width: 49%;*/
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  text-align: center;
}

.tab-box__block .result01-c .result-box {
  margin-bottom: 20px;
}

.tab-box__block .result01-c .result-box:nth-child(1) {
  margin-bottom: 30px;
}

.tab-box__block .result01-c .result-box:nth-child(6),
.tab-box__block .result01-c .result-box:nth-child(4),
.tab-box__block .result01-c .result-box:nth-child(2) {
  float: left;
}

.tab-box__block .result01-c .result-box:nth-child(7),
.tab-box__block .result01-c .result-box:nth-child(5),
.tab-box__block .result01-c .result-box:nth-child(3) {
  float: right;
}

.tab-box__block .result01-c .result-box:nth-child(7) {
  margin: -10px -10px 0 0;
}

.tab-box__block .result01-c .result-box:nth-child(8) {
  clear: both;
  padding-top: 10px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .tab-box__block .result01-c .result-box:nth-child(1),
  .tab-box__block .result01-c .result-box:nth-child(2),
  .tab-box__block .result01-c .result-box:nth-child(3),
  .tab-box__block .result01-c .result-box:nth-child(4),
  .tab-box__block .result01-c .result-box:nth-child(5),
  .tab-box__block .result01-c .result-box:nth-child(6),
  .tab-box__block .result01-c .result-box:nth-child(7),
  .tab-box__block .result01-c .result-box:nth-child(8) {
    float: none;
    padding: 0;
    margin: 0 0 15px 0;
  }

  .tab-box__block .result01-c .result-box:nth-child(6) {
    margin: 0;
  }
}

.tab-box__block .result02-c {
}

.tab-box__block .result02-c p {
  float: left;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 20px;
}

.tab-box__block .result02-c p:nth-child(2n) {
  margin-right: 0;
}

p.result_comment {
  /*margin: -35px 40px 75px;*/
  margin: 0 40px 40px;
}

p.taikenki-button {
  padding: 40px 40px 20px 40px;
  text-align: center;
}

p.taikenki-button a:hover {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .tab-box__block .result01-c {
    /*padding: 25px 15px 40px;*/
    padding: 25px 15px 0;
  }

  p.result_comment {
    /*margin: -20px 15px 40px;*/
    margin: -15px 15px 15px;
    font-size: 2.5vw;
  }

  .tab-box__inner.tab-box01 p.result_comment {
    /*margin: -40px 15px 40px;*/
    margin: 0 15px 0;
    font-size: 2.5vw;
  }

  p.taikenki-button {
    padding: 10px 15px;
  }
}

ul.slick-slider {
  width: 95%;
  margin: 0 auto;
}

li.slick-slide .slide-box {
  width: 95%;
  margin: 0 auto 0 auto;
  padding: 20px 0;
  background: #fff;
  border: 1px solid #c0c0c0;
  border-radius: 20px;
}

.tab-box04 li.slick-slide .slide-box {
}

li.slick-slide img {
  width: 100%;
}

ul.slick-slider p.photo {
  position: relative;
  z-index: 2;
  margin: 0 20px 0 20px;
}

ul.slick-slider p.photo img.goukaku {
  position: absolute;
  z-index: 3;
  bottom: -15px;
  right: -15px;
  width: 105px;
  height: 101px;
}

ul.slick-slider p.school {
  margin-top: -60px;
  padding: 70px 0 0 20px;
  text-align: left;
  font-weight: bold;
  background: #dcf5fc;
  color: #004796;
}

ul.slick-slider p.name {
  margin-top: -2px;
  margin-bottom: 10px;
  padding: 0 0 10px 20px;
  text-align: left;
  background: #dcf5fc;
  color: #004796;
}

.tab-box04 li.slick-slide p.school {
}

.tab-box04 ul.slick-slider p.name {
}

ul.slick-slider p.comment {
  padding: 0 20px;
  line-height: 1.9;
}

@media (max-width: 767px) {
  .tab-box__block.box03 .taikenki {
    padding: 0;
    margin-left: 15px;
    margin-right: 15px;
  }

  ul.slick-slider p.photo img.goukaku {
    width: 70px;
    height: auto;
  }
}

.ac-check {
  display: none;
}

.ac-label span {
  display: block;
  text-align: right;
  color: #005bab;
  text-decoration: underline;
  cursor: pointer;
}

.ac-label.close {
  display: block;
  color: #005bab;
  text-decoration: underline;
  cursor: pointer;
  text-align: right;
}

.ac-content {
  transition: 0.5s;
  display: none;
}

.ac-check:checked + .ac-label {
  display: none;
}

.ac-check:checked + .ac-label + .ac-content {
  display: inline;
}

p.contact-button {
  margin: 35px 0 45px 0;
  text-align: center;
}

p.contact-button a:hover {
  opacity: 0.7;
}

.contact-button img {
  width: 90%;
  max-width: 578px;
}

.tab-box .tab-box__list-3col-item {
  width: 100%;
}

.tab-box .tab-box__list-3col-item:nth-child(n + 2) {
  margin-top: 10px;
}

.tab-box .tab-box__list-3col-item .image {
  margin-bottom: 5px;
  text-align: center;
}

.tab-box .tab-box__list-3col-item .title {
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 5px;
  font-weight: bold;
  color: #ff5252;
}

.tab-box .tab-box__list-3col-item .text {
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item05 {
  overflow: hidden;
  width: 100%;
  padding-top: 5px;
  border: 2px solid #eee;
  border-radius: 5px;
  text-align: center;
}

.tab-box__item05:nth-child(n + 2) {
  margin-top: 10px;
}

.tab-box__item01 {
  width: 100%;
}

.tab-box__item01:nth-child(n + 2) {
  margin-top: 10px;
}

.tab-box__item01 .image {
  margin-bottom: 5px;
  text-align: center;
}

.tab-box__item01 .title {
  color: #ff5252;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 15px;
  font-size: 0.9375rem;
}

.tab-box__item01 .text {
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item01:nth-child(n + 2) {
  margin-top: 25px;
}

.tab-box__item01 .text-wrap {
  width: 100%;
  margin-bottom: 10px;
}

.tab-box__item01 .title {
  font-size: 18px;
  font-size: 1.125rem;
  position: relative;
  margin-bottom: 7px;
  font-weight: bold;
  line-height: 1.5;
  color: #068b34;
}

.tab-box__item01 .text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7;
}

.tab-box__item01 .image {
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}

.tab-box__item00:nth-child(n + 2) {
  margin-top: 25px;
}

.tab-box__item00 .text-wrap {
  margin-bottom: 10px;
  width: 100%;
}

.tab-box__item00 .title {
  position: relative;
  color: #068b34;
  margin-bottom: 7px;
  font-weight: bold;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
}

.tab-box__item00 .text {
  line-height: 1.7;
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item00 .image {
  margin-bottom: 10px;
  width: 100%;
  text-align: center;
}

.tab-box__item03:nth-child(n + 2) {
  margin-top: 25px;
}

.tab-box__item03 .text-wrap {
  margin-bottom: 10px;
  width: 100%;
}

.tab-box__item03 .title {
  position: relative;
  color: #068b34;
  margin-bottom: 7px;
  font-weight: bold;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
}

.tab-box__item03 .title span {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  text-align: left;
}

.tab-box__item03 .title span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background-image: url(../img/icon_tab_exc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 35px auto;
  width: 35px;
  height: 35px;
  transform: translateY(-50%);
}

.tab-box__item03 .text {
  line-height: 1.7;
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item03 .text span {
  color: #ff5252;
  font-weight: bold;
}

.tab-box__item03 .note {
  color: #707070;
  margin-top: 5px;
  font-size: 12px;
  font-size: 0.75rem;
}

.tab-box__item03 .image {
  margin-bottom: 10px;
  width: 100%;
  text-align: center;
}

.tab-box__item03 .list-ex {
  counter-reset: number;
  margin-top: 10px;
}

.tab-box__item03 .item-ex:nth-child(n + 2) {
  margin-top: 15px;
}

.tab-box__item03 .item-ex dt {
  position: relative;
  display: flex;
  align-items: center;
  background: #ff5252;
  color: #fff;
  margin-bottom: 7px;
  padding: 7px 5px 7px 45px;
  min-height: 45px;
  font-weight: bold;
  line-height: 1.25;
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item03 .item-ex dt::before {
  counter-increment: number;
  content: counter(number) "";
  position: absolute;
  top: 50%;
  left: 12px;
  font-family: "Roboto", sans-serif;
  transform: translateY(-50%);
  font-size: 38px;
  font-size: 2.375rem;
}

.tab-box__item03 .item-ex dd {
  line-height: 1.7;
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__item03 .item-ex dd b {
  font-weight: bold;
}

.tab-box__text01 {
  color: #ff5252;
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
}

.tab-box__text02 {
  color: #ff5252;
  margin-top: 5px;
  font-weight: bold;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
}

.tab-box__text02 span {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0 0.1em;
}

.tab-box__text02 span::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 14px;
  left: 0;
  background: #ffd200;
  width: 100%;
  height: 12px;
}

.tab-box__text02 span span {
  font-family: "Roboto", sans-serif;
  margin-right: 0.1em;
  font-size: 36px;
  font-size: 2.25rem;
}

.tab-box__list04 .tab-box__item04 {
  overflow: hidden;
  width: 100%;
  padding: 20px 15px;
  border: 3px solid #eee;
  border-radius: 5px;
}

.tab-box__list04 .tab-box__item04:nth-of-type(1) {
  border-color: #ec6d81;
}

.tab-box__list04 .tab-box__item04:nth-of-type(2) {
  border-color: #e3802a;
}

.tab-box__list04 .tab-box__item04:nth-of-type(3) {
  border-color: #0baf9b;
}

.tab-box__list04 .tab-box__item04:nth-of-type(4) {
  border-color: #0d56a6;
}

.tab-box__list04 .tab-box__item04:nth-child(n + 2) {
  margin-top: 10px;
}

.tab-box__list04 .tab-box__item04 .text {
  font-size: 14px;
  font-size: 0.875rem;
}

.tab-box__list04 .tab-box__item04 .image {
  margin-bottom: 10px;
  text-align: center;
}

.tab-box-green-area {
  background: #e7f7e8;
  margin-top: 60px;
  padding: 15px 10px;
}

.tab-box .catch-wrap {
  position: relative;
  background: #fff;
  border: 3px solid #068b34;
  border-radius: 5px;
  margin: 0 auto 45px;
  padding: 20px 5px;
  width: 100%;
  max-width: 735px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.tab-box .catch-wrap::before,
.tab-box .catch-wrap::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 12px 0;
  transform: translateX(-50%);
}

.tab-box .catch-wrap::before {
  top: 100%;
  border-color: #068b34 transparent transparent;
  z-index: 0;
}

.tab-box .catch-wrap::after {
  top: calc(100% - 5px);
  border-color: #fff transparent transparent;
  z-index: 1;
}

.tab-box .catch {
  color: #068b34;
  font-weight: bold;
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-size: 1.25rem;
}

.tab-box .catch span {
  color: #ff5252;
}

.tab-box .catch span > span {
  letter-spacing: -0.35em;
}

.tab-box .point-title-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -15px 0 -1.5em;
  text-align: center;
  transform: translateY(-50%);
}

.tab-box .point-title {
  position: relative;
  display: inline-block;
  background: #ffd200;
  color: #068b34;
  margin: 0 -10px;
  padding: 10px 15px;
  min-width: 240px;
  border-radius: 50px;
}

.tab-box .point-title span {
  display: block;
  font-weight: bold;
  line-height: 1.35;
}

.tab-box .point-title .num {
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
}

.tab-box .point-title .title {
  font-size: 20px;
  font-size: 1.25rem;
}

.tab-box__withphoto a {
  color: #005bab;
  text-decoration: underline;
}

.tab-box__withphoto a:hover {
  text-decoration: none;
}

.point1-area__lead {
  margin-bottom: 15px;
  text-align: center;
  line-height: 1.45;
  font-size: 16px;
  font-size: 1rem;
}

.point1-area__lead span {
  color: #ff5252;
  font-weight: bold;
}

.point1-area__list1 {
  margin-bottom: 20px;
}

.point1-area__item1 {
  position: relative;
  width: 100%;
}

.point1-area__item1:first-child::before {
  display: none;
}

.point1-area__item1:first-child dd::before {
  display: none;
}

.point1-area__item1:nth-child(n + 2) {
  margin-top: 30px;
}

.point1-area__item1::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 21px 12px 0 12px;
  border-color: #068b34 transparent transparent transparent;
  transform: translateX(-50%);
}

.point1-area__item1 dt {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #068b34;
  color: #fff;
  padding: 5px;
  min-height: 65px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  border-radius: 5px 5px 0 0;
  font-size: 16px;
  font-size: 1rem;
}

.point1-area__item1 dd {
  position: relative;
  background: #fff;
  text-align: center;
  padding: 10px 5px 15px;
  border-radius: 0 0 5px 5px;
}

.point1-area__item1 dd::before {
  display: none;
}

.point1-area__item1 dd .icon {
  margin-bottom: 15px;
}

.point1-area__item1 dd .icon img {
  width: 100px;
}

.point1-area__item2 .text {
  position: relative;
  z-index: 1;
  background: #068b34;
  color: #fff;
  margin-bottom: 20px;
  padding: 15px;
  border-radius: 5px;
}

.point1-area__item2 .text::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 7px 0 7px;
  border-color: #068b34 transparent transparent transparent;
  transform: translateX(-50%);
}

.point1-area__item2 .text dt {
  margin-bottom: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-size: 18px;
  font-size: 1.125rem;
}

.point1-area__item2 .text dt span {
  display: block;
  font-weight: normal;
  font-size: 17px;
  font-size: 1.0625rem;
}

.point1-area__item2 .text dd span {
  font-weight: bold;
}

.point1-area__item2 .image {
  width: 100%;
  text-align: center;
}

.point2-area__cheering-wrap {
  margin-bottom: 10px;
  text-align: center;
}

.point2-area__cheering {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 26px;
  font-size: 1.625rem;
}

.point2-area__cheering b {
  color: #ff5252;
  font-size: 31px;
  font-size: 1.9375rem;
}

.point2-area__cheering span {
  position: relative;
  display: flex;
  align-items: center;
  height: 48px;
}

.point2-area__cheering span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ff5252;
  width: 100%;
  height: 6px;
}

.point2-area__inner .logo {
  margin-bottom: 30px;
  text-align: center;
}

.point2-area__inner .logo img {
  width: 104px;
}

.point2-area__list {
  margin-bottom: -20px;
}

.point2-area__item {
  margin-bottom: 20px;
  width: 100%;
}

.point2-area__item dt {
  position: relative;
  color: #068b34;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
}

.point2-area__item dt span {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  text-align: left;
}

.point2-area__item dt span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background-image: url(../img/icon_tab_exc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 35px auto;
  width: 35px;
  height: 35px;
  transform: translateY(-50%);
}

.point2-area__item dd {
  line-height: 1.7;
  font-size: 14px;
  font-size: 0.875rem;
}

.point2-area__item dd span {
  color: #ff5252;
  font-weight: bold;
}

.point3-area__list {
  margin-bottom: 0;
}

.point3-area__item:nth-child(n + 2) {
  margin-top: 25px;
}

.point3-area__item:nth-of-type(2) .image img {
  width: 195px;
}

.point3-area__item .text {
  margin-bottom: 10px;
}

.point3-area__item .text dt {
  position: relative;
  z-index: 1;
  background: #068b34;
  color: #fff;
  margin-bottom: 20px;
  padding: 15px 10px;
  border-radius: 5px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2727272727;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-size: 1.25rem;
}

.point3-area__item .text dt span {
  display: block;
  font-weight: normal;
}

.point3-area__item .text dt::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 7px 0 7px;
  border-color: #068b34 transparent transparent transparent;
  transform: translateX(-50%);
}

.point3-area__item .text dd .point3-tab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -3px 5px;
}

.point3-area__item .text dd .point3-tab {
  margin-bottom: 6px;
  padding: 0 3px;
  width: 50%;
}

.point3-area__item .text dd .point3-tab span {
  display: block;
  background: #fff;
  color: #068b34;
  margin-bottom: 0;
  padding: 7px 3px;
  font-weight: bold;
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0.05em;
  border-radius: 5px;
  font-size: 16px;
  font-size: 1rem;
}

.point3-area__item .text dd .point3-catch {
  color: #068b34;
  font-weight: bold;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-size: 19px;
  font-size: 1.1875rem;
}

.point3-area__item .text dd .point3-catch span {
  display: block;
  color: #ff5252;
  font-size: 26px;
  font-size: 1.625rem;
}

.point3-area__item .image {
  width: 100%;
  text-align: center;
}

.point3-area__item-voice {
  position: relative;
  z-index: 1;
  background: #068b34;
  color: #fff;
  margin: 0 -10px -15px;
  padding: 18px 20px;
  border-radius: 5px;
}

.point3-area__item-voice dl {
  text-align: center;
}

.point3-area__item-voice dt {
  margin-bottom: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-size: 18px;
  font-size: 1.125rem;
}

.point3-area__item-voice dt span {
  display: block;
  font-weight: normal;
  font-size: 17px;
  font-size: 1.0625rem;
}

.point3-area__item-voice dd {
  display: inline-block;
  text-align: left;
}

.pss-voice {
  margin-top: 40px;
}

.pss-voice__item:nth-child(n + 2) {
  margin-top: 45px;
}

.pss-voice__item:nth-of-type(1) dt::before {
  background-image: url(../img/icon_voice01.png);
}

.pss-voice__item:nth-of-type(2) dt::before {
  background-image: url(../img/icon_voice02.png);
}

.pss-voice__item dt {
  position: relative;
  color: #068b34;
  margin-bottom: 25px;
  padding-left: 80px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 22px;
  font-size: 1.375rem;
}

.pss-voice__item dt::before {
  content: "";
  position: absolute;
  top: -1.75em;
  left: 0;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 76px auto;
  width: 76px;
  height: 76px;
}

.pss-voice__item dd {
  position: relative;
  border: 3px solid #068b34;
  border-radius: 5px;
  padding: 10px;
}

.pss-voice__item dd span {
  color: #ff5252;
  font-weight: bold;
}

.pss-voice__item dd::before {
  content: "";
  position: absolute;
  top: -27px;
  left: 45px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 20px 25px 10px;
  border-color: transparent transparent #068b34 transparent;
  transform: skewX(45deg);
}

.pss-voice__item dd::after {
  content: "";
  position: absolute;
  top: -19px;
  left: 53px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 20px 25px 10px;
  border-color: transparent transparent #fff transparent;
  transform: skewX(45deg);
}

/* ----- result ----- */
.result__list {
  margin: 0 auto;
  max-width: 396px;
}

.result__list--margin {
  padding-bottom: 30px;
}

.result__item:nth-child(n + 2) {
  margin-top: 10px;
}

.result__catch {
  display: block;
  background: #ffd200;
  color: #068b34;
  margin: 15px auto 30px;
  padding: 7px 5px;
  max-width: 396px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 30px;
  font-size: 1.875rem;
}

.result__catch small {
  font-size: 23px;
  font-size: 1.4375rem;
}

.result__catch span {
  position: relative;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  margin-left: -0.25em;
  font-size: 36px;
  font-size: 2.25rem;
}

.result__item-col {
  position: relative;
  margin: 0 auto 30px;
  max-width: 396px;
}

.result__item-col:last-child {
  margin-bottom: 0;
}

.result__item-col dt {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #068b34;
  color: #fff;
  padding: 0 30px;
  height: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 16px;
  white-space: nowrap;
  font-size: 17px;
  font-size: 1.0625rem;
}

.result__item-col dd:nth-child(n + 2) {
  margin-top: 20px;
}

/* ----- experience ----- */
.experience-list {
  margin: 0 auto;
  max-width: 400px;
}

.experience-list.next-line {
  margin-top: 25px;
}

.experience-item {
  width: 100%;
}

.experience-item .text-wrap {
  position: relative;
  margin-top: 10px;
}

.experience-item .text-wrap::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -5px;
  background-image: url(../img/icon_pass.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 82px auto;
  width: 82px;
  height: 82px;
}

.experience-item .school,
.experience-item .name {
  color: #068b34;
  font-weight: bold;
  line-height: 1.4;
  font-size: 16px;
  font-size: 1rem;
}

.experience-item .school span,
.experience-item .name span {
  font-size: 14px;
  font-size: 0.875rem;
}

.experience-item .text {
  margin-top: 7px;
  font-size: 14px;
  font-size: 0.875rem;
}

/* ----- flow ----- */

.flow_title {
  position: relative;
  text-align: center;
}

.flow_title h2 {
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  top: 35%;
  left: 5%;
  right: 5%;
  transform: translate(-0%, -50%);
  color: #162d84;
}

.flow {
  padding: 30px 0 35px;
  background: #5cc1fb;
}

.flow .section__title01 {
  margin-bottom: 30px;
}

.flow__list {
  padding: 20px 15px 18px 15px;
  background: #fff;
  border-radius: 15px;
}

.flow__item {
  padding-bottom: 7px;
  background: url(../img/flow_line01.png) 16px top repeat-y;
}

.flow__item:last-child {
  padding-bottom: 0;
  background: none;
}

.flow__list-step {
  position: relative;
  margin-left: 45px;
}

.flow__list-step:last-child {
  border-bottom: none;
}

.flow__item .title {
  padding: 7px 0 10px 0;
}

.flow__item .title img {
  position: absolute;
  top: 0;
  left: -45px;
  width: 35px;
}

.flow__item .title span {
  display: block;
  color: #004796;
  font-weight: bold;
  line-height: 1.4;
  font-size: 16px;
}

.flow__item .text {
  padding: 0 0 15px;
  width: 100%;
  font-size: 14px;
  border-bottom: 1px solid #dadada;
}

.flow__item:last-child .text {
  border-bottom: none;
}

@media (max-width: 767px) {
  .flow_title {
    position: relative;
    text-align: center;
    padding-bottom: 50px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .flow_title h2 {
    position: absolute;
    font-size: 20px;
    font-weight: 600;
    top: 25%;
    left: 5%;
    right: 5%;
    transform: translate(-0%, -50%);
    color: #162d84;
  }
}

/* ----- faq ----- */
.faq {
  padding: 30px 0 35px;
}

.faq_title {
  position: relative;
  text-align: center;
  padding-bottom: 30px;
}

.faq_title h2 {
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  top: 25%;
  left: 5%;
  right: 5%;
  transform: translate(-0%, -50%);
  color: #162d84;
}

.faq__item {
  position: relative;
}

.faq__item:nth-child(n + 2) {
  margin-top: 20px;
}

.faq__item .question-bar {
  margin: 0 0 20px 0;
  padding: 15px 15px;
  background: #e8f5fa;
}

.faq__item .question {
  position: relative;
  color: #004796;
  margin: 0 0 0 50px;
  font-weight: bold;
  line-height: 1.4;
  font-size: 16px;
}

.faq__item .question::before {
  content: "Q";
  position: absolute;
  top: -5px;
  left: -55px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #005bac;
  color: #fff;
  width: 40px;
  height: 40px;
  font-weight: bold;
  line-height: 1;
  border-radius: 50%;
  font-size: 22px;
  font-size: 1.375rem;
}

.faq__item .answer {
  position: relative;
  background: #fff;
  margin-left: 50px;
  padding: 10px 15px;
  border-radius: 5px;
}

.faq__item .answer::before {
  content: "A";
  position: absolute;
  top: 0;
  left: -40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #e75887;
  color: #fff;
  width: 40px;
  height: 40px;
  font-weight: bold;
  line-height: 1;
  border-radius: 50%;
  font-size: 22px;
  font-size: 1.375rem;
}

/* ----- contactbox ----- */
.contactbox {
  padding: 30px 0 30px;
  background: #fcf5db;
}

.contactbox__inner {
  background: #fff;
  padding: 0 25px 20px;
  border: 2px solid #005bac;
  border-radius: 15px;
}

.contactbox__title {
  background: #005bac;
  color: #fff;
  margin: -2px -25px 12px;
  padding: 13px 0;
  font-weight: bold;
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-size: 1.25rem;
  border-radius: 15px 15px 0 0;
}

.contactbox__text {
  margin-bottom: 10px;
  text-align: center;
  line-height: 1.8;
  font-size: 14px;
  font-size: 0.875rem;
}

.contactbox__text span {
  color: #ff5252;
  line-height: 1.3;
  font-size: 18px;
  font-weight: bold;
}

.contactbox__button--pink,
.contactbox__button--green {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  max-width: 400px;
}

.contactbox__button--pink {
}

.contactbox__button--green {
  margin-top: 15px;
}

/* ----- classes ----- */
.classes {
  padding: 0 0 30px;
}

.classes__title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff372;
  color: #005bac;
  margin: -20px auto 20px;
  max-width: 300px;
  height: 50px;
  text-align: center;
  border: 2px solid #005bac;
  border-radius: 25px;
  font-size: 20px;
  font-size: 1.25rem;
}

h4.tab-box__subtitle_spring img {
  margin: 40px 40px 20px 40px;
  width: 900px;
}

.classes__title::before {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 13px 0 13px;
  border-color: #fffa82 transparent transparent transparent;
  transform: translateX(-50%);
}

.classes__text {
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}

.classes__list {
  margin: 5px auto 0;
  max-width: 80%;
}

.classes__item:nth-child(n + 2) {
  margin-top: 10px;
}

.classes__item a {
  position: relative;
  display: block;
  background: #fff;
  color: #162d84;
  padding: 19px 25px;
  text-align: center;
  line-height: 1;
  border-radius: 5px;
  font-size: 18px;
  font-size: 1.125rem;
}

.classes__item a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 28px;
  border-top: 3px solid #162d84;
  border-right: 3px solid #162d84;
  margin: auto;
  width: 9px;
  height: 9px;
  transform: rotate(45deg);
}

.koukou-title {
  max-width: 300px;
  margin: 30px auto 10px;
}

.tab-box__block.box01.sho4 .campaign__item.test {
  margin-top: 40px;
  padding-right: 6px;
}

.saisentan .tab-box__subheder {
  margin: 0 0 10px 0;
  padding-top: 20px;
  text-align: center;
}

.hero {
  position: relative;
  background-image: url(../img/hero_mv_spring26_sp.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-top: 122%;
  text-align: center;
}

.spring_title img {
  margin-top: 120px;
  width: 650px;
}

@media screen and (min-width: 554px) {
  .result__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 850px;
  }

  .result__list--margin {
    padding-bottom: 60px;
  }

  .result__item {
    width: 46.5883%;
  }

  .result__item:nth-child(n + 2) {
    margin-top: 0;
  }

  .result__item:nth-child(n + 3) {
    margin-top: 20px;
  }

  .result__item-col {
    max-width: 100%;
  }
}

@media screen and (min-width: 768px) {
  img.pc {
    display: inline-block !important;
  }

  img.sp {
    display: none !important;
  }

  p.pc {
    display: inline-block !important;
  }

  p.sp {
    display: none !important;
  }

  div.sp {
    display: none !important;
  }

  li.pc {
    display: inline-block !important;
  }

  li.sp {
    display: none !important;
  }

  br.pc {
    display: inline-block !important;
  }

  br.sp {
    display: none !important;
  }

  .header__copy {
    display: block;
    background: #e7f7e8;
    padding: 14px 0;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0;
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .header__inner.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }

  .header .container {
    height: 100px;
  }

  .header__logo {
    max-width: 220px;
  }

  .footer {
    box-sizing: border-box;
    height: 380px;
    padding: 0 0 35px 0;
    border-top: 30px solid #fcf5db;
    border-bottom: none;
  }

  .footer__fixed-nav {
    display: none;
  }

  .classes__text {
    font-size: 22px;
    margin-bottom: 0;
    padding-bottom: 10px;
  }

  .copyright {
    letter-spacing: 0.05em;
    font-size: 14px;
    font-size: 0.875rem;
  }

  .u-m-i-n {
    display: none;
  }

  .u-m-n-i {
    display: inline;
  }

  .u-m-n-b {
    display: block;
  }

  .u-m-b-n {
    display: none;
  }

  .section__title {
    margin-bottom: 65px;
  }

  .section__title .title {
    font-size: 36px;
    font-size: 2.25rem;
  }

  .m-button01 {
    margin-top: 40px;
    max-width: 580px;
    height: 95px;
    border-radius: 10px;
  }

  .m-button01 span {
    padding-left: 65px;
    font-size: 32px;
    font-size: 2rem;
  }

  .m-button01 span::before {
    background-size: 54px auto;
    width: 54px;
    height: 54px;
  }

  .m-button01:hover {
    box-shadow: 0 2px 0 #b91c58;
    transform: translateY(3px);
  }

  .pagetop {
    bottom: 0;
    right: 0;
  }

  .pagetop a {
    width: 100px;
    height: 100px;
  }

  .pagetop a::after {
    border-top: 4px solid #068b34;
    border-left: 4px solid #068b34;
    margin-top: -3px;
    width: 26px;
    height: 26px;
  }

  .pagetop a:hover::after {
    margin-top: -8px;
  }

  .container {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 40px;
  }

  .campaign .campaign-top {
    padding-bottom: 40px;
    text-align: center;
  }

  .fixed-nav-pc {
    position: fixed;
    z-index: 10;
    bottom: 5%;
    right: 0;
    display: block;
  }

  .fixed-nav-pc.js-open {
    right: 20px;
  }

  .fixed-nav-pc__block.js-open .fixed-nav-pc__item a:hover {
    opacity: 0.7;
  }

  .hero {
    height: 600px;
    padding: 0;
    background: url(../img/hero_mv_spring26.png) top center no-repeat;
    /* background-size: cover; */
  }

  .hero__inner {
    position: absolute;
    left: 50%;
    max-width: 1280px;
    padding: 0 10px;
    height: 100%;
    transform: translateX(-50%);
  }

  .hero__block {
  }

  .hero__title {
    padding-top: 50px;
    text-align: right;
  }

  .hero__kyoshin {
    position: absolute;
    bottom: 5%;
    left: 1.5%;
    width: 8%;
  }

  .hero__button01 {
    position: absolute;
    bottom: 6%;
    left: 10%;
    width: 15%;
    text-align: left;
    background-size: 100% auto;
    background-color:;
    cursor: pointer;
  }

  .hero__button02 {
    position: absolute;
    bottom: 6%;
    left: 27.25%;
    width: 15%;
    text-align: left;
    background-size: 100% auto;
    cursor: pointer;
  }

  .hero__button03 {
    position: absolute;
    bottom: 6%;
    left: 43.5%;
    width: 15%;
    text-align: left;
    background-size: 100% auto;
    cursor: pointer;
  }

  .hero__button04 {
    position: absolute;
    bottom: 6%;
    left: 59.75%;
    width: 15%;
    text-align: left;
    background-size: 100% auto;
    cursor: pointer;
  }

  .hero__button05 {
    position: absolute;
    bottom: 6%;
    left: 76%;
    width: 15%;
    text-align: left;
    background-size: 100% auto;
    cursor: pointer;
  }

  .hero__button05:hover img,
  .hero__button04:hover img,
  .hero__button03:hover img,
  .hero__button02:hover img,
  .hero__button01:hover img {
    opacity: 0.9;
  }

  .campaign {
    padding: 0;
  }

  .campaign__title {
    margin-bottom: 10px;
  }
  section.campaign .campaign__title picture img {
    width: 100%;
    max-width: 161px;
    height: auto;
  }

  .campaign__title {
    margin-bottom: -20px;
  }

  .campaign__list {
    /*display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;*/
  }

  .campaign__list.top {
    width: 1000px;
    background: #fff;
    margin: -70px auto 0;
    padding: 70px 0 30px 0;
    border: 5px solid #f97a98;
    border-radius: 30px;
  }

  .campaign__item_comment {
    width: 1000px;
    margin: 15px auto 0;
  }

  .campaign__item {
    margin-top: 10px;
    margin-bottom: 0px;
  }

  .campaign__item.online {
    margin-top: 40px;
    margin-bottom: 0;
    padding: 0 10px;
  }

  .campaign__item.online:first-child {
    margin-top: 90px;
  }

  .campaign__item:nth-of-type(even) dd {
    background-image: url(../img/campaign_bg2_top.png), url(../img/campaign_bg2_bottom.png);
  }

  .campaign__item dl {
    height: 100%;
  }

  .campaign__item dt {
    padding: 5px;
    height: 45px;
    font-size: 21px;
    font-size: 1.3125rem;
  }

  .campaign__item dd {
    background-image: url(../img/campaign_bg1_top.png), url(../img/campaign_bg1_bottom.png);
    background-position:
      center top,
      center bottom;
    background-size: 100% auto;
    padding: 15px 10px 25px;
    height: calc(100% - 45px);
    min-height: 200px;
  }

  .campaign__item .now {
    margin-bottom: 2px;
    font-size: 20px;
    font-size: 1.25rem;
  }

  .campaign__item .now.godash::before {
    width: 60px;
    height: 66px;
  }

  .campaign__item .image {
    margin: 1em 0 0.5em;
  }

  .campaign__item .text {
    line-height: 1.5;
    font-size: 20px;
    font-size: 1.25rem;
  }

  .campaign__item .text span.red small {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .campaign__item .text span.red-small {
    margin-top: -0.5em;
  }

  .campaign__item .text span.red-small .line {
    height: 28px;
  }

  .campaign__item .text span.line {
    height: 48px;
  }

  .campaign__item .text span.line::before {
    height: 8px;
  }

  .campaign__item .text span.emphasis {
    height: 48px;
    font-size: 36px;
    font-size: 2.25rem;
  }

  .campaign__item .text span.emphasis::before {
    width: 6px;
    height: 6px;
  }

  .campaign__item .text span.expand {
    font-size: 26px;
    font-size: 1.625rem;
  }

  .campaign__item .text span.large {
    height: 43px;
    font-size: 36px;
    font-size: 2.25rem;
  }

  .campaign__item .text small {
    font-size: 16px;
    font-size: 1rem;
  }

  .campaign__item .note {
    font-size: 14px;
    font-size: 0.875rem;
  }

  .taisaku {
    text-align: center;
    background: url(../img/taisaku_bg.jpg) top center repeat-x;
  }

  .taisaku img.pc {
    display: inline-block;
    max-width: 999px;
  }

  .taisaku img.sp {
    display: none;
  }

  .feature {
    padding: 55px 0 75px;
  }

  .feature__block {
    margin-bottom: 40px;
    padding: 0 40px;
    border-radius: 30px;
  }

  .feature__block .text {
    float: right;
    width: 65%;
  }

  .feature__block .text1 {
    margin: 3vw 0 1.5vw;
    font-size: 1.6vw;
    line-height: 1.8;
  }

  .feature__block .text2 {
    font-size: 1.6vw;
    line-height: 1.8;
  }

  .feature__block .text3 {
    font-size: 2vw;
    line-height: 1.3;
    color: #005bab;
    font-weight: bold;
  }

  .feature__block .text4 {
    font-size: 1.8vw;
    font-weight: bold;
    line-height: 1.4;
  }

  .feature__block .image {
    width: 30.05%;
    margin-left: 10px;
  }

  .feature__block .image img {
    width: 100%;
    margin-top: -3vw;
  }

  .feature__list {
    margin-bottom: 60px;
    max-width: none;
  }

  .feature__item:nth-child(even) .feature__item-block {
    flex-direction: row-reverse;
  }

  .feature__item:nth-child(n + 2) {
    margin-top: 35px;
  }

  .feature__item-block {
    display: flex;
    justify-content: space-between;
  }

  .feature__item-block .text-wrap {
    width: 60%;
  }

  .feature__item-block .title {
    margin-bottom: 12px;
    font-size: 26px;
    font-size: 1.625rem;
  }

  .feature__item-block .title::before {
    width: 124px;
    height: 40px;
    font-size: 26px;
    font-size: 1.625rem;
  }

  .feature__item-block .text {
    font-size: 16px;
    font-size: 1rem;
  }

  .feature__item-block .image-sp {
    display: none;
  }

  .feature__item .feature__item-block .image {
    position: relative;
    display: block;
    margin-top: 0;
    width: 36%;
    height: 280px;
  }

  .feature__item:nth-child(1) .feature__item-block .image {
    text-align: right;
  }

  .feature__item:nth-child(2) .feature__item-block .image {
    text-align: left;
  }

  .feature__item-block .image::after {
    position: absolute;
    content: " ";
    display: block;
    bottom: -90px;
    width: 180px;
    height: 180px;
    background: url(../img/method_bg_dot.png) top left no-repeat;
    z-index: -1;
  }

  .feature__item:nth-child(1) .feature__item-block .image::after {
    right: -90px;
  }

  .feature__item:nth-child(2) .feature__item-block .image::after {
    left: -90px;
  }

  .feature__step-list {
    display: flex;
    margin: 110px 0 0 0;
    padding: 5% 0 3% 0;
    max-width: none;
    border-radius: 30px;
  }

  .feature__step-item {
    width: 33.3334%;
  }

  .feature__step-item:nth-child(n + 2) {
    margin-top: 0;
  }

  .feature__step-item__inner {
    padding: 30px 5px 0 35px;
  }

  /*.course {
    padding-top: 95px;
    background: url(../img/cource_bg.png) top center repeat-x;
  }*/

  .course-title span.text1 {
    display: block;
    text-align: center;
    color: #e7386e;
    font-size: 30px;
    font-weight: normal;
    text-decoration: underline;
  }

  .course-title span.text2 {
    display: block;
    width: 642px;
    height: 65px;
    margin: 5px auto 35px auto;
    text-align: center;
    color: #142668;
    font-size: 40px;
    font-weight: bold;
    line-height: 65px;
    background: url(../img/course_bg_title.png);
  }

  .course-event-area {
    margin: 0 auto 15px;
  }

  .course-event-area .note {
    font-size: 16px;
    font-size: 1rem;
  }

  .course-campaign-area .box dt {
    margin-bottom: 15px;
    font-size: 22px;
    font-size: 1.375rem;
  }

  .course-campaign-area .box dd {
    font-size: 36px;
    font-size: 2.25rem;
  }

  .course-campaign-area .box dd span.expand::before {
    bottom: -1px;
    height: 13px;
  }

  .course-campaign-area .box dd span.emphasis {
    font-size: 46px;
    font-size: 2.875rem;
  }

  .course-campaign-area .note {
    margin-top: 7px;
    text-align: right;
    font-size: 12px;
    font-size: 0.75rem;
  }

  .course-line-area {
    margin: 45px 0 20px;
  }

  .course-line-area .text-wrap {
    display: inline-flex;
    align-items: baseline;
  }

  .course-line-area .text {
    height: 54px;
    line-height: 1.25;
  }

  .course-line-area .text::after {
    bottom: 0;
  }

  .course-line-area .text:last-child {
    padding-right: 42px;
  }

  .course-line-area .text:last-child::before {
    bottom: 10px;
    background-size: 42px auto;
    width: 42px;
    height: 54px;
  }

  .course-line2-area {
    margin: -45px 0 45px;
  }

  .course-line2-area .text-wrap {
    display: inline-flex;
    align-items: baseline;
  }

  .course-line2-area .text {
    height: 54px;
    line-height: 1.25;
  }

  .course-line2-area .text::after {
    bottom: 0;
  }

  .course-line2-area .text:first-child {
    padding-left: 43px;
  }

  .course-line2-area .text:first-child::before {
    bottom: 10px;
    background-size: 33px auto;
    width: 33px;
    height: 53px;
  }

  .course-dottedline-area {
    margin: 15px 0 -25px;
    max-width: none;
  }

  .course-dottedline-area .text {
    display: inline-flex;
    align-items: baseline;
    line-height: 54px;
    font-size: 28px;
    font-size: 1.75rem;
  }

  .course-dottedline-area .text::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    background: linear-gradient(to right, #ff5252, #ff5252 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
    background-size: 12px 3px;
    width: 100%;
    height: 3px;
  }

  .course-dottedline-area .text b {
    height: 58px;
    font-size: 38px;
    font-size: 2.375rem;
  }

  .course-management-area {
    padding-left: 0;
  }

  .course-management-area::before {
    display: none;
  }

  .essay {
    padding: 17px;
  }

  .essay::before {
    top: -30px;
    left: -20px;
    background-size: 100px auto;
    width: 100px;
    height: 100px;
  }

  .essay .title-wrap {
    padding: 15px 50px;
  }

  .essay .title {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .essay .name {
    font-size: 17px;
    font-size: 1.0625rem;
  }

  .essay .essay__cont {
    padding: 30px;
  }

  .essay .essay__cont-inner {
    background-size: 100% 2.8em;
    line-height: 2.45;
  }

  .essay .essay__cont-inner p {
    font-size: 16px;
    font-size: 1rem;
  }

  .tab-box__inner {
    padding: 0 0 45px 0;
  }

  .tab-box__title {
    padding: 20px 0;
    font-size: 36px;
  }

  .section__title01,
  .tab-box__subtitle01 {
    margin-bottom: 20px;
    font-size: 32px;
    margin-top: 20px;
  }

  .section__title01 {
    margin-bottom: 6vw;
  }

  .tab-box__subtitle02 {
    margin-top: 70px;
    text-align: center;
  }

  .tab-box__subtitle02 {
  }

  .tab-box__lead {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 0 0 0;
    font-size: 20px;
    line-height: 1.9;
  }

  .tab-box__block {
    max-width: 1000px;
  }

  .tab-box__block.box01 {
    margin-top: 40px;
  }

  .tab-box__block.box01.chu1 {
    margin-top: 0;
    border-radius: 0 0 40px 40px;
  }

  .chu1_title01 {
    margin-bottom: 55px;
  }

  .tab-box__block.box01.sho4.top {
    padding: 20px 0;
    text-align: center;
  }

  .tab-box__block.box01.sho4.top a:hover {
    opacity: 0.7;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1:first-child {
    margin-top: -8px;
    margin-bottom: 8px;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1.banner {
    margin-top: 40px;
  }

  .tab-box__block.box02 {
    margin-top: 40px;
  }

  .tab-box__block.mb {
    margin-top: 50px;
  }

  .tab-box__subheder {
    margin: 0 0 52px 0;
    padding-top: 40px;
    text-align: center;
  }

  .saisentan .tab-box__subheder {
    margin: 0 0 10px 0;
    padding-top: 40px;
    text-align: center;
  }

  .tab-box__withphoto {
    display: table;
    width: 920px;
    margin: 42px auto 0 auto;
  }

  .tab-box__withphoto.point3 {
    margin-top: 15px;
  }

  .tab-box__withphoto .photo {
    display: table-cell;
    width: 35%;
    max-width: 400px;
  }

  .tab-box__withphoto.tab3 .photo {
    width: 40%;
  }

  .tab-box__withphoto .photo img {
    margin: 8px 0;
  }

  .tab-box__withphoto .photo img.mt0 {
    margin-top: 0;
  }

  .tab-box__withphoto .text {
    display: table-cell;
    vertical-align: middle;
  }

  .tab-box__withphoto .text.aligntop {
    vertical-align: top;
  }

  .tab-box__withphoto .text.aligntop {
    vertical-align: top;
  }

  .tab-box__withphoto .text p {
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.8;
    color: #142668;
  }

  .tab-box__withphoto .text p strong {
    color: #e72c6a;
  }

  .tab-box__inner.tab-box01 .tab-box__withphoto .text p strong {
    color: #e13465;
  }

  .tab-box__withphoto .text p:last-child {
    margin-bottom: 0;
  }

  .tab-box__withphoto .text p.attention {
    margin-top: -10px;
    font-size: 14px;
  }

  .tab-box__withphoto .text.right p {
    padding-left: 26px;
  }

  .tab-box__withphoto .text.left p {
    padding-right: 30px;
  }

  .tab-box__withphoto .text.left p.point {
    font-size: 24px;
    font-weight: bold;
    color: #e60012;
    line-height: 1.3;
  }

  .tab-box__withphoto .text li {
    margin-left: 30px;
    padding-left: 1em;
    font-size: 18px;
    line-height: 1.8;
    background: url(../img/common_bg_list_red.png) left center no-repeat;
  }

  .tab-box__withphoto .text .header {
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    z-index: 1;
  }

  .tab-box__withphoto.followup {
    padding-top: 15px;
    padding-bottom: 0;
  }

  .tab-box__withphoto.followup .photo {
    padding-bottom: 0;
  }

  .tab-box__withphoto.followup .photo p {
    margin: 0;
    padding: 0 25px 0 0;
  }

  .tab-box__withphoto.followup .text p {
    margin-bottom: 0;
  }

  .tab-box__withpic {
    display: table;
    width: 100%;
    margin: 30px 0 55px 0;
  }

  .tab-box__withpic .pic1 {
    display: table-cell;
    width: 56%;
    text-align: center;
    vertical-align: top;
  }

  .tab-box__withpic .pic2 {
    display: table-cell;
    width: 56%;
    text-align: center;
    vertical-align: top;
  }

  .tab-box__withpic p {
    color: #2b3a6e;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
  }

  .tab-box__withpic .pic1 img {
    margin-bottom: 10px;
  }

  .tab-box__withpic .pic2 img {
    margin-bottom: 20px;
  }

  .tab-box__block .method-box {
    display: flex;
    width: 90%;
    margin: 0 auto;
  }

  .tab-box__block .method {
    width: 49%;
    margin-top: 50px;
  }

  .tab-box__block .method:first-child {
    margin-right: 2%;
  }

  .tab-box__block .method p.photo {
    text-align: center;
  }

  .tab-box__block .method p.title {
    margin: 20px 0 10px 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #005bab;
  }

  .tab-box__block .method p.text {
    font-size: 18px;
  }

  .tab-box__block .result01 {
    display: flex;
  }

  .tab-box__block .result01 .result-box {
    width: 49%;
    margin-bottom: 40px;
  }

  .tab-box__block .result01 .result-box:first-child {
    margin-right: 2%;
  }

  .tab-box__block .result01 .result-box .school {
    top: 27%;
    font-size: 34px;
  }

  .tab-box__block .result01 .result-box .label {
    top: 35.5%;
    font-size: 20px;
  }

  .tab-box__block .result01 .result-box .number {
    top: 54%;
  }

  .tab-box__block .result02 {
    overflow: hidden;
  }

  .tab-box__block .result02 .result-box {
    float: left;
    width: 49%;
    margin-bottom: 20px;
  }

  .tab-box__block .result02 .result-box:nth-child(2n) {
    margin-left: 2%;
  }

  .tab-box__block .result02 .result-box .label {
    margin-top: 20px;
  }

  .tab-box__block .result02 .result-box .label span {
    display: inline-block;
    height: 47px;
    padding: 5px 40px 0 20px;
    background: url(../img/result_bg02.png) top right no-repeat;
    font-size: 20px;
  }

  .tab-box__block .result02 .result-box.gold .label span {
    background: url(../img/result_bg03.png) top right no-repeat;
  }

  .tab-box__block .result02 .result-box .school {
    margin-left: 20px;
    font-size: 18px;
  }

  .tab-box__block .result02 .result-box.gold .label span {
    background: url(../img/result_bg03.png) top right no-repeat;
  }

  .tab-box__block .result02 .result-box .school strong {
    margin: 10px 0 10px 0;
    font-size: 26px;
    line-height: 1.4;
  }

  .tab-box__block .result02 .result-box.nolabel .school strong {
    margin-top: 30px;
  }

  .tab-box__block .result02 .result-box .school strong span {
    font-size: 18px;
  }

  .tab-box__block .result02 .result-box .school em {
    color: #ce003a;
    font-weight: bold;
    font-style: normal;
  }

  .tab-box__block .result02 .result-box .number {
    float: right;
    margin: 35px 20px 40px 0;
  }

  .tab-box__block .result02 .result-box.nolabel .number {
    margin-top: 102px;
  }

  ul.slick-slider p.school {
    font-size: 24px;
  }

  ul.slick-slider p.name {
    font-size: 20px;
  }

  ul.slick-slider p.comment {
    font-size: 16px;
  }

  .flow {
    padding: 30px 0 35px;
  }

  .flow .section__title01 {
    margin-bottom: 30px;
  }

  .flow__list {
    margin-top: 30px;
    padding: 32px 40px 18px 35px;
    border-radius: 30px;
  }

  .flow__item {
    padding-bottom: 12px;
    background: url(../img/flow_line01.png) 29px top repeat-y;
  }

  .flow__list-step {
    margin-left: 85px;
  }

  .flow__item .title {
    padding: 12px 0 10px 0;
  }

  .flow__item .title img {
    left: -85px;
    width: auto;
  }

  .flow__item .title span {
    font-size: 26px;
  }

  .flow__item .text {
    padding: 0 0 30px;
    font-size: 18px;
  }

  .tab-box__list02 {
    display: flex;
    margin-bottom: -25px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .tab-box__list05 {
    display: flex;
    justify-content: space-between;
  }

  .tab-box__item05 {
    width: 32.4504%;
  }

  .tab-box__item05:nth-child(n + 2) {
    margin-top: 0;
  }

  .tab-box__item01 {
    width: 30.9051%;
  }

  .tab-box__item01:nth-child(n + 2) {
    margin-top: 0;
  }

  .tab-box__item01 .image {
    margin-bottom: 10px;
  }

  .tab-box__item01 .title {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .tab-box__item01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .tab-box__item01:nth-child(even),
  .tab-box__item01.row {
    flex-direction: row;
  }

  .tab-box__item01:nth-child(n + 2) {
    margin-top: 35px;
  }

  .tab-box__item01 .text-wrap {
    width: 64%;
    margin-bottom: 0;
  }

  .tab-box__item01 .title {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .tab-box__item01 .text {
    font-size: 16px;
    font-size: 1rem;
  }

  .tab-box__item01 .image {
    width: 30.9735%;
    margin-bottom: 0;
  }

  .tab-box__item00 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }

  .tab-box__item00:nth-child(even),
  .tab-box__item00.row {
    flex-direction: row;
  }

  .tab-box__item00:nth-child(n + 2) {
    margin-top: 35px;
  }

  .tab-box__item00 .text-wrap {
    margin-bottom: 0;
    width: 64%;
  }

  .tab-box__item00 .title {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .tab-box__item00 .text {
    font-size: 16px;
    font-size: 1rem;
  }

  .tab-box__item00 .image {
    margin-bottom: 0;
    width: 30.9735%;
  }

  .tab-box__item03 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }

  .tab-box__item03:nth-child(even) {
    flex-direction: row;
  }

  .tab-box__item03:nth-child(n + 2) {
    margin-top: 35px;
  }

  .tab-box__item03 .text-wrap {
    margin-bottom: 0;
    width: 64%;
  }

  .tab-box__item03 .title {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .tab-box__item03 .title span {
    padding-left: 48px;
  }

  .tab-box__item03 .title span::before {
    background-size: 38px auto;
    width: 38px;
    height: 38px;
  }

  .tab-box__item03 .image {
    margin-bottom: 0;
    width: 30.9735%;
  }

  .tab-box__item03 .list-ex {
    display: flex;
    justify-content: space-between;
    margin-top: 0;
  }

  .tab-box__item03 .item-ex {
    width: 47%;
  }

  .tab-box__item03 .item-ex:nth-child(n + 2) {
    margin-top: 0;
  }

  .tab-box__text01 {
    margin-bottom: 15px;
    font-size: 24px;
    font-size: 1.5rem;
  }

  .tab-box__text02 {
    font-size: 31px;
    font-size: 1.9375rem;
  }

  .tab-box__text02 span::before {
    height: 18px;
  }

  .tab-box__text02 span span {
    font-size: 56px;
    font-size: 3.5rem;
  }

  .tab-box__list04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .tab-box__list04 .tab-box__item04 {
    width: 49.0067%;
    padding: 20px 32px;
  }

  .tab-box__list04 .tab-box__item04:nth-child(n + 2) {
    margin-top: 0;
  }

  .tab-box__list04 .tab-box__item04:nth-child(n + 3) {
    margin-top: 20px;
  }

  .tab-box-green-area {
    margin-top: 0;
    padding: 25px 25px 35px;
  }

  .tab-box-green-area .tab-box__item00 .image {
    width: 31.616%;
  }

  .tab-box .catch-wrap {
    margin: -25px auto 65px;
    padding: 20px;
    width: 90%;
  }

  .tab-box .catch {
    line-height: 1.25;
    font-size: 32px;
    font-size: 2rem;
  }

  .tab-box .point-title-wrap {
    margin: -25px 0 0;
  }

  .tab-box .point-title {
    margin: 0;
    padding: 10px 30px;
    border-radius: 30px;
  }

  .tab-box .point-title span {
    display: inline-block;
  }

  .tab-box .point-title .num {
    margin-right: 1.5em;
    font-size: 24px;
    font-size: 1.5rem;
  }

  .tab-box .point-title .title {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .point1-area__lead {
    margin-bottom: 25px;
    letter-spacing: 0.05em;
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point1-area__list1 {
    display: flex;
    margin: 0 -15px 30px;
  }

  .point1-area__item1 {
    padding: 0 15px;
    width: 33.3334%;
  }

  .point1-area__item1:nth-child(n + 2) {
    margin-top: 0;
  }

  .point1-area__item1::before {
    display: none;
  }

  .point1-area__item1 dt {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 70px;
    line-height: 1.3333333333;
    font-size: 17px;
    font-size: 1.0625rem;
  }

  .point1-area__item1 dd {
    padding: 20px 10px;
  }

  .point1-area__item1 dd::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -25px;
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 12px 0 12px 21px;
    border-color: transparent transparent transparent #068b34;
    transform: translateY(-50%);
  }

  .point1-area__item1 dd .icon {
    margin-bottom: 20px;
  }

  .point1-area__item1 dd .icon img {
    width: 107px;
  }

  .point1-area__item2 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }

  .point1-area__item2 .text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    padding: 15px 10px;
    width: 42.0731707317%;
    min-height: 262px;
  }

  .point1-area__item2 .text::before {
    top: 50%;
    left: -14px;
    border-width: 7px 15px 7px 0;
    border-color: transparent #068b34 transparent transparent;
    transform: translateY(-50%);
  }

  .point1-area__item2 .text dl {
    max-width: 270px;
  }

  .point1-area__item2 .text dt {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point1-area__item2 .image {
    width: 53.6585365854%;
  }

  .point2-area__cheering-wrap {
    margin-bottom: 0;
  }

  .point2-area__cheering {
    flex-direction: row;
    align-items: baseline;
    margin-bottom: 30px;
    text-align: left;
    line-height: 1.25;
    font-size: 32px;
    font-size: 2rem;
  }

  .point2-area__cheering b {
    font-size: 38px;
    font-size: 2.375rem;
  }

  .point2-area__cheering span {
    height: 60px;
  }

  .point2-area__inner {
    display: flex;
    justify-content: space-between;
  }

  .point2-area__inner .logo {
    margin-bottom: 0;
    width: 24%;
  }

  .point2-area__inner .logo img {
    width: 158px;
  }

  .point2-area__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px -20px;
    width: 76%;
  }

  .point2-area__item {
    padding: 0 25px;
    width: 50%;
  }

  .point2-area__item dt span {
    padding-left: 45px;
  }

  .point2-area__item dt span::before {
    background-size: 38px auto;
    width: 38px;
    height: 38px;
  }

  .point3-area__list {
    margin-bottom: 50px;
  }

  .point3-area__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .point3-area__item:nth-child(odd) {
    flex-direction: row-reverse;
  }

  .point3-area__item:nth-child(n + 2) {
    margin-top: 45px;
  }

  .point3-area__item:nth-of-type(2) .image img {
    width: 274px;
  }

  .point3-area__item .text {
    margin-bottom: 0;
    width: 57.0731707317%;
  }

  .point3-area__item .text dt {
    margin-bottom: 30px;
    font-size: 22px;
    font-size: 1.375rem;
  }

  .point3-area__item .text dd {
    line-height: 2;
  }

  .point3-area__item .text dd .point3-tab span {
    padding: 7px 5px;
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point3-area__item .text dd .point3-catch {
    font-size: 22px;
    font-size: 1.375rem;
  }

  .point3-area__item .text dd .point3-catch span {
    font-size: 30px;
    font-size: 1.875rem;
  }

  .point3-area__item .image {
    width: 38.2926829268%;
  }

  .point3-area__item-voice {
    margin: 0 -40px -35px;
    padding: 18px 10px;
  }

  .pss-voice {
    margin-top: 55px;
  }

  .pss-voice__list {
    display: flex;
    margin: 0 -25px;
  }

  .pss-voice__item {
    width: 50%;
    padding: 0 25px;
  }

  .pss-voice__item:nth-child(n + 2) {
    margin-top: 0;
  }

  .result__catch {
    margin: 25px auto;
    padding: 7px 5px 7px 20px;
    max-width: 564px;
    font-size: 40px;
    font-size: 2.5rem;
  }

  .result__catch small {
    font-size: 31px;
    font-size: 1.9375rem;
  }

  .result__catch span {
    top: 3px;
    font-size: 46px;
    font-size: 2.875rem;
  }

  .result__item-col {
    margin-bottom: 50px;
  }

  .result__item-col dt {
    top: -23px;
    padding: 0 45px;
    height: 46px;
    border-radius: 23px;
    font-size: 25px;
    font-size: 1.5625rem;
  }

  .result__item-col dd:nth-child(n + 2) {
    margin-top: 30px;
  }

  .experience-list {
    display: flex;
    justify-content: space-between;
    max-width: 685px;
  }

  .experience-list.next-line {
    margin-top: 45px;
  }

  .experience-item {
    width: 43.795620438%;
  }

  .experience-item .text-wrap::before {
    top: -4.5vw;
    right: -25px;
    background-size: contain;
    width: 9.275vw;
    height: 9.275vw;
  }

  .experience-item .text {
    margin-top: 15px;
  }

  .faq {
    padding: 45px 0 75px;
  }

  .faq__item:nth-child(n + 2) {
    margin-top: 40px;
  }

  .faq__item .question-bar {
    margin: 0 0 20px 0;
    padding: 15px 20px;
    background: #e8f5fa;
  }

  .faq__item .question {
    margin: 0 0 0 60px;
    font-size: 20px;
  }

  .faq__item .question::before {
    left: -60px;
    transform: none;
  }

  .faq__item .answer {
    margin-left: 80px;
    padding: 6px 25px 0 0;
    font-size: 18px;
  }

  .faq__item .answer::before {
    left: -60px;
  }

  .contactbox {
    padding: 100px 0 100px;
  }

  .contactbox__inner {
    padding: 0 35px 55px;
  }

  .contactbox__title {
    margin: -2px -36px 28px;
  }

  .contactbox__text {
    margin-bottom: 35px;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1rem;
  }

  .contactbox__text span {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .contactbox__button-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .contactbox__button--pink,
  .contactbox__button--green {
    margin: 0;
    width: 48.5%;
    max-width: 475px;
    height: 90px;
  }

  .contactbox__button--pink p,
  .contactbox__button--green p {
    padding: 0 0 0 50px;
    text-align: left;
  }

  .contactbox__button--pink p::before,
  .contactbox__button--green p::before {
    top: 50%;
    left: 0;
    background-size: 40px auto;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
  }

  .contactbox__button--pink:hover {
    opacity: 0.7;
  }

  .contactbox__button--pink p {
    line-height: 1.15;
  }

  .contactbox__button--green {
    margin-top: 0;
  }

  .contactbox__button--green p {
    line-height: 1.1;
  }

  .classes {
    padding: 0 0 75px;
  }

  .classes__title {
    margin: -30px auto 40px;
    max-width: 420px;
    height: 80px;
    border-width: 4px;
    border-radius: 40px;
    font-size: 34px;
    font-size: 1.9rem;
  }

  .classes__list {
    display: flex;
    margin: 0 -1.2%;
    max-width: none;
  }

  .classes__item {
    margin-top: 25px;
    padding: 0 1.2105%;
    width: 20%;
  }

  .classes__item:nth-child(n + 2) {
    margin-top: 25px;
  }

  .classes__item a::after {
    right: 18px;
  }

  .classes__item a:hover {
    opacity: 0.7;
  }

  .koukou-title {
    margin: 50px auto 15px;
  }
}

@media screen and (min-width: 992px) {
  .header__logo {
    max-width: 220px;
  }

  .u-l-i-n {
    display: none;
  }

  .u-l-n-i {
    display: inline;
  }

  .u-l-n-b {
    display: block;
  }

  .worry__text span::before {
    bottom: -18px;
  }

  .campaign__item .col {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .campaign__item .col > div {
    width: 45%;
  }

  .campaign__item .col > div:nth-of-type(n + 2) {
    margin: 0 0 0 5%;
  }

  .campaign__item .text.plus::before {
    bottom: 60%;
    left: 102.5%;
    transform: translateY(50%);
  }

  .feature__step-item__inner {
    padding: 31px 13px 0 44px;
  }

  .feature__step-item .num {
    top: -15px;
    left: -15px;
    width: 84px;
    height: 84px;
    font-size: 15px;
    font-size: 0.9375rem;
  }

  .feature__step-item.item02 .num {
    left: -15px;
  }

  .feature__item:nth-child(2) .feature__item-block .image-sp::after {
    left: -75px;
  }

  .feature__step-item .text {
    font-size: 21px;
    font-size: 1.3125rem;
  }

  .course-campaign-area .box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
  }

  .course-campaign-area .box dt {
    margin-bottom: 0;
    padding: 0 20px 0 0;
  }

  .course-campaign-area .box dt::before {
    top: 50%;
    right: 0;
    width: 2px;
    height: 50px;
    transform: translateY(-50%);
  }

  .course-campaign-area .box dd {
    padding: 0 0 0 15px;
    text-align: left;
    line-height: 1.1818181818;
  }

  .course-campaign-area .box dd span.emphasis::before {
    top: -7px;
  }

  .course-line-area .text {
    height: 60px;
    font-size: 35px;
    font-size: 2.1875rem;
  }

  .course-line-area .text b {
    font-size: 46px;
    font-size: 2.875rem;
  }

  .course-line-area .text:last-child {
    padding-right: 50px;
  }

  .course-line-area .text:last-child::before {
    background-size: 48px auto;
    width: 48px;
    height: 62px;
  }

  .course-line2-area .text {
    height: 60px;
    font-size: 35px;
    font-size: 2.1875rem;
  }

  .course-line2-area .text b {
    font-size: 44px;
    font-size: 2.75rem;
  }

  .course-line2-area .text b span {
    font-size: 50px;
    font-size: 3.125rem;
  }

  .course-dottedline-area .text {
    line-height: 60px;
    font-size: 35px;
    font-size: 2.1875rem;
  }

  .course-dottedline-area .text b {
    height: 66px;
    font-size: 48px;
    font-size: 3rem;
  }

  .essay::before {
    background-size: 130px auto;
    width: 130px;
    height: 130px;
  }

  .essay .title {
    margin-left: -10%;
  }

  .essay .name {
    position: absolute;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
  }

  .tab-box__inner {
    padding: 0 0 45px 0;
  }

  .tab-box-green-area {
    padding: 25px 42px 35px;
  }

  .point1-area__item2 .text dt span {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point3-area__item .text dd .point3-tab-wrap {
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0 -5px 15px;
  }

  .point3-area__item .text dd .point3-tab {
    padding: 0 5px;
    width: 33.3334%;
  }

  .point3-area__item .text dd .point3-catch span {
    display: inline;
  }

  .point3-area__item-voice dl {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .point3-area__item-voice dt {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point3-area__item-voice dt {
    margin: 0 auto;
  }

  .point3-area__item-voice dt span {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .point3-area__item-voice dd {
    display: block;
    margin: 0 auto;
  }

  .experience-item .text-wrap::before {
    top: -42px;
    width: 94px;
    height: 94px;
  }

  .experience-item .school,
  .experience-item .name {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .experience-item .school span,
  .experience-item .name span {
    font-size: 16px;
    font-size: 1rem;
  }

  .contactbox__inner {
    padding: 0 50px 55px;
  }

  .contactbox__title {
    margin: -2px -51px 28px;
    padding: 15px 0;
    font-size: 36px;
    font-size: 2rem;
  }

  .contactbox__button--pink,
  .contactbox__button--green {
    width: 47.2223%;
  }

  .contactbox__button--pink p,
  .contactbox__button--green p {
    padding: 0 0 0 63px;
  }

  .contactbox__button--pink p::before,
  .contactbox__button--green p::before {
    background-size: 50px auto;
    width: 50px;
    height: 50px;
  }

  .contactbox__button--pink p {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .contactbox__button--pink p span {
    font-size: 23px;
    font-size: 1.4375rem;
  }

  .contactbox__button--green p {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .contactbox__button--green p span {
    font-size: 16px;
    font-size: 1rem;
  }

  .contactbox__button--green p span span {
    font-size: 19px;
    font-size: 1.1875rem;
  }

  .classes__item a::after {
    right: 28px;
  }
}

@media screen and (min-width: 1200px) {
  .course-campaign-area .box {
    padding: 20px 35px;
  }

  .course-campaign-area .box dt {
    padding: 0 35px 0 0;
  }

  .course-campaign-area .box dd {
    padding: 0 0 0 35px;
  }
}

@media screen {
  [hidden~="screen"] {
    display: inherit;
  }

  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

@media screen and (min-width: 1080px) {
  .section__title01 {
    margin-bottom: 80px;
  }

  .feature__block {
  }

  .feature__block .text {
    float: right;
    width: 510px;
  }

  .feature__block .text1 {
    margin: 35px 0 25px;
    font-size: 18px;
    line-height: 1.8;
  }

  .feature__block .text2 {
    font-size: 18px;
    line-height: 1.8;
  }

  .feature__block .text3 {
    font-size: 24px;
    line-height: 1.3;
    color: #004796;
    font-weight: bold;
  }

  .feature__block .text4 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
  }

  .feature__block .image {
    width: 349px;
  }

  .feature__block .image img {
    margin-top: -50px;
  }
}

@media screen and (max-width: 1079px) {
  .feature__step-list.item01 {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 999px) {
  .tab-menu {
    overflow: hidden;
    display: block;
    justify-content: normal;
    max-width: 1000px;
    margin: 0 3%;
  }

  .tab-menu .tab-menu__item {
    box-sizing: border-box;
  }

  .tab-menu .tab-menu__item.item03,
  .tab-menu .tab-menu__item.item02,
  .tab-menu .tab-menu__item.item01 {
    float: left;
    width: 32%;
    margin: 0 2% 2vw 0;
  }

  .tab-menu .tab-menu__item.item05,
  .tab-menu .tab-menu__item.item04 {
    float: left;
    width: 49%;
    margin: 0 2% 3vw 0;
  }

  .tab-menu .tab-menu__item.item05,
  .tab-menu .tab-menu__item.item03 {
    margin-right: 0;
  }

  .tab-menu .tab-menu__item.item05 .title,
  .tab-menu .tab-menu__item.item04 .title,
  .tab-menu .tab-menu__item.item03 .title,
  .tab-menu .tab-menu__item.item02 .title,
  .tab-menu .tab-menu__item.item01 .title {
    border: 1px solid #bec1c3;
    border-radius: 25px;
  }

  .tab-menu .tab-menu__item .title .grade {
    width: auto;
    padding-left: 1em;
    padding-right: 1em;
  }

  .tab-box__lead,
  .tab-box__block,
  .tab-box__subtitle02 img {
    width: 94%;
  }

  .tab-box01 .tab-box__subtitle04 span {
    height: 64px;
    padding-left: 40px;
    line-height: 64px;
    font-size: 22px;
  }

  .tab-box__block .method p.title {
    font-size: 22px;
  }

  .tab-box01 .tab-box__subtitle04 img {
    width: 80px;
    margin: -16px 0 0 0;
  }

  .tab-box__block .result01 .result-box .school {
    font-size: 3.1vw;
  }

  .tab-box__block .result01 .result-box .label {
    font-size: 1.8vw;
  }

  .tab-box__block .result02 .result-box .school {
    margin-left: 15px;
    font-size: 14px;
  }

  .tab-box__block .result02 .result-box .school strong {
    font-size: 16px;
  }

  .tab-box__block .result02 .result-box .number {
    height: 35px;
    width: auto;
    margin-right: 15px;
  }

  .tab-box__block .result02 .result-box .number img {
    height: 100%;
    width: auto;
  }

  .tab-box__block .step-box .header {
    padding-top: 17px;
    font-size: 14px;
  }

  .tab-box__block .step-box .text {
    font-size: 14px;
  }

  .tab-box__block .gakusyu .pic {
    margin-right: 180px;
  }

  .tab-box__block .gakusyu {
    background-size: 40% auto;
  }

  .tab-box__block .gakusyu .text strong {
    font-size: 52px;
  }

  .tab-box__withpic .pic2 img {
    width: 90%;
  }

  .tab-box__block .voice2 div .title {
    font-size: 22px;
  }

  /*  .tab-box__block .work {
    height: 260px;
    background: #e6f8ff url(../img/chu1_bg_work.png) 92% center no-repeat;
    background-size: 35% auto;
  }
  .tab-box__block .work .tab-box__subtitle07 {
    margin-bottom: 15px;
    font-size: 18px;
  }
  .tab-box__block .work h6 {
    font-size: 18px;
  }
  .tab-box__block .work p {
    font-size: 16px;
  }
*/
  dl.campaign__schedule.label dd.menu span {
    line-height: 35px;
  }

  dl.campaign__schedule.label dd.menu img {
    height: 35px;
  }

  dl.campaign__schedule dd.test strong br.tab {
    display: inline-block;
  }

  .tab-box__title {
    padding-left: 20px;
    padding-right: 20px;
  }

  .tab-box__title span.grade {
  }

  .tab-box04 .tab-box__block.box02 .teiki-test {
    width: 100%;
    padding: 5vw 0 2.7vw 2.5vw;
    background: url(../img/chu1_point_bg01_2401.png) top left no-repeat;
    background-size: 100% auto;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li {
    padding: 1.3vw 0;
    line-height: 4vw;
    font-size: 2.5vw;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li span {
    display: inline-block;
    margin: 0 0.5em 0 0;
    padding: 0 1em;
    border-radius: 2vw;
    font-size: 2vw;
    color: #fff;
  }

  .tab-box_tab3_sublead01 {
    font-size: 26px;
  }

  .tab-box_tab3_merit .merit-box {
    width: 48%;
    margin: 0 2% 2vw 0;
    padding: 20px;
    border-radius: 20px;
  }

  .tab-box_tab3_merit .merit-box .fukidashi {
    padding-top: 20px;
    font-size: 15px;
  }

  .tab-box_tab3_subtitle03 {
    margin-top: 35px;
    font-size: 23px;
  }

  .tab-box_tab3_subtitle03 span {
    font-size: 18px;
  }

  #tab-box01 .tab-box_tab3_subtitle03 span {
    margin-top: 5px;
  }

  .questionnaire .qa .question {
    height: 70px;
    padding-left: 50px;
    font-size: 14px;
    background: url(../img/chu23_qa_icon01.png) top left no-repeat;
    background-size: 40px auto;
  }

  .souhatsu_menu p.text {
    font-size: 1.8vw;
  }

  .souhatsu_kids ul li {
    width: 49%;
    margin: 0 2% 1.7vw 0;
  }

  .souhatsu_puzzle .point {
    overflow: hidden;
    margin: 0 0 80px 0;
    padding: 25px 25px 25px 30px;
    border-radius: 20px;
    background: #e8f6fc;
  }

  .souhatsu_puzzle .point-body {
    padding-right: 15px;
  }

  .souhatsu_puzzle .point-pic {
    width: 50%;
  }

  .souhatsu_puzzle .point-lead {
    padding: 5px 0 5px 0;
    font-size: 2.4vw;
  }

  .souhatsu_puzzle .point-text {
    font-size: 2vw;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .souhatsu_merit ul li {
    box-sizing: border-box;
    float: left;
    width: 32%;
    height: 19.5vw;
    margin: 0 2% 1vw 0;
    padding: 9.2vw 0 0 0;
    font-size: 2.5vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }

  .souhatsu_merit ul li:nth-child(4) {
    margin-left: 16.5%;
  }
}

@media screen and (max-width: 767px) {
  .tab-menu {
  }

  .tab-menu .tab-menu__item.item03,
  .tab-menu .tab-menu__item.item02,
  .tab-menu .tab-menu__item.item01 {
  }

  .tab-menu .tab-menu__item.item05,
  .tab-menu .tab-menu__item.item04 {
  }

  .tab-menu .tab-menu__item.item03 .title,
  .tab-menu .tab-menu__item.item02 .title,
  .tab-menu .tab-menu__item.item01 .title,
  .tab-menu .tab-menu__item.item05 .title,
  .tab-menu .tab-menu__item.item04 .title {
    padding: 10px 7px 5px 7px;
    border-radius: 15px;
    font-size: 3vw;
  }

  .tab-menu .tab-menu__item.item05 .title br,
  .tab-menu .tab-menu__item.item04 .title br {
    display: none;
  }

  .tab-menu .tab-menu__item.item05:hover .title .ttl,
  .tab-menu .tab-menu__item.item05.active .title .ttl,
  .tab-menu .tab-menu__item.item05 .title .ttl,
  .tab-menu .tab-menu__item.item04:hover .title .ttl,
  .tab-menu .tab-menu__item.item04.active .title .ttl,
  .tab-menu .tab-menu__item.item04 .title .ttl,
  .tab-menu .tab-menu__item:hover .title .ttl,
  .tab-menu .tab-menu__item.active .title .ttl,
  .tab-menu .tab-menu__item .title .ttl {
    padding-bottom: 15px;
    font-size: 3.8vw;
    letter-spacing: 0;
    background-size: 15px auto;
  }

  .tab-menu .tab-menu__item .title .grade {
    padding-left: 0.5em;
    padding-right: 0.5em;
    font-size: 2.5vw;
  }

  .tab-menu .tab-menu__item.item03 .title .grade,
  .tab-menu .tab-menu__item.item02 .title .grade,
  .tab-menu .tab-menu__item.item01 .title .grade {
    width: 100%;
  }

  .tab-menu .tab-menu__item.item04 .title .grade,
  .tab-menu .tab-menu__item.item05 .title .grade {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }

  .header .h-button a:last-child {
    display: none;
  }

  .header .h-button img {
    width: 180px;
    float: right;
  }

  img.pc {
    display: none !important;
  }

  img.sp {
    display: inline-block !important;
  }

  p.pc {
    display: none !important;
  }

  p.sp {
    display: inline-block !important;
  }

  li.pc {
    display: none !important;
  }

  li.sp {
    display: inline-block !important;
  }

  br.pc {
    display: none !important;
  }

  br.sp {
    display: inline-block !important;
  }

  .hero {
    padding-top: 140%;
    height: 680px;
  }

  .hero__inner {
    position: static;
  }

  .hero__block {
    margin: 0;
  }

  .hero__title {
    position: absolute;
    top: 44%;
    left: 50%;
    width: 98%;
    transform: translate(-50%, -50%);
  }

  .hero__text {
    position: absolute;
    width: 47%;
    top: 45%;
    left: 5%;
  }

  .hero__kyoshin {
    position: absolute;
    top: 2%;
    left: 76%;
    width: 20%;
  }

  .hero__button01 {
    position: absolute;
    width: 30%;
    top: 68%;
    left: 3.5%;
    text-align: left;
  }

  .hero__button02 {
    position: absolute;
    width: 30%;
    top: 68%;
    left: 35%;
    text-align: left;
  }

  .hero__button03 {
    position: absolute;
    width: 30%;
    top: 68%;
    left: 66.5%;
    text-align: left;
  }

  .hero__button04 {
    position: absolute;
    width: 45.5%;
    top: 83%;
    left: 3.5%;
    text-align: left;
  }

  .hero__button05 {
    position: absolute;
    width: 45.5%;
    top: 83%;
    left: 51%;
    text-align: left;
  }

  .campaign {
    padding: 0;
  }

  .campaign .container {
    padding: 0;
  }

  .campaign .campaign-top {
    text-align: center;
    padding: 70px 0 40px;
    /*background: url(../img/campaign-top_bg_sp.png) top center no-repeat #fff;*/
    background-size: 100% auto;
  }

  .campaign .campaign-top .campaign__title {
    position: relative;
    z-index: 2;
    width: 70%;
    margin: 0 auto 10px auto;
  }

  .campaign .container .campaign__item {
    padding: 0 3.5%;
  }

  .taisaku {
    padding: 40px 0 0 0;
  }

  .spring_title {
    position: absolute;
    /* width: 30%; */
    top: 0%;
    left: 3.5%;
    text-align: left;
  }

  /*  .course {
    padding-top: 40px;
    background: url(../img/cource_bg.png) top center repeat-x;
  }*/

  .course-title span.text1 {
    display: block;
    text-align: center;
    color: #e7386e;
    font-size: 5vw;
    font-weight: normal;
    text-decoration: underline;
  }

  .course-title span.text2 {
    display: block;
    width: 90%;
    height: 7.5vw;
    margin: 5px auto 20px auto;
    text-align: center;
    color: #005bab;
    font-size: 5.5vw;
    font-weight: bold;
    line-height: 7.5vw;
    background: url(../img/course_bg_title.png) top center no-repeat;
    background-size: 100% auto;
  }

  .campaign__banner {
    margin: 15px 15px 30px 15px;
  }

  .tab-box__title {
    padding: 10px 15px;
    font-size: 16px;
  }

  .tab-box__title span.grade {
    font-size: 14px;
  }

  #tab-box05 .tab-box__title,
  #tab-box04 .tab-box__title,
  #tab-box03 .tab-box__title,
  #tab-box02 .tab-box__title,
  #tab-box01 .tab-box__title {
    border-top-width: 4px;
  }

  .tab-box__block {
    padding: 0 0 25px 0;
    border-radius: 20px;
  }

  .tab-box__block.box01.sho4 {
    margin-top: 20px;
    padding-left: 0;
    padding-right: 0;
  }

  .tab-box__block.box02 {
    padding: 15px 0;
    border-radius: 15px;
  }

  .tab-box__block.box02.with-repo {
    /*border-radius: 15px;*/
    border-radius: 15px 15px 0 0;
  }

  #tab-box03 .tab-box__block.box02,
  #tab-box01 .tab-box__block.box02 {
    margin-top: 30px;
  }

  .tab-box04 .tab-box__block.box02 {
    border-radius: 15px 15px 0 0;
    /*border-radius: 15px;
    padding-bottom: 30px;*/
  }

  .tab-box__block.box02.saisentan {
    padding: 15px 15px 0 15px;
    border-radius: 15px 15px 0 0;
  }

  .tab-box__subtitle06 {
    margin-top: -15px;
    margin-bottom: 15px;
  }

  .tab-box__block .method {
    margin-left: 15px;
    margin-right: 15px;
    padding: 15px;
    border-radius: 15px;
    font-size: 13px;
  }

  .tab-box__block .method:first-child {
    margin-bottom: 15px;
  }

  .tab-box__block .method p.title {
    margin: 20px 0 10px 0;
    font-size: 16px;
  }

  .tab-box__lead {
    width: auto;
    margin: 25px 0;
    padding: 0 3.5%;
  }

  .section__title01,
  .tab-box__subtitle01 {
    font-size: 17px;
    margin-bottom: 0;
    padding-bottom: 5px;
    padding-right: 10px;
  }

  .section__title01 {
    margin: 35px 0;
  }

  .flow .section__title01 {
    margin-top: 0;
  }

  .tab-box__subtitle01 {
    padding: 12px 0 0 0;
  }

  .tab-box__subtitle01 img {
    width: 90%;
  }

  .tab-box__subtitle02 {
    margin: 30px auto 15px auto;
    text-align: center;
  }

  .tab-box04 .tab-box__subtitle02 {
    width: 100%;
  }

  .tab-box__subtitle03-w2,
  .tab-box__subtitle03-w,
  .tab-box__subtitle03 {
    width: 94%;
    height: 13vw;
    line-height: 13vw;
    margin-top: 30px;
    font-size: 5vw;
    background-size: 100% auto;
  }

  .tab-box__subtitle03-w2,
  .tab-box__subtitle03-w {
    font-size: 4.3vw;
  }

  .tab-box04 .tab-box__subtitle03 {
    width: 100%;
    height: 13vw;
    line-height: 13vw;
    margin-top: 30px;
    font-size: 4vw;
    background-size: 100% auto;
  }

  .tab-box__subtitle04 {
    margin: 40px 15px 20px 15px;
  }

  .tab-box__subtitle04.point {
    margin-left: 2.5%;
    margin-right: 2.5%;
  }

  .tab-box01 .tab-box__subtitle04 span,
  .tab-box__subtitle04 span {
    height: auto;
    margin-left: 4vw;
    padding: 2.5vw 1vw 2.5vw 13vw;
    line-height: 7vw;
    font-size: 5vw;
    border-radius: 0 25px 25px 25px;
  }

  .tab-box01 .tab-box__subtitle04 img,
  .tab-box__subtitle04 img {
    width: auto;
    margin-top: -4vw;
    height: 16vw;
  }

  .tab-box__subtitle05 {
    margin-top: 35px;
  }

  .tab-box__subtitle07.point3 {
    margin: 20px 15px 20px 15px;
  }

  .campaign__item_comment,
  .campaign__item {
    margin-top: 10px;
  }

  .campaign__item_comment,
  .campaign-top .campaign__item {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .campaign-top .campaign__item img {
    text-align: center;
    justify-content: center;
    width: 90%;
    margin-top: 10px;
  }

  .campaign__item_comment {
    font-size: 11px;
  }

  .tab-box__block.box01 .campaign__item {
    margin-bottom: 10px;
    text-align: center;
  }

  .tab-box__block.box01 .campaign__item.gakunen {
    margin-bottom: 20px;
  }

  .tab-box__block.box01 .campaign__item img {
    width: 90%;
  }

  .tab-box__block.box01 .campaign__item.text {
    width: 90%;
    text-align: left;
    font-size: 11px;
    line-height: 1.45;
  }

  .tab-box__block.box01 .campaign__item.gakunen.bottom {
    margin-bottom: 0;
  }

  .chu1_title01 {
    margin-bottom: 15px;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1:first-child {
    margin-top: 0;
  }

  .tab-box__block.box01.sho4 .campaign__item.chu1.banner {
    margin-top: 15px;
  }

  .tab-box__withphoto {
    margin-left: 15px;
    margin-right: 15px;
  }

  .tab-box__withphoto .header {
    margin: 20px 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    color: #142668;
    text-align: center;
  }

  .tab-box__withphoto.followup {
    padding-bottom: 0;
  }

  .tab-box__withphoto.followup .photo {
    margin-bottom: 20px;
    padding: 0 15px 0 15px;
    border-radius: 0;
  }

  .followup .saisentan_text.text {
    padding: 0 15px 15px 15px;
  }

  .tab-box__withphoto p strong {
    color: #eb1e62;
  }

  .tab-box__inner.tab-box01 .tab-box__withphoto p strong {
    color: #e13465;
  }

  .tab-box__withphoto .text p:last-child {
    margin-bottom: 0;
  }

  .tab-box__withphoto .text ul {
    margin-top: 20px;
  }

  .tab-box__withphoto .text li {
    padding-left: 1em;
    line-height: 1.8;
    background: url(../img/common_bg_list_red.png) left 0.7em no-repeat;
  }

  .tab-box__withphoto .photo {
    margin-bottom: 20px;
  }

  .tab-box__withphoto .photo.small {
    text-align: center;
  }

  .tab-box__withphoto .photo.small img {
    width: 70%;
  }

  .tab-box__block .result01 {
  }

  .tab-box__block .result01 .result-box {
    margin-bottom: 10px;
  }

  .tab-box__block .result01 .result-box:first-child {
    margin-right: 2%;
  }

  .tab-box__block .result01 .result-box .school {
    top: 26%;
    width: 100vw;
    font-size: 6.5vw;
  }

  .tab-box__block .result01 .result-box .label {
    top: 35.4%;
    font-size: 3.5vw;
  }

  .tab-box__block .result01 .result-box .number {
    top: 52%;
  }

  .tab-box__block .result02 {
    overflow: hidden;
  }

  .tab-box__block .result02 .result-box {
    margin-bottom: 20px;
  }

  .tab-box__block .result02 .result-box:nth-child(2n) {
    margin-left: 0;
  }

  .tab-box__block .result02 .result-box .label {
    margin-top: 20px;
  }

  .tab-box__block .result02 .result-box .label span {
    display: inline-block;
    height: 47px;
    padding: 8px 40px 0 15px;
    background: url(../img/result_bg02.png) top right no-repeat;
    font-size: 16px;
  }

  .tab-box__block .result02 .result-box.gold .label span {
    background: url(../img/result_bg03.png) top right no-repeat;
  }

  .tab-box__block .result02 .result-box .school {
    margin-left: 15px;
    margin-bottom: 20px;
    font-size: 3vw;
  }

  .tab-box__block .result02 .result-box.gold .label span {
    background: url(../img/result_bg03.png) top right no-repeat;
  }

  .tab-box__block .result02 .result-box .school strong {
    margin: 10px 0 10px 0;
    font-size: 5vw;
    line-height: 1.4;
  }

  .tab-box__block .result02 .result-box.nolabel .school strong {
    margin-top: 20px;
  }

  .tab-box__block .result02 .result-box .school strong span {
    font-size: 4vw;
  }

  .tab-box__block .result02 .result-box .school em {
    color: #ce003a;
    font-weight: bold;
    font-style: normal;
  }

  .tab-box__block .result02 .result-box .school strong,
  .tab-box__block .result02 .result-box.gold .school strong,
  .tab-box__block .result02 .result-box.nolabel .school strong {
    margin: 0;
  }

  .tab-box__block .result02 .result-box .school,
  .tab-box__block .result02 .result-box.gold .school,
  .tab-box__block .result02 .result-box.nolabel .school {
    float: none;
    margin: 5px 0 10px 0;
    text-align: center;
  }

  .tab-box__block .result02 .result-box .number,
  .tab-box__block .result02 .result-box.gold .number,
  .tab-box__block .result02 .result-box.nolabel .number {
    float: none;
    margin: 0 0 25px 0;
    text-align: center;
  }

  .tab-box__block .result01-c p:nth-child(1) {
  }

  .tab-box__block .result01-c p:nth-child(2) {
  }

  .tab-box__block .result01-c p:nth-last-child(3) {
    float: none;
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .tab-box__block .result01-c p:nth-last-child(2) {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  .tab-box__block .result01-c p:nth-last-child(1) {
    width: 100%;
    margin-bottom: 20px;
  }

  .tab-box__block .result02-c p {
  }

  .tab-box__block .result02-c p:nth-child(2n) {
  }

  ul.slick-slider {
    width: 90%;
  }

  ul.slick-slider p.school {
    font-size: 5vw;
  }

  ul.slick-slider p.name {
    font-size: 4.5vw;
  }

  ul.slick-slider p.comment {
    font-size: 4vw;
    line-height: 1.7;
  }

  .worry__title {
    display: block;
    width: 100%;
    height: 7.5vw;
    margin: 5px auto 20px auto;
    text-align: center;
    color: #005bab;
    font-size: 5.5vw;
    font-weight: bold;
    line-height: 7.5vw;
    background: url(../img/course_bg_title.png) top center no-repeat;
    background-size: 100% auto;
  }

  .worry__list-wrap {
    margin: 0 0 50px;
    border-radius: 35px;
  }

  .worry__list-wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    border-width: 35px 35px 0 35px;
    border-color: #fff transparent transparent transparent;
  }

  .worry__text span::before {
    bottom: -7px;
    background-size: auto 5px;
  }

  .feature__item-block .image img {
    width: 100%;
    max-width: 400px;
  }

  .feature__item-block .icon img {
    width: 120px;
  }

  .course-dottedline-area .text span {
    position: relative;
    display: inline-block;
  }

  .course-dottedline-area .text span::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    background: linear-gradient(to right, #ff5252, #ff5252 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
    background-size: 12px 3px;
    width: 100%;
    height: 3px;
  }

  .course-management-area .tab-box__subtitle {
    margin-left: -30px;
  }

  .course-management-area .tab-box__subtitle span {
    width: 100%;
  }

  .tab-box__item01 .image img {
    width: 100%;
    max-width: 400px;
  }

  .tab-box__item01 .image img {
    width: 100%;
    max-width: 400px;
  }

  .tab-box__item00 .image img {
    width: 100%;
    max-width: 400px;
  }

  .tab-box-green-area.mt {
    margin-top: 72px;
  }

  .tab-box-green-area .course-line-area {
    margin: 10px 0 15px;
  }

  .point1-area__item1 dd .text .u-l-n-i {
    display: inline-block;
  }

  .experience-item:nth-child(n + 2) {
    margin-top: 25px;
  }

  .feature__step-item.item02 .num {
    left: auto;
    right: -5%;
  }

  .tab-box04 .tab-box__block.box01 {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .tab-box04 .tab-box__block.box01.chu1 {
    margin-top: 0;
    border-radius: 0 0 15px 15px;
  }

  .tab-box__block.box01.sho4.top {
    padding: 15px;
    text-align: center;
  }

  .tab-box__block.box01.sho4.top a:hover {
    opacity: 0.7;
  }

  .chu1_tab-box__sublead01 {
    font-size: 14px;
  }

  .chu1_tab-box__sublead01 span {
    font-size: 16px;
  }

  dl.campaign__schedule dt {
    padding: 10px 15px;
  }

  dl.campaign__schedule.label dt,
  dl.campaign__schedule.label dd {
    padding-left: 15px;
  }

  dl.campaign__schedule dt,
  dl.campaign__schedule dt .date,
  dl.campaign__schedule dt .date span {
    font-size: 16px;
    line-height: 1.3;
  }

  dl.campaign__schedule dt img {
    position: absolute;
    top: -15px;
    left: auto;
    right: 10px;
    width: 65px;
  }

  dl.campaign__schedule {
    margin-bottom: 40px;
  }

  dl.campaign__schedule::after {
    position: absolute;
    content: " ";
    display: block;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 95px;
    height: 35px;
    background: url(../img/chu1_arw01.png) top center no-repeat;
    background-size: auto 35px;
  }

  dl.campaign__schedule dd {
    font-size: 14px;
  }

  dl.campaign__schedule dd .attention {
    font-size: 12px;
  }

  dl.campaign__schedule.label dd.menu {
    margin: 0 15px;
    padding: 10px;
    font-size: 13px;
  }

  dl.campaign__schedule.label dd.menu span {
    display: block;
    margin-right: 0;
    margin-bottom: 3px;
    line-height: 25px;
  }

  dl.campaign__schedule.label dd.menu img {
    width: auto;
    height: 25px;
    margin-right: 5px;
  }

  dl.campaign__schedule dd .menu {
    line-height: 30px;
  }

  .tab-box04 .tab-box__lead03 {
    font-size: 14px;
  }

  .tab-box04 .tab-box__lead03 strong {
    font-size: 22px;
  }

  .tab-box04 .tab-box__lead03 span {
    font-size: 14px;
  }

  .tab-box04 .tab-box__lead04 {
    font-size: 16px;
  }

  .tab-box__subtitle08 {
    font-size: 16px;
  }

  .tab-box04 .tab-box__lead05 {
    font-size: 14px;
  }

  .tab-box__withpic {
    margin-bottom: 40px;
  }

  .tab-box__withpic .pic1,
  .tab-box__withpic .pic2 {
    width: 100%;
    margin: 30px 0 20px;
    text-align: center;
    font-size: 12px;
  }

  .tab-box__withpic .pic1 img,
  .tab-box__withpic .pic2 img {
    width: 90%;
    margin-bottom: 10px;
  }

  .tab-box__withpic p {
    color: #142668;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;
  }

  .tab-box__block .step-box div {
    float: none;
    width: 100%;
    margin: 0 0 35px 0;
  }

  .tab-box__block .step-box .step3 .header,
  .tab-box__block .step-box .step2 .header,
  .tab-box__block .step-box .step1 .header {
    height: auto;
    padding: 15px;
  }

  .tab-box__block .step-box div::after {
    top: auto;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/chu1_arw03.png) center center no-repeat;
  }

  .tab-box__block .step-box div:last-child {
    margin-bottom: 0;
  }

  .tab-box__block .step-box div:last-child::after {
    display: none;
  }

  .tab-box__subtitle07 {
    font-size: 16px;
  }

  .tab-box__block .gakusyu .pic {
    margin-right: 0;
    margin-bottom: 0;
  }

  .tab-box__block .gakusyu .text {
    margin-top: -10px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
  }

  .tab-box__block .gakusyu .text strong {
    font-size: 30px;
  }

  .tab-box__block .gakusyu {
    padding: 0 5px;
    background: none;
  }

  .tab-box04 .tab-box__lead04 img {
  }

  .tab-box__block .result02-c p:nth-child(1) {
    /*margin-left: -3%;
    width: 51.5%;*/
    width: 48.5%;
  }

  .tab-box__block .result02-c p:nth-child(2) {
    /*margin-left: -1.5%;
    width: 50%;*/
    width: 48.5%;
  }

  .tab-box__block .result02-c p:nth-child(3),
  .tab-box__block .result02-c p:nth-child(4) {
    width: 48.5%;
  }

  .tab-box__block .step-box div {
    height: 180px;
  }

  .tab-box__block .step-box.no-arw div {
    height: auto;
  }

  .tab-box__block .step-box .step3 .pic,
  .tab-box__block .step-box .step2 .pic,
  .tab-box__block .step-box .step1 .pic {
    padding: 15px 10px 0 15px;
    float: left;
    width: 100px;
    height: auto;
  }

  .tab-box__block .step-box .step3 .text,
  .tab-box__block .step-box .step2 .text,
  .tab-box__block .step-box .step1 .text {
    text-align: left;
    padding: 20px 15px 20px 15px;
  }

  .tab-box__block .work {
    height: auto;
    margin-left: 15px;
    margin-right: 15px;
    padding: 0 0 46vw 0;
    background: url(../img/chu1_bg_work_sp.png) 80% 90% no-repeat;
    background-size: 70% auto;
  }

  .tab-box__block .work .tab-box__subtitle07 {
    margin-bottom: 15px;
    font-size: 15px;
    padding: 10px 15px;
    text-align: center;
  }

  .tab-box__block .work h6 {
    font-size: 16px;
  }

  .tab-box__block .work p {
    font-size: 14px;
  }

  .tab-box__block .work p srtrong {
    font-weight: bold;
  }

  .tab-box__subheder {
    margin: 0 15px 15px 15px;
  }

  #saisentan .tab-box__subheder {
    margin: 0 0 15px 0;
  }

  .saisentan_header01 {
    margin-left: -2%;
    width: 104%;
  }

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

  .movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .tab-box__block.box02.saisentan .saisentan_list01 {
    margin: -6.4vw 0 30px 0;
    padding: 8.4vw 3vw 3vw 3vw;
  }

  .tab-box__block.box02.saisentan .saisentan_list01 li {
    width: 31%;
    margin: 0 3.5% 3.5% 0;
  }

  .tab-box__block.box02.saisentan .saisentan_list01 li:nth-child(3) {
    margin-right: 0;
  }

  .tab-box__block.box02.saisentan .saisentan_list01 li:nth-child(4) {
    margin-left: 16.5%;
  }

  .tab-box__block.box02.saisentan .saisentan_catch {
    margin-top: 30px;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .icon {
    width: 38%;
    margin-bottom: 15px;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .icon img {
    width: 91%;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .body {
    margin-bottom: 15px;
    padding: 8px 0 0 0;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .body .main {
    width: 62%;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .body .pic {
    width: 34%;
  }

  .tab-box__block.box02.saisentan .saisentan_catch .body h5 {
    padding: 2.5vw 0 0 0;
  }

  .tab-box__block.box02.saisentan .saisentan_body {
    padding: 0;
  }

  .tab-box__block.box02.saisentan p.text {
    font-size: 15px;
    border-radius: 10px;
  }

  .tab-box04 .saisentan .tab-box__subtitle04 span {
    margin-top: 50px;
  }

  .tab-box04 .saisentan .tab-box__subtitle04 span.study {
    background: #4abfd2 url(../img/ico_saisentan_study.png) 94% center no-repeat;
    background-size: auto 80%;
  }

  .tab-box__block.box02.saisentan .tab-box__lead06 {
    padding: 0 5%;
  }

  .tab-box__block.box02.saisentan .banner01 {
    margin: 20px 0 0 0;
  }

  .saisentan .tab-box__subtitle04 img {
    width: auto;
    margin-top: -6.3vw;
    height: 18vw;
  }

  .tab-box__block.box02.saisentan .movie {
    margin: 30px 0 32px 0;
  }

  .tab-box__subtitle10 img {
    width: 85%;
  }

  .saisentan_voice {
    display: block;
  }

  .saisentan_voice p.text {
    width: 100%;
    margin: 0 0 15px 0;
  }

  .tab-box__block.box02.saisentan .banner02 {
    margin: 20px 0 27px 0;
    width: 100%;
  }

  .saisentan_2box {
    display: block;
  }

  .saisentan_2box div {
    width: 100%;
    margin-bottom: 15px;
    border-radius: 10px;
  }

  .saisentan_boxtitle {
    font-size: 17px;
    border-radius: 10px 10px 0 0;
  }

  .saisentan_text.text .boxhead {
    font-size: 16px;
  }

  .saisentan_button01 img {
    height: 40px;
  }

  .saisentan_1box {
    position: relative;
    margin: 35px 0 32px 0;
  }

  .saisentan_1box div {
    border-radius: 10px;
  }

  .saisentan_1box div.text.left {
    padding-bottom: 15px;
  }

  .saisentan_1box .saisentan_boxtitle {
    padding: 12px 17px;
    text-align: left;
    font-size: 16px;
    letter-spacing: 0;
  }

  .saisentan_1box .saisentan_boxicon {
    position: absolute;
    width: 33%;
    padding: 0;
    top: -32px;
    right: -10px;
    z-index: 3;
  }

  .chu1_tab-box__subtitle01 img {
    margin-top: -24vw;
  }

  .campaign .container .campaign__item.online {
    margin-top: 45px;
    padding: 0 3.5%;
  }

  dl.campaign__schedule {
    padding-bottom: 15px;
  }

  dl.campaign__schedule dd.test {
    position: relative;
    margin: 20px 15px 0 15px;
    padding: 0;
  }

  dl.campaign__schedule dd.test img.test-icon {
    top: 10px;
    right: 0px;
    width: 80px;
  }

  dl.campaign__schedule dd.test strong {
    padding: 10px 0 10px 10px;
    font-size: 17px;
  }

  dl.campaign__schedule dd.test strong .date span {
    font-size: 12px;
  }

  dl.campaign__schedule dd.test .test-main {
    padding: 6px 10px;
  }

  .campaign__item.online span.comment {
    padding: 8px 10px;
    border: 3px solid #e60012;
    color: #e60012;
    font-size: 13px;
  }

  .tab-box_tab3_sublead01 {
    margin: 10px 15px;
    font-size: 16px;
  }

  .tab-box_tab3_sublead01 span {
    font-size: 14px;
  }

  .tab-box04 .tab-box__lead04 {
    margin: 10px 15px 20px 15px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test {
    width: auto;
    height: 850px;
    margin-left: 15px;
    margin-right: 15px;
    padding: 5vw 0 25.5vw 2.5vw;
    background: url(../img/chu1_point_bg01_2401_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li {
    margin: 0 0 5.3vw 2vw;
    font-size: 3.8vw;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li span {
    display: block;
    width: 6em;
    margin: 0 0 1vw 0;
    padding: 0.5vw 0;
    text-align: center;
    font-size: 2.5vw;
    border-radius: 2.5vw;
  }

  .tab-box_tab3_merit {
    display: block;
  }

  .tab-box_tab3_merit .merit-box {
    width: 94%;
    margin: 0 auto 10px auto;
    padding: 15px;
    border-radius: 15px;
  }

  .tab-box_tab3_merit .merit-box .fukidashi {
    height: 80px;
    padding: 13px 0 0 0;
    font-size: 14px;
  }

  .tab-box_tab3_merit .merit-box .text {
    font-size: 14px;
    margin-top: 10px;
  }

  .tab-box_tab3_subtitle01 {
    margin-top: 30px;
    padding-top: 0;
  }

  .tab-box_tab3_pic02 {
    margin-bottom: 30px;
  }

  .tab-box_tab3_subtitle02 {
    margin-bottom: 15px;
  }

  .chu23_meritbox_pic01 {
    margin: 15px 0 25px 0;
    text-align: center;
  }

  .chu23_meritbox_pic01 img {
    width: 90%;
  }

  .tab-box_tab3_subtitle03 {
    padding: 8px 0 8px 0.7em;
    font-size: 18px;
    border-radius: 15px;
    letter-spacing: 0;
  }

  .tab-box_tab3_subtitle03 span {
    margin-left: 5px;
    padding: 0 0.5em;
    font-size: 13px;
  }

  #tab-box01 .tab-box_tab3_subtitle03 {
    padding-right: 0.7em;
  }

  #tab-box01 .tab-box_tab3_subtitle03 span {
    font-size: 12px;
    margin-top: 6px;
    margin-left: 2px;
    padding: 0 0.3em;
  }

  .questionnaire .tab-box_tab3_subtitle03 {
    margin-top: 30px;
    padding-top: 14px;
    padding-bottom: 14px;
    line-height: 1.3;
  }

  .teiki-test2 .pic01 {
    margin-bottom: 15px;
  }

  .teiki-test2 .text {
    font-size: 15px;
  }

  .questionnaire .qa {
    display: block;
  }

  .questionnaire .tab-box_tab3_subtitle03 {
    margin-bottom: 25px;
  }

  .questionnaire .qa div {
    width: 100%;
    margin-right: 0;
  }

  .questionnaire .qa .question {
    height: auto;
    padding-left: 50px;
    padding-bottom: 20px;
    font-size: 18px;
    background: url(../img/chu23_qa_icon01.png) top left no-repeat;
    background-size: 40px auto;
  }

  .questionnaire .qa .answer {
    margin-bottom: 25px;
  }

  .souhatsu_kids,
  .souhatsu_puzzle {
    margin-left: 15px;
    margin-right: 15px;
  }

  .souhatsu_pic {
    margin: 0;
    padding: 20px;
  }

  .souhatsu_menu {
    display: block;
    margin: 20px 15px 30px 15px;
    padding: 15px;
    border-radius: 10px;
  }

  .souhatsu_menu div {
    overflow: hidden;
    width: 100%;
    margin: 0 0 15px 0;
  }

  .souhatsu_menu div:last-child {
    margin: 0;
  }

  .souhatsu_menu p.pic {
    float: left;
    width: 48%;
    max-width: 276px;
    margin-right: 12px;
  }

  .souhatsu_menu p.text {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .souhatsu_kids .text {
    position: relative;
    z-index: 2;
    margin-top: -22vw;
    padding-left: 31%;
    font-size: 15px;
    text-align: left;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .souhatsu_kids ul {
    margin-bottom: 20px;
  }

  .souhatsu_kids ul li {
    width: auto;
    margin: 0 0 10px 0;
  }

  .tab-box__withphoto.tab3 p.point {
    margin-top: 10px;
    font-size: 16px;
    font-weight: bold;
    color: #e60012;
    line-height: 1.3;
  }

  #tab-box01 .tab-box_tab3_subtitle03 {
    margin-bottom: 10px;
  }

  .souhatsu_puzzle .text {
    position: relative;
    z-index: 2;
    margin-top: -27vw;
    padding-left: 35%;
    font-size: 14px;
    text-align: left;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .souhatsu_puzzle .point {
    margin: 0 0 40px 0;
    padding: 15px;
    border-radius: 15px;
  }

  .souhatsu_puzzle .point-body {
    float: none;
    width: auto;
    padding-right: 0;
  }

  .souhatsu_puzzle .point-pic {
    width: auto;
  }

  .souhatsu_puzzle .point-lead {
    padding: 5px 0 7px 0;
    font-size: 18px;
    text-align: center;
  }

  .souhatsu_puzzle .point-text {
    margin-bottom: 15px;
    font-size: 15px;
  }

  .souhatsu_merit .tab-box__subtitle03-w {
    margin: 0 auto 20px auto;
  }

  .souhatsu_merit ul li {
    box-sizing: border-box;
    float: none;
    width: auto;
    height: 19vw;
    margin: 0 0 5px 0;
    padding: 5.9vw 0 0 21vw;
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
  }

  .souhatsu_merit ul li:nth-child(4) {
    margin-left: 0;
  }

  .souhatsu_merit ul li.merit1 {
    background: url(../img/souhatsu_bg01_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .souhatsu_merit ul li.merit2 {
    background: url(../img/souhatsu_bg02_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .souhatsu_merit ul li.merit3 {
    background: url(../img/souhatsu_bg03_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .souhatsu_merit ul li.merit4 {
    background: url(../img/souhatsu_bg04_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .souhatsu_merit ul li.merit5 {
    background: url(../img/souhatsu_bg05_sp.png) top left no-repeat;
    background-size: 100% auto;
  }

  .flow__list {
    margin-top: -5vw;
    padding-top: 10vw;
  }
}

@media screen and (max-width: 374px) {
  .worry__text {
    font-size: 18px;
    font-size: 1.125rem;
  }

  .tab-box__item01 .title {
    font-size: 17px;
    font-size: 1.0625rem;
  }

  .tab-box__item00 .title {
    font-size: 17px;
    font-size: 1.0625rem;
  }

  .tab-box__item03 .title {
    font-size: 17px;
    font-size: 1.0625rem;
  }

  .tab-box-green-area .course-line-area .text {
    font-size: 26px;
    font-size: 1.625rem;
  }

  .tab-box-green-area .course-line-area .text b {
    font-size: 36px;
    font-size: 2.25rem;
  }

  .tab-box .catch {
    font-size: 18.5px;
    font-size: 1.15625rem;
  }

  dl.campaign__schedule dd.test img.test-icon {
    top: -9px;
  }

  #tab-box01 .tab-box_tab3_subtitle03 span {
    font-size: 11px;
    margin-top: 7px;
    margin-left: 1px;
    padding: 0 0.2em;
  }
}

.saisentan_bt {
  text-align: center;
  margin: 40px;
}

p.body {
  text-align: center;
}

.chu1-midashi {
  text-align: center;
  position: relative;
  margin-top: 80px;
}

.chu1-midashi .strong {
  font-size: 50px;
  font-weight: bold;
}

.chu1-midashi h3 {
  position: absolute;
  text-shadow:
    /* 縁取り1pxを同じ色でつける */
    5px 0 0 white,
    0 5px 0 white,
    -5px 0 0 white,
    0 -5px 0 white;
  font-size: 35px;
  font-weight: bold;
  top: 60%;
  left: 20%;
  right: 20%;
  transform: translate(-0%, -70%);
  color: #152668;
  line-height: 50px;
}

@media (max-width: 767px) {
  .chu1-midashi {
    text-align: center;
    position: relative;
    margin-top: 40px;
    margin-bottom: 10px;
  }

  .chu1-midashi img {
    width: 90%;
  }

  .chu1-midashi .strong {
    font-size: 22px;
    font-weight: bold;
  }

  .chu1-midashi h3 {
    position: absolute;
    text-shadow:
      /* 縁取り1pxを同じ色でつける */
      3px 0 0 white,
      0 3px 0 white,
      -3px 0 0 white,
      0 -3px 0 white;
    font-size: 16px;
    font-weight: bold;
    /* top: 60%; */
    left: 10%;
    right: 10%;
    transform: translate(-0%, -80%);
    color: #152668;
    line-height: 30px;
  }
}

.campaign__list {
  text-align: center;
}

.campaign_51 {
  background: #fff;
  border: 4px solid #f7a900;
  border-radius: 25px;
  margin: 10px 0px 40px 0px;
  width: 90%;
  display: inline-block;
  position: relative;
}

.campaign_51 .campaign_label {
  background: #f7a900;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
  display: flex;
  justify-content: end;
  /* text-align: center; */
  align-items: center;
  gap: 100px;
}

.campain_box_title {
  font-weight: bold;
}

.campaign_51 .campain_box_target {
  background: #ffffff;
  font-size: 25px;
  color: #f7a900;
  border-radius: 20px 20px 20px 20px;
  margin: 0px 0px 10px 0px;
  width: 200px;
  display: inline-block;
  font-feature-settings: "palt";
}

.campain_box0 {
  display: flex;
  text-align: left;
  justify-content: center;
  margin: 20px 0px 20px 160px;
}

.gentei-badg {
  position: absolute;
  transform: translate(-650%, 10%);
}

.campain_box0 .campaign_price {
  font-size: 60px;
  font-weight: bold;
  color: #005bac;
  margin-left: 10px;
  margin-right: 10px;
  line-height: 60px;
  text-align: center;
}

.campain_box0 .campaign_discount {
  font-size: 100px;
  font-weight: 900;
  color: #db3434;
  margin: 0px 0px 0px 0px;
  line-height: 80px;
}

.campaign_52 {
  background: #fff;
  border: 4px solid #05b8a9;
  border-radius: 25px;
  margin: 10px 0px 40px 0px;
  width: 90%;
  display: inline-block;
  position: relative;
}

.campaign_52 .campaign_label {
  background: #05b8a9;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
  display: flex;
  justify-content: end;
  /* text-align: center; */
  align-items: center;
  gap: 100px;
}

.campaign_531 {
  background: #fff;
  border: 4px solid #10acd3;
  border-radius: 25px;
  margin: 10px 0px 0px 0px;
  width: 90%;
  display: inline-block;
  position: relative;
}

.campaign_531 .campaign_label {
  background: #10acd3;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
  display: flex;
  justify-content: center;
  /* text-align: center; */
  align-items: center;
  gap: 100px;
}

.campaign_531 .campain_box_target {
  background: #ffffff;
  font-size: 25px;
  color: #10acd3;
  border-radius: 20px 20px 20px 20px;
  margin: 0px 0px 10px 0px;
  width: 200px;
  display: inline-block;
  font-feature-settings: "palt";
}

.campaign_531 .campaign_price {
  font-size: 50px;
}

.campaign_532 {
  background: #fff;
  border: 4px solid #10acd3;
  border-radius: 25px;
  margin: 10px 0px 40px 0px;
  width: 90%;
  display: inline-block;
  position: relative;
}

.campaign_532 .campaign_label {
  background: #10acd3;
  padding: 5px 10px 5px 10px;
  color: #ffffff;
  font-size: 35px;
  border-radius: 20px 20px 0px 0px;
  display: flex;
  justify-content: center;
  /* text-align: center; */
  align-items: center;
  gap: 100px;
}

.campaign_532 .campain_box_target {
  background: #ffffff;
  font-size: 25px;
  color: #10acd3;
  border-radius: 20px 20px 20px 20px;
  margin: 0px 0px 10px 0px;
  width: 200px;
  display: inline-block;
  font-feature-settings: "palt";
}

.campain_box_title {
  font-weight: bold;
}

.campaign_52 .campain_box_target {
  background: #ffffff;
  font-size: 25px;
  color: #05b8a9;
  border-radius: 20px 20px 20px 20px;
  margin: 0px 0px 10px 0px;
  width: 200px;
  display: inline-block;
  font-feature-settings: "palt";
}

@media (max-width: 767px) {
  .campaign_51 {
    background: #fff;
    border: 4px solid #f7a900;
    border-radius: 25px;
    margin: 10px 0px 0px 0px;
    width: 90%;
    display: inline-block;
    position: relative;
  }

  .campaign_51 .campaign_label {
    background: #f7a900;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 35px;
    border-radius: 20px 20px 0px 0px;
    padding-top: 10px;
    display: block;
    line-height: 30px;
  }

  .campain_box_title {
    font-size: 20px;
    font-weight: bold;
  }

  .campaign_51 .campain_box_target {
    background: #ffffff;
    font-size: 18px;
    color: #f7a900;
    border-radius: 20px 20px 20px 20px;
    margin: 0px 0px 10px 0px;
    width: 200px;
    display: inline-block;
    font-feature-settings: "palt";
    font-weight: bold;
  }

  .campain_box0 {
    display: block;
    text-align: left;
    justify-content: center;
    margin: 20px 0px 20px 0px;
  }

  .gentei-badg {
    position: absolute;
    transform: translate(-100%, 0%);
    width: 70px;
  }

  .campain_box0 .campaign_price {
    font-size: 40px;
    font-weight: bold;
    color: #005bac;
    margin-left: 10px;
    margin-right: 10px;
    line-height: 60px;
    text-align: center;
  }

  .campain_box0 .campaign_discount {
    font-size: 80px;
    font-weight: 900;
    color: #db3434;
    margin: 0px 0px 0px 0px;
    line-height: 80px;
    text-align: center;
  }

  .campain_box0 .campaign_discription {
    font-size: 18px;
    text-align: center;
    margin-left: 20px;
    margin-right: 20px;
    line-height: 20px;
  }

  .campaign_52 {
    background: #fff;
    border: 4px solid #05b8a9;
    border-radius: 25px;
    margin: 10px 0px 0px 0px;
    width: 90%;
    display: inline-block;
    position: relative;
  }

  .campaign_52 .campaign_label {
    background: #05b8a9;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 35px;
    border-radius: 20px 20px 0px 0px;
    padding-top: 10px;
    display: block;
    line-height: 30px;
  }

  .campaign_52 .campain_box_target {
    background: #ffffff;
    font-size: 18px;
    color: #05b8a9;
    border-radius: 20px 20px 20px 20px;
    margin: 0px 0px 10px 0px;
    width: 200px;
    display: inline-block;
    font-feature-settings: "palt";
    font-weight: bold;
  }

  .campaign_531 {
    background: #fff;
    border: 4px solid #10acd3;
    border-radius: 25px;
    margin: 10px 0px 0px 0px;
    width: 90%;
    display: inline-block;
    position: relative;
  }

  .campaign_531 .campaign_label {
    background: #10acd3;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 35px;
    border-radius: 20px 20px 0px 0px;
    padding-top: 10px;
    display: block;
    line-height: 30px;
  }

  .campaign_531 .campain_box_target {
    background: #ffffff;
    font-size: 18px;
    color: #10acd3;
    border-radius: 20px 20px 20px 20px;
    margin: 0px 0px 10px 0px;
    width: 200px;
    display: inline-block;
    font-feature-settings: "palt";
    font-weight: bold;
  }

  .campaign_531 .campaign_discription {
    font-size: 16px;
  }

  .campaign_531 .campaign_price {
    font-size: 34px;
  }

  .campaign_532 {
    background: #fff;
    border: 4px solid #10acd3;
    border-radius: 25px;
    margin: 10px 0px 0px 0px;
    width: 90%;
    display: inline-block;
    position: relative;
  }

  .campaign_532 .campaign_label {
    background: #10acd3;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 35px;
    border-radius: 20px 20px 0px 0px;
    padding-top: 10px;
    display: block;
    line-height: 30px;
  }

  .campaign_532 .campain_box_target {
    background: #ffffff;
    font-size: 18px;
    color: #10acd3;
    border-radius: 20px 20px 20px 20px;
    margin: 0px 0px 10px 0px;
    width: 200px;
    display: inline-block;
    font-feature-settings: "palt";
    font-weight: bold;
  }
}

.campaign3 {
  display: flex;
  text-align: left;
  justify-content: center;
  border: 1px solid #2d3992;
  margin: 40px 40px 20px 40px;
  padding: 20px 10px 20px 10px;
  background: rgb(232, 232, 232);
  background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

.campaign3 .main {
  display: flex;
}

.campaign3 .discount {
  margin-left: 20px;
}

.campaign3 .discount .time {
  font-size: 18px;
  font-weight: bold;
}

.campaign3 .circle {
  max-width: 100px;
}

.campaign3 .discount .target {
  font-size: 30px;
  font-weight: 500;
  color: #ffffff;
  background: #e60012;
  text-align: center;
  width: 300px;
  margin-bottom: 5px;
}

.campaign3 .price {
  font-size: 80px;
  font-weight: 900;
  color: #e60012;
  line-height: 80px;
  margin-top: 10px;
}

@media (max-width: 767px) {
  .campaign3 {
    width: 35%;
    display: block;
    text-align: left;
    justify-content: center;
    border: 1px solid #2d3992;
    margin: 40px 0px 20px 0px;
    padding: 20px 10px 20px 10px;
    background: rgb(232, 232, 232);
    background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 100%);
  }

  .campaign3 .main {
    display: flex;
  }

  .campaign3 .discount {
    margin-left: 20px;
  }

  .campaign3 .discount .time {
    font-size: 18px;
    font-weight: bold;
  }

  .campaign3 .circle {
    max-width: 100px;
  }

  .campaign3 .discount .target {
    font-size: 30px;
    font-weight: 500;
    color: #ffffff;
    background: #e60012;
    text-align: center;
    width: 200px;
    margin-bottom: 5px;
  }

  .campaign3 .price {
    font-size: 80px;
    font-weight: 900;
    color: #e60012;
    line-height: 80px;
    margin-top: 10px;
  }
}

.campaign__item img {
  width: 90%;
}

.campaign-top .campaign__item img {
  margin: 10px;
  width: 1020px;
}

.tab-box__withphoto .text p.midashi {
  font-size: 30px;
  line-height: 40px;
  font-weight: bold;
  color: #e13466;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .campaign-top .campaign__item img {
    margin: 5px;
    width: 90%;
  }
  .tab-box__withphoto .text p.midashi {
    font-size: 20px;
    margin-bottom: 10px;
  }

  h4.tab-box__subtitle_spring img {
    margin: 20px 20px 10px 20px;
    width: 90%;
  }
}

.campaign_box {
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 40px;
  background: #fff;
  border-radius: 40px;
  width: 90%;
  padding-top: 40px;
  margin-top: 40px;
}

.tab-box__withphoto .text p.midashi_kyoshin_study {
  font-size: 40px;
  font-weight: bolder;
  font-feature-settings: "palt";
  margin-bottom: 0px;
}

.disk_kyoshin_study img {
  width: 15%;
  height: 20%;
  padding-left: 20px;
}

.tab-box__withphoto .text p {
  font-size: 18px;
  line-height: 1.8;
  color: #142668;
}

.disk_kyoshin_study {
  display: flex;
}

.blue_box {
  background: #e6f8ff;
  margin: 20px 80px 60px 80px;
  padding: 50px 20px 40px 300px;
  font-size: 16px;
}

.photo_tablet {
  position: absolute;
  transform: translate(45%, -115%);
}

.list_kyoshin_study {
  background: url(../img/common_bg_list_red.png) left center no-repeat;
  margin-bottom: 5px;
  padding-left: 20px;
}

.result-title .a-result {
  font-size: 40px;
}

.tab-box__block .voice2 div {
  box-sizing: border-box;
  width: 49%;
  border: 2px solid #005bab;
  border-radius: 30px;
  padding-top: 0px;
}

.tab-box__block .voice2 div .title {
  display: flex;
  width: 449px;
  align-items: center;
  height: 126px;
  padding: 20px 10px 10px 20px;
  color: #fff;
  font-weight: bold;
  background: #005bab;
  border-radius: 28px 28px 0px 0px;
  font-size: 18px;
}

.tab-box__block .voice2 div .title p {
  padding-right: 10px;
}

.study_ancate {
  margin-top: 10px;
  text-align: center;
}

.study_ancate img {
  width: 700px;
}

@media (max-width: 767px) {
  .tab-box__withphoto .text p.midashi_kyoshin_study {
    font-size: 26px;
    font-weight: bolder;
    font-feature-settings: "palt";
    color: #142668;
    margin-bottom: 10px;
  }

  .disk_kyoshin_study img {
    width: 25%;
    height: 20%;
    padding-left: 0px;
    padding-right: 20px;
  }

  .blue_box {
    background: #e6f8ff;
    margin: 20px 20px 60px 20px;
    padding: 30px 20px 90px 20px;
    font-size: 14px;
  }

  .list_kyoshin_study {
    background: url(../img/common_bg_list_red.png) left center no-repeat;
    margin-bottom: 10px;
    padding-left: 20px;
  }

  .photo_tablet {
    width: 40%;
    position: absolute;
    transform: translate(115%, -112%);
  }

  .result-title .a-result {
    font-size: 20px;
  }

  .tab-box__block .voice2 div {
    width: 100%;
  }
  .result-title .a-result {
    font-size: 20px;
  }

  .illust_girl {
    position: absolute;
    transform: translate(300%, 0%);
    width: 20%;
  }

  .illust_boy {
    position: absolute;
    transform: translate(300%, 0%);
    width: 20%;
  }

  .tab-box__block .voice2 div .title {
    width: 100%;
  }

  .tab-box__block .voice2 div .title p {
    line-height: normal;
    font-size: 15px;
  }

  .study_ancate {
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .feature__block .text {
    height: 150px;
  }
}

/*========= ナビゲーションのためのCSS ===============*/

#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: -120%;
  left: 0;
  width: 100%;
  height: 100vh; /*ナビの高さ*/
  background: #005bac;
  /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*リストのレイアウト設定*/

#g-nav li {
  list-style: none;
  text-align: center;
}

#g-nav li a {
  color: #fff;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 30px;
}

.batsu {
  color: #fff;
  font-size: 400%;
  font-weight: bold;
}

#g-nav .classes__title {
  top: 10%;
  width: 250px;
}

/*========= スマホのみ電話有効 ===============*/
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.strong-yellow {
  font-size: 36px;
  color: #ffe700;
}

@media (max-width: 767px) {
  .strong-yellow {
    font-size: 20px;
  }
}

/*========= corse03_ryokin ===============*/
.corse03_ryokin {
  margin-top: 20px;
  margin-left: 40px;
  margin-right: 40px;
}
@media (max-width: 767px) {
  .corse03_ryokin {
    margin-top: 30px;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.corse03_ryokin1 {
  background: white;
  padding: 40px;
  border-radius: 20px;
  margin-left: 0px;
  margin-right: 0px;
}

.baner_list .campaign__item img {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .corse03_ryokin1 {
    padding: 15px;
  }
  .corse03_ryokin1 img {
    max-width: 400px;
    max-height: 200px;
  }

  .baner_list .campaign__item img {
    margin-top: 20px;
  }
}

/*========= 2402_Godashセクション ===============*/

.tab-box04 .tab-box__block.box02 .teiki-test li.discript {
  font-size: 18px;
  font-weight: 100;
  border-bottom: 1px solid #1f5bac;
  padding-top: 4px;
  padding-bottom: 20px;
}

.tab-box04 .tab-box__block.box02 .teiki-test li.discript-last {
  font-size: 18px;
  font-weight: 100;
  padding-top: 4px;
}

.tab-box04 .tab-box__block.box02 .teiki-test {
  padding: 55px 25px 25px 34px;
}

.tab-box04 .tab-box__block.box02 .teiki-test li {
  padding-bottom: 0px;
  line-height: normal;
  padding-top: 18px;
}

.tab-box04 .tab-box__block.box02 .teiki-test li.title {
  padding-bottom: 20px;
  font-size: 34px;
  color: #0070b7;
}

.godash-section .godash-text .tops {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .tab-box04 .tab-box__block.box02 .teiki-test li.discript {
    font-size: 14px;
    font-weight: 100;
    border-bottom: 1px solid #1f5bac;
    padding-top: 4px;
    padding-bottom: 5px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li.discript-last {
    font-size: 14px;
    font-weight: 100;
    padding-top: 4px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test {
    padding: 25px 15px 25px 15px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li {
    padding-top: 20px;
    line-height: normal;
    margin-bottom: 0px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test li.title {
    padding-bottom: 20px;
    font-size: 24px;
    color: #0070b7;
    padding-top: 0px;
    text-align: center;
    margin-bottom: 0px;
    padding-bottom: 0px;
  }

  .godash-section .godash-title {
    padding: 0px 0px;
    padding-bottom: 10px;
  }

  .godash-section .godash-text .tops {
    margin-top: 0px;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test {
    width: auto;
    height: auto;
    margin-left: 15px;
    margin-right: 15px;
    padding: 5vw 2.5w 0 2.5vw;
    background: none;
    background-color: #e6f8ff;
    border-radius: 20px;
    background-size: 100% auto;
  }

  .tab-box04 .tab-box__block.box02 .teiki-test {
    padding: 25px 15px 0px 15px;
  }
}

/*----------------------------------------------
241214追加
----------------------------------------------*/
.hero {
  position: relative;
}

.hero .chatch_copy {
  position: absolute;
  top: 0px;
  left: 0px;
}

/*----------------------------------------------
250216追加
----------------------------------------------*/
.openModal {
  font-size: 16px;
  cursor: pointer;
  background-color: #28a745;
  color: white;
  border: none;
  border-radius: 5px;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 背景を薄暗く */
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease-in-out,
    visibility 0.3s ease-in-out;
  z-index: 10; /* 他の要素より前面 */
}

/* モーダル本体 */
.modal-content {
  background: white;
  margin: 0 20px;
  padding: 60px 40px;
  border-radius: 8px;
  text-align: center;
  position: relative;
}

.modal-content p {
  font-size: 24px;
  font-weight: 100;
  line-height: 30px;
  margin-bottom: 40px;
}

.close-btn {
  position: fixed;
  bottom: 160px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease-in-out,
    visibility 0.3s ease-in-out;
  z-index: 11; /* モーダルより前面 */
}

/* ✖️マークの作成 */
.close-btn::before,
.close-btn::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 4px;
  background-color: #ffffff; /* ✖️の線を黒色に */
  transform: rotate(45deg);
}

.close-btn::after {
  transform: rotate(-45deg);
}

/* モーダル表示時のクラス */
.close-btn.show {
  opacity: 1;
  visibility: visible;
}

/* モーダル表示時のクラス */
.modal-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* 画像ボタン */
.image-button {
  display: block;
  margin: 10px auto;
  cursor: pointer;
}
.first-cta {
  background-color: #fff9cf;
  padding: 20px;
  text-align: center;
}

.first-cta .cta-btn {
  display: flex;
  gap: 20px;
}

.first-cta a {
  width: 30%;
}

.first-cta .cta_txt {
  width: 60%;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .first-cta a {
    width: 50%;
  }
  .contactbox__button--green.pc {
    display: none;
  }
  .teltap_text {
    width: 80%;
  }
}

@media (min-width: 768px) {
  .first-cta {
    padding: 50px 20px;
  }
  .cta-btn {
    justify-content: center;
  }
  .cta-btn a {
    width: 400px;
  }
  .openModal.sp {
    display: none;
  }
}

.result-box img {
  border-radius: 20px;
}
/* ========================================
   2026春 追加スタイル
   ======================================== */

/* 青帯 */
.result-title {
  background-color: #2b3a6e !important;
  justify-content: center !important;
}

/* 最先端宣言枠線 */
.tab-box__block.box02.saisentan {
  border-radius: 40px !important;
  padding-bottom: 0;
  margin: 80px !important;
  border: solid 2px #eaeaea !important;
}

/* mv_course画像 */
.mv_course {
  margin: 0 !important;
}
.mv_course img {
  max-width: 100% !important;
  border-radius: 0px !important;
}

/* faq背景 */
.faq {
  background-color: #ffffff;
}

/* 適正人数制 */
.method.colmn-1 {
  display: flex;
  width: 90%;
  margin: 40px 5% 0 5%;
  gap: 20px;
}

.method.colmn-1 p.title {
  text-align: left;
  margin-top: 0px;
}

.method.colmn-1 desc p {
  text-align: left;
}

@media (max-width: 767px) {
  .method.colmn-1 {
    display: grid;
  }

  .mv_course {
    margin: 0 !important;
  }
  .mv_course img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
  }

  .tab-box__block.box02 {
    padding-top: 0 !important;
  }

  .tab-box__withphoto {
    margin-top: 20px !important;
  }

  .tab-box__withphoto .photo {
    text-align: center;
    margin-top: 40px;
  }

  .photo_tablet {
    width: 28% !important;
    transform: translate(200%, -95%) !important;
  }

  /* 最先端宣言SP */
  .tab-box__block.box02.saisentan {
    margin: 60px 15px 20px 15px !important;
    padding: 15px !important;
  }
  .tab-box__block.box02.saisentan .title_saisentan {
    text-align: center !important;
  }
  .tab-box__block.box02.saisentan .saisentan_header01 {
    text-align: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
  .tab-box__block.box02.saisentan .saisentan_list01 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .tab-box__block.box02.saisentan .saisentan_bt {
    text-align: center;
  }

  /* パズル道場・キッズゼミSP */
  .souhatsu_puzzle .point {
    margin-top: 20px !important;
  }

  .souhatsu_kids .pic,
  .souhatsu_puzzle .pic {
    display: none !important;
  }

  .pic-sp-wrapper {
    margin: 0 0 20px 0;
  }
  .pic-sp-wrapper .pic-logo {
    text-align: center;
    margin-bottom: 15px;
  }
  .pic-sp-wrapper .pic-logo img {
    max-width: 90%;
    height: auto;
  }
  .pic-sp-wrapper .stamp-text-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  .pic-sp-wrapper .pic-stamp {
    flex-shrink: 0;
    width: 28%;
  }
  .pic-sp-wrapper .pic-stamp img {
    width: 100%;
    height: auto;
  }
  .pic-sp-wrapper .text-sp {
    flex: 1;
    font-size: 14px;
    line-height: 1.7;
    padding-top: 5px;
  }

  .souhatsu_kids .text.pc,
  .souhatsu_puzzle .text.pc {
    display: none;
  }
}

/* 近くの教室ボタン */
.fixed-nav-pc__block:not(.js-open) .fixed-nav-pc__title {
  padding: 10px 0;
  display: flex;
  justify-content: center;
}

.fixed-nav-pc__block:not(.js-open) .fixed-nav-pc__title span {
  padding: 30px 0 0 0;
  padding-left: 0 !important;
  display: block;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: center;
  position: relative;
}

.fixed-nav-pc__block:not(.js-open) .fixed-nav-pc__title span::before {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
}

/* SP MV */
@media (max-width: 767px) {
  .hero {
    height: auto !important;
  }
  .hero__button01,
  .hero__button02,
  .hero__button03 {
    top: auto !important;
    bottom: 16%;
  }
  .hero__button04,
  .hero__button05 {
    top: auto !important;
    bottom: 2%;
  }
}

.tab-box__go-dash {
  margin-top: 40px;
}

.tab-box__go-dash img {
  max-width: 100%;
  height: auto;
}
.tab-box__block-top {
  margin: -40px -40px 0;
}

.tab-box__block-top img {
  width: 100%;
  height: auto;
}

.tab-box__block-top + .tab-box__highlight {
  margin-top: 0;
}

.tab-box__block-lead {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.tab-box__block-lead span {
  font-size: 32px;
  font-weight: 600;
  line-height: calc(52 / 32);
  color: #005bac;
  font-family: "Inter", sans-serif;
}

.tab-box__block-lead .underline {
  padding-left: 10px;
  background: linear-gradient(to bottom, transparent 0%, transparent calc(100% - 24px), #c2edff calc(100% - 24px), #c2edff 100%);
}

.tab-box__border {
  margin-top: 58px;
}

.tab-box__border-head {
  background: #005bac;
  color: #ffe402;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 30px;
  border-radius: 20px 20px 0 0;
}

.tab-box__border-label {
  font-size: 32px;
  line-height: calc(56 / 32);
  color: #005bac;
  background: #fff;
  border-radius: 30px;
  font-weight: 600;
  min-width: 180px;
  text-align: center;
  font-family: "Inter", sans-serif;
}

.tab-box__block h4.tab-box__border-title {
  font-size: 76px;
  line-height: 1;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 20px;
}

.tab-box__border-body {
  background: #ddf0fd;
  padding-block: 40px 30px;
  border-left: 4px solid #005bac;
  border-right: 4px solid #005bac;
}

.tab-box__border-row {
  display: flex;
  justify-content: space-between;
  padding-inline: 30px;
}

.tab-box__border-content {
  flex: 1;
  padding-right: 30px;
}

.tab-box__border-img {
  width: 340px;
}

.tab-box__border-img img {
  width: 100%;
  height: auto;
}

.tab-box__border-highlight {
  display: flex;
  justify-content: flex-start;
}

.tab-box__border-highlight span {
  font-size: 38px;
  line-height: calc(56 / 38);
  color: #005bac;
  font-weight: 600;
  font-family: "Inter", sans-serif;
  background: #ffe402;
  padding-inline: 15px;
}

.tab-box__border-desc {
  font-size: 24px;
  line-height: calc(40 / 24);
  font-weight: 600;
  color: #005bac;
  font-family: "Inter", sans-serif;
  margin-top: 16px;
}

.tab-box__border-catch {
  background: #0095fa;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  line-height: calc(52 / 40);
  font-weight: 600;
  font-family: "Inter", sans-serif;
  padding: 27px 25px 21px;
  margin-top: 40px;
}

.tab-box__border-row--circle {
  margin-top: 40px;
}

.tab-box__border-row--circle .tab-box__border-img {
  width: 220px;
}

.tab-box__border-row--circle .tab-box__border-desc {
  font-size: 22px;
  line-height: calc(40 / 22);
  font-weight: 500;
  font-family: "Inter", sans-serif;
  color: #000;
}

.tab-box__border-subdesc {
  font-size: 30px;
  line-height: calc(46 / 30);
  font-weight: 600;
  color: #e60012;
  font-family: "Inter", sans-serif;
  margin-top: 16px;
}

.tab-box__border-box01 {
  width: calc(100% - 60px);
  margin-inline: auto;
  margin-top: 30px;
}

.tab-box__border-box01 img {
  width: 100%;
  height: auto;
}

.tab-box__border-panel {
  margin-top: 30px;
  width: calc(100% - 60px);
  margin-inline: auto;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}

.tab-box__border-top {
  font-size: 34px;
  line-height: calc(47 / 34);
  font-weight: 600;
  color: #fff;
  text-align: center;
  background: #0095fa;
  padding-block: 15px 8px;
  position: relative;
  z-index: 1;
  border-radius: 20px 20px 0 0;
}

.tab-box__border-top::before {
  content: "";
  width: 80px;
  height: auto;
  aspect-ratio: 80/32;
  background: #0095fa;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  top: 62px;
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
}

.tab-box__border-bottom {
  padding: 47px 30px 27px;
}

.tab-box__border-bottom p {
  font-size: 24px;
  line-height: calc(36 / 24);
  font-weight: 500;
  color: #005bac;
  font-family: "Inter", sans-serif;
  text-align: center;
}

.tab-box__border-foot {
  background: #005bac;
  color: #fff;
  text-align: center;
  border-radius: 0 0 20px 20px;
  padding-block: 23px;
}

.tab-box__border-foot p {
  font-size: 30px;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  color: #fff;
}

.tab-box__banner {
  margin-top: 20px;
}

.tab-box__banner img {
  width: 100%;
  height: auto;
}

.tab-box__banner.mt40 {
  margin-top: 40px;
}

.box02 .tab-box__go-dash {
  width: 92%;
  margin-inline: auto;
}
