@charset 'UTF-8';

/* #####################################################
 * common.css
 * - Core
 * - Layout
 * - Modules
 * - Pages
 * ################################################## */

/* -----------------------------------------------------
 * Font
 * -------------------------------------------------- */

@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 300;
  font-style: normal;
  src: url(../font/NotoSansCJKjp-DemiLight.woff2) format('woff2'), url(../font/NotoSansCJKjp-DemiLight.woff) format('woff'), url(../font/NotoSansCJKjp-DemiLight.otf) format('opentype');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  font-style: normal;
  src: url(../font/NotoSansCJKjp-Regular.woff2) format('woff2'), url(../font/NotoSansCJKjp-Regular.woff) format('woff'), url(../font/NotoSansCJKjp-Regular.otf) format('opentype');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 500;
  font-style: normal;
  src: local('NotoSansJP-Regular.otf'), url(../font/NotoSansCJKjp-Medium.woff2) format('woff2'), url(../font/NotoSansCJKjp-Medium.woff) format('woff'), url(../font/NotoSansCJKjp-Medium.otf) format('opentype');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-style: normal;
  src: url(../font/NotoSansCJKjp-Bold.woff2) format('woff2'), url(../font/NotoSansCJKjp-Bold.woff) format('woff'), url(../font/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*
#colors
*/

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@-webkit-keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@-webkit-keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@-webkit-keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@-webkit-keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/* =====================================================
 * Base
 * ================================================== */

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  cursor: pointer;
  -webkit-appearance: button;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input {
  line-height: normal;
}

input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}

input[type='search'] {
  box-sizing: content-box;
  -webkit-appearance: textfield;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  border: 1px solid #c0c0c0;
}

legend {
  padding: 0;
  border: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* -----------------------------------------------------
 * Init Base
 * -------------------------------------------------- */

*,
*:before,
*:after {
  box-sizing: border-box;
}

/* normalize overwrite */

html {
  position: relative;
  min-height: 100%;
  font-family: 'Noto Sans JP', Meiryo, sans-serif;
  font-size: 62.5%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #bbb;
  color: #000;
  font-size: 1.6rem;
  line-height: 1.2;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

a {
  color: #2196f3;
  text-decoration: none;
}

a:visited {
  color: #2196f3;
}

a:hover {
  color: #6ab8f7;
}

a:active,
a:focus {
  color: #2196f3;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li,
figure,
figcaption,
small {
  margin: 0;
  font-size: 100%;
  font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
}

img {
  vertical-align: bottom;
}

ul {
  list-style-type: none;
  padding: 0;
}

ol {
  padding: 0;
}

th {
  font-weight: normal;
  text-align: left;
}

/* =====================================================
 * Module
 * ================================================== */

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * Base customized
 */

body.is-menu-open,
body.is-modal-open {
  overflow: hidden;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * Alignment classes
 */

.is-align-left {
  text-align: left !important;
}

.is-align-center {
  text-align: center !important;
}

.is-align-right {
  text-align: right !important;
}

/**
 * Status
 */

.check-media {
  display: block;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * mod-box
 */

.mod-box-1 {
  margin: 3.46667vw 0 0;
  padding: 3.33333vw 3.33333vw 3.06667vw;
  border: 0.26667vw solid #3587f6;
  border-radius: 0.53333vw;
}

.mod-box-1 > *:first-child {
  margin-top: 0 !important;
}

.mod-box-2 {
  margin: 4.26667vw 0 0;
  padding: 4.53333vw 5.06667vw 4.26667vw;
  background: #f3f3f3;
}

.mod-box-2 dl {
  margin: 2.93333vw 0 0;
  padding: 2.66667vw 0 0;
  border-top: 0.26667vw dotted #3587f6;
}

.mod-box-2 dl:first-child {
  margin: 0;
  padding: 0;
  border: none;
}

.mod-box-2 dl dt {
  color: #3587f6;
  font-size: 4vw !important;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: -0.05em;
}

.mod-box-2 dl dt span {
  color: #000;
}

.mod-box-2 dl dd {
  margin: 1.06667vw 0 0;
  font-size: 3.2vw !important;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: -0.05em !important;
}

.mod-box-3 {
  padding: 2.66667vw 4vw 6.66667vw;
  background: #fff;
}

.mod-box-4 {
  border: 0.2vw solid #d8eaf8;
  background: #e1edfd;
}

.mod-box-vers { /* add0813 */
  margin: 4.26667vw 0 0;
  padding: 4.53333vw 5.06667vw 4.26667vw;
  background: #f3f3f3;
}
.mod-box-vers dl { /* add0813 */
  margin: 2.93333vw 0 0;
  padding: 2.66667vw 0 0;
  border-top: 0.26667vw dotted #3587f6;
}
.mod-box-vers dl:first-child { /* add0813 */
  margin: 0;
  padding: 0;
  border: none;
}
.mod-box-vers dl dt { /* add0813 */
  color: #3587f6;
  font-size: 4vw !important;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: -0.05em;
}
.mod-box-vers dl dt span { /* add0813 */
  color: #000;
}
.mod-box-vers dl dd { /* add0813 */
  margin: 1.06667vw 0 0;
  font-size: 3.2vw !important;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: -0.05em !important;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * link-keyword
 */

.mod-link-list {
  margin: 3.46667vw 0 0;
}

.mod-link-list ul {
  list-style: none;
}

.mod-link-list ul li {
  display: block;
  padding: 0 0 0 3.73333vw;
}

.mod-link-list ul li a {
  display: inline-block;
  position: relative;
  padding: 0 0 1.06667vw;
  border-bottom: 0.13333vw solid #3587f6;
  color: #3587f6;
  font-size: 3.2vw;
  font-weight: 400;
}

.mod-link-list ul li a:before {
  content: '●';
  display: block;
  position: absolute;
  top: 0;
  left: -3.73333vw;
  color: #3587f6;
  font-size: 3.2vw;
  font-weight: 400;
}

/**
 * link-keyword
 */

.mod-link-keyword {
  position: relative; /* add0824CB */
  border-bottom: 1px solid #3587f6;
}

/**
 * link-button
 */

.mod-link-button {
  margin: 8vw 0 0;
}

.mod-link-button a {
  display: block;
  position: relative;
  padding: 1.6vw 4.53333vw 1.6vw 1.6vw;
  border: 0.26667vw solid #3587f6;
  border-radius: 0.53333vw;
  background: #fff;
  color: #3587f6;
  font-size: 4vw;
  line-height: 1.9;
  text-align: center;
  letter-spacing: -0.05em;
}

.mod-link-button a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.26667vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -1.6vw 0 0;
  background-image: url(../image/ico_arrow_right_02.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.mod-link-button.prev {
  margin: 6.66667vw 0 0;
}

.mod-link-button.prev a {
  padding: 1.6vw 1.6vw 1.6vw 4.53333vw;
  border-color: #999;
  color: #666;
}

.mod-link-button.prev a:after {
  right: auto;
  left: 2.26667vw;
  background-image: url(../image/ico_arrow_right_03.png);
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.mod-link-button.prev-blue {
  margin: 0;
}

.page-qa-detail .mod-link-button.prev-blue {
  margin: -1.33333vw 0 6.66667vw;
}

.page-word-detail .mod-link-button.prev-blue {
  margin: -1.33333vw 0 0;
}

.mod-link-button.prev-blue a {
  padding: 1.6vw 1.6vw 1.6vw 4.53333vw;
  background: #3587f6;
  color: #fff;
}

.mod-link-button.prev-blue a:after {
  right: auto;
  left: 2.26667vw;
  background-image: url(../image/ico_arrow_right_01.png);
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.mod-link-button.inner {
  text-align: center;
}

.mod-link-button.inner a {
  display: inline-block;
  min-width: 55.33333vw;
  padding: 1.6vw 4.53333vw 1.6vw 1.6vw;
  border: none;
  background: #3587f6;
  color: #fff;
}

.mod-link-button.inner a:after {
  right: 2.66667vw;
  width: 3.33333vw;
  height: 2vw;
  margin: -0.93333vw 0 0;
  background-image: url(../image/ico_arrow_down_02.png);
}

.mod-link-button.inner-prev {
  margin-top: 5.33333vw;
}

.mod-link-button.inner-prev a {
  font-size: 3.46667vw;
}

.mod-link-button.inner-prev a:after {
  width: 3.46667vw;
  height: 2.13333vw;
  margin: -1.06667vw 0 0;
  background-image: url(../image/ico_arrow_down_01.png);
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

/* =====================================================
 * Layout
 * ================================================== */

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * Header module
 */

.l-header {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 12.13333vw;
  border-bottom: 0.26667vw solid #3587f6;
  background: white;
  transition: background-color 0.2s ease-in-out;
}

.is-menu-open .l-header {
  background: #3587f6 !important;
}

.home .l-header {
  border-bottom: 0.26667vw solid rgba(53, 135, 246, 0);
  background: rgba(255, 255, 255, 0.4);
  transition: all 0.5s ease-in-out;
}

.is-scroll .l-header {
  border-color: #3587f6;
  background: white;
}

.l-header-inner {
  position: relative;
  padding: 1px 0 0;
}

.l-header-logo {
  position: absolute;
  z-index: 2;
  top: 2.13333vw;
  left: 2.93333vw;
  width: 24vw;
  height: 7.46667vw;
}

.l-header-logo a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.l-header-logo a:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24.26667vw;
  height: 7.6vw;
  background: url(../image/logo_jikan_03.png) no-repeat 0 0;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

/* del0824CB
.is-menu-open .l-header-logo a {
  pointer-events: none;
}
*/

.is-menu-open .l-header-logo a:before {
  opacity: 1;
}

.l-header-logo a img {
  width: 100%;
  height: auto;
}

.l-header-toggle {
  outline: none;
  position: absolute;
  z-index: 2;
  top: 2.13333vw;
  right: 2.4vw;
  overflow: hidden;
  box-sizing: border-box;
  width: 7.73333vw;
  height: 7.73333vw;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background-image: url(../image/ico_menu_open_01.png), url(../image/ico_menu_close_01.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 7.73333vw, 0;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  transition: background-size 0.2s ease-in-out;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-header-toggle::-ms-clear {
  display: none;
}

.l-header-toggle::-ms-reveal {
  display: none;
}

.l-header-toggle::-ms-expand {
  display: none;
}

.is-menu-open .l-header-toggle {
  background-size: 0, 4vw;
}

.l-header-menu {
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 12vw 0 0;
}

.is-menu-open .l-header-menu {
  display: block;
}

.l-header-menu-inner {
  overflow: scroll;
  height: 100%;
  background-color: #f4f4f4;
}

.l-header-nav {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  background: #f4f4f4;
}

.is-menu-open .l-header-nav {
  display: block;
  height: auto;
  padding: 0 0 1px;
}

.l-header-nav-heading {
  display: flex;
  align-items: center;
  height: 11.46667vw;
  padding: 0 5.06667vw;
  background: #e1edfd;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 700;
}

.l-header-nav-lesson {
  padding: 0 2.66667vw;
  background: #f4f4f4;
}

.l-header-nav-lesson li {
  display: block;
  border-top: 0.26667vw solid #ccc;
}

.l-header-nav-lesson li:first-child {
  border: none;
}

.l-header-nav-lesson a {
  display: block;
  position: relative;
  padding: 3.2vw 2.66667vw 3.46667vw;
  color: #000;
  font-size: 4.53333vw;
  font-weight: 300;
  line-height: 1.4;
}

.l-header-nav-lesson a:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 2vw;
  height: 3.33333vw;
  margin: -1.6vw 0 0;
  background: url(../image/ico_arrow_right_02.png) no-repeat 0 0;
  background-size: contain;
}

.l-header-nav-lesson a br {
  display: none;
}

.l-header-nav-lesson a span {
  display: block;
  color: #3587f6;
  font-size: 3.46667vw;
  font-weight: 700;
  letter-spacing: 0.075em;
}

.l-header-nav-more {
  display: flex;
  align-items: center;
  height: 11.46667vw;
  padding: 0 5.06667vw;
  background: #e1edfd;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 700;
}

.l-header-nav-more a {
  pointer-events: none;
}

.l-header-nav-more-link {
  padding: 0 2.66667vw;
  background: #f4f4f4;
}

.l-header-nav-more-link li {
  display: block;
  border-bottom: 0.26667vw solid #ccc;
}

.l-header-nav-more-link a {
  display: block;
  position: relative;
  padding: 3.2vw 2.66667vw 3.46667vw;
  color: #000;
  font-size: 4.53333vw;
  font-weight: 300;
  line-height: 1.4;
}

.l-header-nav-more-link a:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 2vw;
  height: 3.33333vw;
  margin: -1.6vw 0 0;
  background: url(../image/ico_arrow_right_02.png) no-repeat 0 0;
  background-size: contain;
}

.l-header-nav-more-link a br {
  display: none;
}

.l-header-nav-more-link a span {
  display: block;
  color: #3587f6;
  font-size: 3.46667vw;
  font-weight: 700;
  letter-spacing: 0.075em;
}

.l-header-logo-jsda {
  display: none;
}

.is-menu-open .l-header-logo-jsda {
  display: block;
  margin: -0.13333vw 0 0;
  padding: 6.66667vw 5.33333vw 0.13333vw;
  background: #f4f4f4;
}

.is-menu-open .l-header-logo-jsda a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16vw;
  background: #fff;
}

.is-menu-open .l-header-logo-jsda img {
  width: 51.6vw;
  height: 11.06667vw;
}

.l-header-search {
  position: relative;
}

.l-header-search-toggle {
  outline: none;
  position: absolute;
  top: 2.93333vw;
  right: 12.4vw;
  box-sizing: border-box;
  width: 6.8vw;
  height: 6.93333vw;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background-image: url(../image/ico_search_01.png), url(../image/ico_menu_close_03.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 6.8vw 6.93333vw, 0 0;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  transition: background-size 0.2s ease-in-out;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-header-search-toggle::-ms-clear {
  display: none;
}

.l-header-search-toggle::-ms-reveal {
  display: none;
}

.l-header-search-toggle::-ms-expand {
  display: none;
}

.is-search-open .l-header-search-toggle {
  background-size: 0 0, 4vw 4vw;
}

.l-header-search #jsda_header_search {
  display: none;
  position: absolute;
  top: 12.26667vw;
  left: 0;
  width: 100%;
  height: 18.66667vw;
  padding: 4.53333vw 5.33333vw;
  background: rgba(120, 120, 120, 0.4);
}

.l-header-search #jsda_header_search form {
  width: 100%;
  height: 100%;
}

.is-search-open .l-header-search #jsda_header_search {
  display: block;
}

.l-header-search #jsda_entry {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
}

.is-search-open .l-header-search #jsda_entry {
  display: block;
}

.l-header-search-input {
  outline: none;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  padding: 0 7.2vw 0 3.2vw;
  border: 0;
  border: 1px solid #3587f6;
  border-radius: 0;
  border-radius: 0.53333vw;
  background: none transparent;
  background: #fff !important;
  color: inherit;
  font-size: inherit;
  font-size: 5.46667vw;
  vertical-align: middle;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-header-search-input::-ms-clear {
  display: none;
}

.l-header-search-input::-ms-reveal {
  display: none;
}

.l-header-search-input::-ms-expand {
  display: none;
}

.l-header-search-input:placeholder-shown {
  color: #999;
}

.l-header-search-input::-webkit-input-placeholder {
  color: #999;
}

.l-header-search-input:-moz-placeholder {
  opacity: 1;
  color: #999;
}

.l-header-search-input::-moz-placeholder {
  opacity: 1;
  color: #999;
}

.l-header-search-input:-ms-input-placeholder {
  color: #999;
}

.l-header-search-btn {
  outline: none;
  position: absolute;
  top: 50%;
  right: 5.06667vw;
  width: 4.93333vw;
  height: 4.93333vw;
  margin: -2.4vw;
}

.is-menu-open .l-header-search {
  display: none;
}

.l-header-close {
  display: none;
}

.l-header-close button {
  outline: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-header-close button::-ms-clear {
  display: none;
}

.l-header-close button::-ms-reveal {
  display: none;
}

.l-header-close button::-ms-expand {
  display: none;
}

.is-menu-open .l-header-close {
  display: block;
  margin: -1px 0 0;
  padding: 6.66667vw 0;
  background: #f4f4f4;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 300;
  text-align: center;
}

.is-menu-open .l-header-close button {
  display: inline-block;
}

.is-menu-open .l-header-close button:after {
  content: '';
  display: inline-block;
  width: 3.33333vw;
  height: 4vw;
  margin: 1.06667vw 0 0 0.66667vw;
  background: url(../image/ico_menu_close_02.png) no-repeat 0 0;
  background-size: contain;
  vertical-align: top;
}

#bizasarchAspSuggest {
  background: rgba(255, 255, 255, 0.5);
}

#bizasarchAspSuggest li {
  padding: 1.33333vw 2.66667vw;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * Footer module
 */

.l-footer {
  position: relative;
  z-index: 5;
  background: #f3f3f3;
}

.l-footer-inner {
  padding: 9.33333vw 0;
}

.l-footer-inner .text {
  display: block;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.02em;
}

.l-footer-inner .link {
  display: block;
  margin: 4vw 0 0;
  text-align: center;
}

.l-footer-inner .link a {
  display: inline-flex;
  position: relative;
  justify-content: center;
  align-items: center;
  width: 70.66667vw;
  height: 10.8vw;
  border-radius: 0.53333vw;
  background: #3587f6;
  color: #fff;
  font-size: 4vw;
  font-weight: 300;
}

.l-footer-inner .link a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.53333vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -1.73333vw 0 0;
  background: url(../image/ico_arrow_right_01.png) no-repeat 0 0;
  background-size: contain;
}

.l-footer-nav {
  margin: 3.2vw 0 0;
  text-align: center;
  letter-spacing: -0.4em;
}

.l-footer-nav > * {
  letter-spacing: normal;
}

.l-footer-nav li {
  display: inline-block;
  margin: 3.73333vw 0 0;
  font-size: 3.2vw;
  font-weight: 300;
}

.l-footer-nav li:before {
  content: '｜';
  display: inline-block;
  margin: 0 1.06667vw 0 0;
  color: #999;
  font-weight: bold;
}

.l-footer-nav li a {
  color: #000;
}

.l-footer-nav li:first-child:before,
.l-footer-nav li:nth-child(3):before {
  display: none;
}

.l-footer-nav li:first-child {
  margin-left: 5.33333vw;
}

.l-footer-nav li:nth-child(2) {
  margin-right: 5.33333vw;
}

.l-footer-pagetop {
  display: block;
  position: fixed;
  z-index: 99;
  right: 2.66667vw;
  bottom: 2.66667vw;
  width: 12vw;
  height: 12vw;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translateY(66.66667vw);
  transform: translateY(66.66667vw);
}

.l-footer-pagetop a {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: url(../image/ico_pagetop_01.png) no-repeat 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.is-pagetop-active .l-footer-pagetop {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.is-pagetop-fixed .l-footer-pagetop {
  bottom: 10.66667vw;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.l-footer-copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 14.13333vw;
  background: #3587f6;
  color: #fff;
  font-size: 2.66667vw;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

.l-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.l-contents {
  z-index: 3;
  flex-grow: 1;
  min-width: 320px;
  padding: 12vw 0 0;
  background-color: #fff;
}

.l-contents .ico-new {  /* add20201110 */
  height: 1.4em;
}

.home .l-contents {
  padding: 0;
}

.l-contents section {
  margin: 7.33333vw 0 0;
  padding: 0 5.33333vw 0;
}

.l-contents .section-inner {
  padding: 9.33333vw 0 0;
  border-top: 0.26667vw dotted #3587f6;
}

.l-contents .section-inner h2 .heading-inner {
  display: block;
  padding: 0 0 2vw;
  border-bottom: 0.26667vw solid #3587f6;
  font-size: 5.86667vw;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  letter-spacing: -0.1em;
}

.l-contents .section-inner h2 .point {
  display: block;
  overflow: hidden;
  width: 19.2vw;
  height: 19.2vw;
  margin: 0 auto 3.33333vw;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
}

.l-contents .section-inner h2 .point.point-1 {
  background-image: url(../image/ico_point_01.png);
}

.l-contents .section-inner h2 .point.point-2 {
  background-image: url(../image/ico_point_02.png);
}

.l-contents .section-inner h2 .point.point-3 {
  background-image: url(../image/ico_point_03.png);
}

.l-contents .section-inner h2 .point.point-4 {
  background-image: url(../image/ico_point_04.png);
}

.l-contents .section-inner h2 + h3.heading-band {
  margin: 30px 0 0;
}

.l-contents .section-inner h3 {
  display: flex;
  align-items: center;
  margin: 5.33333vw 0 0;
  color: #3587f6;
  font-size: 5.33333vw;
  font-weight: 300;
  letter-spacing: -0.075em;
}

.l-contents .section-inner h3 .number {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 12vw;
  height: 12vw;
  margin: 0 2.66667vw 0 0;
  padding: 0 0 0.66667vw;
  border-radius: 50%;
  background: #3587f6;
  color: #fff;
  font-size: 6.66667vw;
  font-weight: 300;
}

.l-contents .section-inner h3 .cause {
  display: inline-block;
  overflow: hidden;
  width: 12vw;
  min-width: 12vw;
  height: 12vw;
  margin: 0 2.66667vw 0 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
}

.l-contents .section-inner h3 .cause.cause-1 {
  background-image: url(../image/ico_cause_01.png);
}

.l-contents .section-inner h3 .cause.cause-2 {
  background-image: url(../image/ico_cause_02.png);
}

.l-contents .section-inner h3 .sup {
  padding: 0.93333vw 0 0;
  color: #000;
  font-size: 3.73333vw;
}

.l-contents .section-inner h3.heading-band {
  display: block;
  padding: 2vw 0.66667vw;
  background: #3587f6;
  color: #fff;
  font-size: 4.8vw;
  line-height: 1.4;
  text-align: center;
}

.l-contents .section-inner h3.double {
  display: block;
  position: relative;
  margin: 6.66667vw 0 0;
  padding: 0 0 0 3.2vw;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 500;
}

.l-contents .section-inner h3.double:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0.8vw;
  height: 100%;
  border-right: 0.26667vw solid #3587f6;
  border-left: 0.26667vw solid #3587f6;
}

.l-contents .section-inner h3.double span {
  font-size: 2.4vw;
}

.l-contents .section-inner p {
  margin: 2.66667vw 0 0;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.7;
  text-align: justify;
}
.l-contents .page-vers .section-inner a.linkline { /* add0813 */
  text-decoration: underline;
  transition: opacity 0.2s ease-in-out;
}
.l-contents .page-vers .section-inner a.linkline:hover { /* add0813 */
  opacity: 0.7;
  text-decoration: none;
}

.l-contents .page-vers .section-inner h4 { /* add0813 */
  position: relative;
  margin: 4.26667vw 0 0;
  padding: 0 0 0 3.33333vw;
  border: none;
  color: #3587f6;
  font-size: 4.8vw;
  line-height: 1.4;
}
.l-contents .page-vers .section-inner h4:before { /* add0813 */
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 0.93333vw;
  height: 100%;
  border-right: 0.26667vw solid #3587f6;
  border-left: 0.26667vw solid #3587f6;
}

.l-contents .section-inner p cite {
  font-size: 2.93333vw;
  font-style: normal;
}

.l-contents .section-inner p.indent {
  text-indent: 1em;
}

.l-contents .section-inner figure {
  margin: 2.66667vw 0 0;
  text-align: center;
}

.l-contents .section-inner figure img {
  max-width: 100%;
}

.l-contents .section-inner figure figcaption {
  display: block;
  margin: 2.13333vw 0 0 !important;
  font-size: 2.93333vw;
  font-weight: 300;
  line-height: 1.4;
  text-align: left;
}

.l-contents .section-inner dl dt {
  color: #3587f6;
  font-size: 3.73333vw;
  font-weight: 300;
}

.l-contents .section-inner dl dd {
  margin: 1.6vw 0 0;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.l-contents .section-inner .note {
  display: block;
  margin: 2.13333vw 0 0 !important;
  padding: 0 0 0 1em;
  font-size: 2.93333vw;
  font-weight: 300;
  line-height: 1.4;
  text-indent: -1em;
}

.l-contents .section-inner .summary {
  font-size: 4vw;
  line-height: 1.7;
  text-align: center;
  letter-spacing: -0.05em;
}

.l-contents .section-inner .summary strong {
  color: #3587f6;
  font-weight: 300;
}

.l-contents .section-inner .namely {
  color: #3587f6;
  font-size: 4vw;
  font-weight: 300;
  line-height: 1.5;
}

.l-contents .section-inner .lead-next {
  font-size: 4vw;
  letter-spacing: -0.05em;
}

.l-contents .section-inner .list-image {
  width: 54.93333vw;
  margin: 4vw auto 0;
  padding: 0 0 1.33333vw;
}

.l-contents .section-inner .list-image li {
  display: block;
  width: 100%;
  height: 54.8vw;
  margin: 7.46667vw 0 0;
}

.l-contents .section-inner .list-image li:first-child {
  margin: 0;
}

.l-contents .section-inner .list-image li img {
  width: 100%;
  height: 100%;
}

.l-contents .section-inner .list-box li {
  display: block;
  margin: 2.66667vw 0 0;
  padding: 3.2vw 4.26667vw 2.93333vw;
  border: 0.26667vw solid #3587f6;
  border-radius: 0.53333vw;
}

.l-contents .section-inner .list-box .title {
  display: block;
  color: #3587f6;
  font-size: 5.06667vw;
  font-weight: 300;
  text-align: center;
}

.l-contents .section-inner .list-box .text {
  display: block;
  margin: 0.8vw 0 0;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.7;
  text-align: justify;
}

.l-contents .page-lesson5 .section-inner .list-image.list2 {
  width: 60vw;
}

.l-contents .page-word-detail h2 .heading-inner,
.l-contents .page-vers h2 .heading-inner { /* add0815 */
  white-space:normal;
}

.l-contents .page-proverb h2 {
  text-align: center;
}

.l-contents .page-proverb h2 .heading-inner {
  display: inline-block;
  padding: 0 3.2vw 1.33333vw;
  border-bottom-width: 0.8vw;
}

.l-contents .page-proverb h2 + p {
  margin: 6.66667vw 0 0;
}

.l-contents .page-proverb p {
  margin: 10.66667vw 0 0;
  line-height: 1.5;
}

.l-contents .page-proverb p:last-child { /* add0813 */
  padding-bottom: 60px;
}

.l-contents .page-proverb table,
.l-contents .page-qa-detail table, /* add0822 */
.l-contents .page-vers table, /* add0813 */
.l-contents .page-vers table.bl { /* add0821 */
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 5.33333vw 0 0;
}

.l-contents .page-proverb table caption {
  display: block;
  order: 2;
  width: 100%;
  margin: 2vw 0 0;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.5;
  text-align: left;
  text-indent: 1em;
}

.l-contents .page-proverb table tbody,
.l-contents .page-qa-detail table tbody, /* add0822 */
.l-contents .page-vers table tbody { /* add0813 */
  display: table;
  table-layout: fixed;
  order: 1;
  width: 100%;
  border-top: 0.2vw solid #ccc;
  border-left: 0.2vw solid #ccc;
  background: #f3f3f3;
}
.l-contents .page-vers table.bl tbody { /* add0821 */
  display: table;
  table-layout: fixed;
  order: 1;
  width: 100%;
  border-top: 0.2vw solid #3587f6;
  border-left: 0.2vw solid #3587f6;
  background: #fff;
}

.l-contents .page-proverb table td {
  width: 33.3%;
  padding: 2vw 1.33333vw;
  border-right: 0.2vw solid #ccc;
  border-bottom: 0.2vw solid #ccc;
  font-size: 3.73333vw;
  font-weight: 400;
  text-align: center;
}
.l-contents .page-qa-detail table td, /* add0822 */
.l-contents .page-vers table td { /* add0813 */
  padding: 2vw 1.33333vw;
  border-right: 0.2vw solid #ccc;
  border-bottom: 0.2vw solid #ccc;
  font-size: 3.73333vw;
  text-align: center;
}
.l-contents .page-vers table.bl td { /* add0821 */
  padding: 2vw 1.33333vw;
  border-right: 0.2vw solid #3587f6;
  border-bottom: 0.2vw solid #3587f6;
  font-size: 3.73333vw;
  text-align: center;
}

.l-contents .page-qa-detail table.alignL td { /* add0822 */
  text-align: left;
}
.l-contents .page-qa-detail table.alignL td:first-child { /* add0822 */
  width: 35%;
}
.l-contents .page-qa-detail table.alignL td.eyeCatch { /* add0822 */
  width: 28%;
  font-size: 3.8vw;
  color: #E95532;
}
.l-contents .page-qa-detail table.alignL.col2 td .eyeCatch { /* add0823 */
  font-size: 3.5vw;
  font-weight: 500;
  color: #E95532;
}
.l-contents .page-qa-detail table.alignL.col2 td span.padding { /* add0823 */
  display: inline-block;
  padding: 0.2em 0 0.2em 1.5em;
}

.l-contents .page-proverb p.note { /* add0815 */
  font-size: 0.9em;
}

.l-contents .page-proverb ol {
  counter-reset: ol-item;
  list-style-type: none;
  padding: 0 0 0 8vw;
}
.l-contents .page-proverb ol.dn { /* add0815 */
  padding-bottom: 1.2em;
}

.l-contents .page-proverb ol > li {
  position: relative;
  margin: 10.66667vw 0 0;
}
.l-contents .page-proverb ol.dn > li { /* add0815 */
  margin: 1.2em 0 0;
}

.l-contents .page-proverb ol > li:first-child {
  margin: 0;
}

.l-contents .page-proverb ol > li:before {
  content: counter(ol-item) '.';
  counter-increment: ol-item;
  position: absolute;
  top: 0;
  left: -8vw;
}

.l-contents .page-proverb ol li {
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.7;
}

.l-contents .page-proverb ol ul li {
  padding-left: 1em;
  text-indent: -1em;
}

.l-contents .page-proverb ol ul li:before {
  content: '・';
}

.l-column.right-image figure {
  width: 36.53333vw;
  margin: 5.33333vw auto 0;
}

.l-column.right-image figure img {
  width: 100%;
}

.l-column.right-image .l-column-inner p {
  margin: 4.26667vw 0 0;
}

.l-column.right-image .l-column-inner .list-word {
  margin: 5.33333vw 0 0;
}

.l-column.right-image .l-column-inner .list-word li {
  display: flex;
  align-items: flex-start;
  margin: 2.66667vw 0 0;
}

.l-column.right-image .l-column-inner .list-word .word {
  display: block;
  margin: 0 2.13333vw 0 0;
  padding: 0.53333vw 2vw 0.8vw;
  border: 2px solid #3587f6;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 300;
  letter-spacing: -0.05em;
}

.l-column.right-image .l-column-inner .list-word .text {
  display: block;
  flex: 1;
  padding: 0.53333vw 0 0;
  font-size: 3.73333vw;
  line-height: 1.5;
  letter-spacing: -0.075em;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * Modal module
 */

.l-modal {
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  padding: 17.33333vw 5.33333vw;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-overflow-scrolling: touch;
}

.is-modal-open .l-modal {
  display: block;
  opacity: 1;
  -webkit-animation: fade-in 0.3s ease-in-out;
  animation: fade-in 0.3s ease-in-out;
}

.is-modal-close .l-modal {
  opacity: 0;
  -webkit-animation: fade-out 0.2s ease-in-out;
  animation: fade-out 0.2s ease-in-out;
}

.l-modal-inner {
  display: none;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 6.66667vw 5.33333vw;
  background: #fff;
}

.l-modal-close {
  outline: none;
  position: absolute;
  top: 2.66667vw;
  right: 2.66667vw;
  overflow: hidden;
  box-sizing: border-box;
  width: 6.26667vw;
  height: 6.26667vw;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background: url(../image/ico_modal_close_01.png) no-repeat 0 0;
  background-size: contain;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-modal-close::-ms-clear {
  display: none;
}

.l-modal-close::-ms-reveal {
  display: none;
}

.l-modal-close::-ms-expand {
  display: none;
}

.l-modal-close-bottom {
  outline: none;
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 41.33333vw;
  height: 10.66667vw;
  margin: 0;
  margin: 6.66667vw auto 0;
  padding: 0;
  padding: 0 4vw 0 1.33333vw;
  border: 0;
  border: 0.26667vw solid #3587f6;
  border-radius: 0;
  border-radius: 0.53333vw;
  background: none transparent;
  color: inherit;
  color: #3587f6;
  font-size: inherit;
  font-size: 4vw;
  font-weight: 300;
  text-align: center;
  vertical-align: middle;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.l-modal-close-bottom::-ms-clear {
  display: none;
}

.l-modal-close-bottom::-ms-reveal {
  display: none;
}

.l-modal-close-bottom::-ms-expand {
  display: none;
}

.l-modal-close-bottom:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 3.06667vw;
  height: 3.06667vw;
  margin: -1.46667vw 0 0;
  background: url(../image/ico_modal_close_02.png) no-repeat 0 0;
  background-size: contain;
}

.l-modal h2 {
  padding: 0 0 1.6vw;
  border-bottom: 0.26667vw solid #3587f6;
  color: #3587f6;
  font-size: 5.33333vw;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
}

.l-modal figure {
  margin: 6.13333vw 0 0;
}

.l-modal figure img {
  max-width: 100%;
}

.l-modal p {
  margin: 4.26667vw 0 0;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: -0.05em;
}

.l-modal .list-index {
  list-style: none;
}

.l-modal .list-index > li {
  margin: 3.73333vw 0 0;
}

.l-modal .list-index > li:first-child {
  margin: 0;
}

.l-modal .list-index .title {
  display: block;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 300;
  line-height: 1.8;
}

.l-modal .list-index ul {
  margin: 1.33333vw 0 0;
}

.l-modal .list-index ul li {
  margin: 0.53333vw 0 0;
  padding-left: 1em;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.7;
  text-indent: -1em;
}

.l-modal .list-index ul li:before {
  content: '○';
  color: #3587f6;
}

/* =====================================================
 * Block
 * ================================================== */

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-kv
 */

.block-kv {
  height: 42.66667vw;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

.block-kv-inner {
  position: relative;
  height: 100%;
}

.block-kv h1 {
  position: absolute;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
}

.page-lesson1 .block-kv {
  background-image: url(../image/lesson1/bg_kv_01_sp.jpg);
}

.page-lesson1 .block-kv h1 {
  top: 6.4vw;
  left: 39.86667vw;
  width: 41.46667vw;
  height: 29.6vw;
  background-image: url(../image/lesson1/ttl_kv_01_sp.png);
}

.page-lesson2 .block-kv {
  background-image: url(../image/lesson2/bg_kv_01_sp.jpg);
}

.page-lesson2 .block-kv h1 {
  top: 9.2vw;
  left: 5.33333vw;
  width: 52.53333vw;
  height: 21.33333vw;
  background-image: url(../image/lesson2/ttl_kv_01_sp.png);
}

.page-lesson3 .block-kv {
  background-image: url(../image/lesson3/bg_kv_01_sp.jpg);
}

.page-lesson3 .block-kv h1 {
  top: 10.66667vw;
  left: 36.26667vw;
  width: 56.66667vw;
  height: 21.06667vw;
  background-image: url(../image/lesson3/ttl_kv_01_sp.png);
}

.page-lesson5 .block-kv {
  background-image: url(../image/lesson5/bg_kv_01_sp.jpg);
}

.page-lesson5 .block-kv h1 {
  top: 9.06667vw;
  left: 42.66667vw;
  width: 53.2vw;
  height: 21.33333vw;
  background-image: url(../image/lesson5/ttl_kv_01_sp.png);
}

.home .block-kv {
  height: auto;
  background: none;
}

.home .block-kv .block-kv-heading,
.home .block-kv .block-kv-text {
  z-index: 3;
}

.home .block-kv .block-kv-heading {
  top: 26.53333vw;
  left: 50%;
  width: 56.26667vw;
  height: 28.93333vw;
  margin: 0 0 0 -28.13333vw;
  text-indent: 0;
}

.home .block-kv .block-kv-heading img {
  width: 100%;
}

.home .block-kv .block-kv-text {
  display: block;
  position: absolute;
  top: 58.66667vw;
  left: 50%;
  width: 85.73333vw;
  height: 19.73333vw;
  margin: 0 0 0 -42.8vw;
}

.home .block-kv .block-kv-text img {
  width: 100%;
}

.home .block-kv .block-kv-youtube {
  display: none;
  position: relative;
  z-index: 1;
}

.home .block-kv .block-kv-slider {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 126.66667vw;
}

.home .block-kv .block-kv-slider:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(32, 18, 39, 0.12);
  background-size: 0.4vw;
}

.home .block-kv .block-kv-slider .slide {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover, 0;
}

.home .block-kv .slick-list,
.home .block-kv .slick-track {
  height: 100%;
}

.home .block-kv .block-kv-sns ul {
  margin: 4vw 0 0;
  text-align: center;
  letter-spacing: -0.4em;
}

.home .block-kv .block-kv-sns ul > * {
  letter-spacing: normal;
}

.home .block-kv .block-kv-sns ul li {
  display: inline-block;
  margin: 0 0.53333vw;
  vertical-align: top;
}

.home .block-kv .block-kv-pickup {
  margin: 5.86667vw 0 0;
  padding: 0 5.33333vw 4.8vw;
}

.home .block-kv .block-kv-pickup-heading {
  display: block;
  color: #3587f6;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
}

.home .block-kv .block-kv-pickup-slider {
  margin: 3.46667vw 0 0;
}

.home .block-kv .block-kv-pickup-slider .slide a {
  display: block;
}

.home .block-kv .block-kv-pickup-slider .slide img {
  width: 100%;
  border: 1px solid #e4e4e4;
}

.home .block-kv .block-kv-pickup .slick-dots {
  position: absolute;
  bottom: -4.8vw;
  left: 0;
  width: 100%;
  font-size: 0;
  text-align: center;
  letter-spacing: -0.4em;
}

.home .block-kv .block-kv-pickup .slick-dots > * {
  letter-spacing: normal;
}

.home .block-kv .block-kv-pickup .slick-dots li {
  display: inline-block;
  margin: 0 0.93333vw;
}

.home .block-kv .block-kv-pickup .slick-dots li button {
  outline: none;
  overflow: hidden;
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  border-radius: 50%;
  background: none transparent;
  background-color: #ccc;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.home .block-kv .block-kv-pickup .slick-dots li button::-ms-clear {
  display: none;
}

.home .block-kv .block-kv-pickup .slick-dots li button::-ms-reveal {
  display: none;
}

.home .block-kv .block-kv-pickup .slick-dots li button::-ms-expand {
  display: none;
}

.home .block-kv .block-kv-pickup .slick-dots li.slick-active button {
  background-color: #3587f6;
}

.home .block-kv .block-kv-inlink {
  position: absolute;
  z-index: 5;
  top: 80vw;
  left: 0;
  width: 100%;
}

.home .block-kv .block-kv-question {
  position: absolute;
  z-index: 5;
  top: 100vw;
  left: 0;
  overflow: hidden;
  width: 100%;
}

.home .block-kv .block-kv-question-inner {
  width: 1200px;
  margin: 0 auto;
  opacity: 0;
  white-space: nowrap;
  transition: opacity 0.5s ease-in-out;
}

.home .block-kv .block-kv-question-inner.slick-initialized {
  opacity: 1;
  white-space: normal;
}

.home .block-kv .block-kv-question-inner .slick-track {
  margin: 0 0 0 4vw;
}

.home .block-kv .block-kv-question .question {
  display: inline-block;
  margin: 0 0 0 4vw;
  padding: 0 0 0 2.4vw;
}

.home .block-kv .block-kv-question .question a {
  display: block;
  position: relative;
  width: 46.66667vw;
  margin: 2vw 0;
  padding: 2.93333vw 4vw 4.8vw;
  border-radius: 2.66667vw;
  background: #fff;
  box-shadow: 0 0 2vw rgba(0, 0, 0, 0.3);
  color: #000;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.5;
}

.home .block-kv .block-kv-question .question a span {
  display: block;
}

.home .block-kv .block-kv-question .question a:before,
.home .block-kv .block-kv-question .question a:after {
  content: '';
  display: block;
  position: absolute;
}

.home .block-kv .block-kv-question .question a:before {
  bottom: 3.06667vw;
  left: -2.4vw;
  width: 2.93333vw;
  height: 3.46667vw;
  background: url(../image/bg_fukidashi_01.png) no-repeat 50% 0;
  background-size: contain;
}

.home .block-kv .block-kv-question .question a:after {
  right: 2.13333vw;
  bottom: 1.86667vw;
  width: 11.33333vw;
  height: 2.53333vw;
  background: url(../image/ico_check_home_01.png) no-repeat 0 0;
  background-size: contain;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-news
 */

.block-news {
  margin: 7.33333vw 0 0;
  padding: 0 5.33333vw;
}

.block-news-heading {
  color: #999;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
}

.block-news ul {
  margin: 2.13333vw 0 0;
  padding: 3.46667vw 0;
  border-top: 0.26667vw solid #ccc;
  border-bottom: 0.26667vw solid #ccc;
}

.block-news li {
  display: flex;
}

.block-news li .date,
.block-news li .title {
  font-size: 3.2vw;
  font-weight: 300;
}

.block-news li .date {
  width: 17.33333vw;
  margin: 0 2vw 0 0;
  color: #999;
  white-space: nowrap;
  letter-spacing: 0.08em;
}

.block-news li .title {
  flex: 1;
  line-height: 1.41667;
  letter-spacing: 0;
}

.block-news li:not(:first-child) {
  display: none;
}

.block-news ul li a { /* add0813 */
  text-decoration: underline;
}

.block-news ul li a:hover { /* add0813 */
  opacity: 0.7;
  text-decoration: none;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-check
 */

.block-check {
  margin: 7.33333vw 0 0;
  padding: 0 5.33333vw;
}

.block-check-lead {
  display: block;
  font-size: 4.53333vw;
  font-weight: 700;
  text-align: center;
}

.block-check-recommend,
.block-check-qa {
  border-radius: 0.53333vw;
  background: #eae7d9;
}

.block-check-recommend .block-check-content,
.block-check-qa .block-check-content {
  display: block;
  overflow: hidden;
  height: 0;
  padding: 0;
  transition: all 0.3s ease-in-out;
}

.block-check-recommend.is-open .block-check-heading:after,
.block-check-qa.is-open .block-check-heading:after {
  background-size: 0, 3.2vw;
}

.block-check-recommend {
  margin: 4.8vw 0 0;
}

.block-check-recommend .block-check-content .sup {
  position: absolute;
  bottom: 2.66667vw;
  left: 0;
  width: 100%;
  font-size: 3.2vw;
  font-weight: 300;
  text-align: center;
}

.block-check-recommend.is-open .block-check-content {
  height: 63.46667vw;
  padding: 0 0 8vw;
}

.block-check-qa {
  margin: 4vw 0 0;
}

.block-check-qa .mod-link-button {
  width: 62.66667vw;
  margin: 0 auto;
}

.block-check-qa .mod-link-button li {
  margin: 2.66667vw 0 0;
}

.block-check-qa .mod-link-button li:first-child {
  margin: 0;
}

.block-check-qa .mod-link-button a {
  border: none;
  background: #3587f6;
  color: #fff;
}

.block-check-qa .mod-link-button a:after {
  background-image: url(../image/ico_arrow_right_01.png);
}

.block-check-qa.is-open .block-check-content {
  height: 37.33333vw;
  padding: 6.66667vw 0;
}

.block-check-heading {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  height: 10.66667vw;
  border-radius: 0.53333vw;
  background: #3587f6;
  color: #fff;
  font-size: 4vw;
  font-weight: 300;
  text-align: center;
}

.block-check-heading:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 3.2vw;
  height: 3.2vw;
  margin: -1.6vw 0 0;
  background-image: url(../image/ico_plus_01.png), url(../image/ico_minus_01.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 3.2vw, 0;
  transition: background-size 0.2s ease-in-out;
}

.block-check-content {
  display: none;
  position: relative;
}

.block-check-content-inner {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 2.66667vw 2.66667vw;
  opacity: 0;
}

.block-check-content-inner.is-active {
  display: flex;
  position: relative;
  z-index: 10;
  opacity: 1;
  -webkit-animation: fade-in-flex 0.5s ease-in-out forwards;
  animation: fade-in-flex 0.5s ease-in-out forwards;
}

.block-check-content-inner.is-active[id*='a-'] {
  display: block;
}

.block-check-content-inner-slider .slick-slide {
  position: relative;
  z-index: 1;
}

.block-check-content-inner-slider .title {
  text-align: center;
}

.block-check-content-inner-slider a {
  display: block;
  width: 65.33333vw;
  margin: 1.86667vw auto 0;
}

.block-check-content-inner-slider a img {
  width: 100%;
  border-radius: 0.53333vw;
}

.block-check-content-inner-slider .slick-arrow {
  outline: none;
  position: absolute;
  z-index: 3;
  top: 14.66667vw;
  overflow: hidden;
  box-sizing: border-box;
  width: 3.73333vw;
  height: 6.66667vw;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background: url(../image/ico_arrow_right_04.png) no-repeat 50% 50%;
  background-size: 70%;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.block-check-content-inner-slider .slick-arrow::-ms-clear {
  display: none;
}

.block-check-content-inner-slider .slick-arrow::-ms-reveal {
  display: none;
}

.block-check-content-inner-slider .slick-arrow::-ms-expand {
  display: none;
}

.block-check-content-inner-slider .slick-prev {
  left: 0;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.block-check-content-inner-slider .slick-next {
  right: 0;
}

.block-check-content-inner-slider .slick-dots {
  position: absolute;
  bottom: -5.06667vw;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: -0.4em;
}

.block-check-content-inner-slider .slick-dots > * {
  letter-spacing: normal;
}

.block-check-content-inner-slider .slick-dots li {
  display: inline-block;
  width: 2vw;
  height: 2vw;
  margin: 0 0.93333vw;
}

.block-check-content-inner-slider .slick-dots li button {
  outline: none;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  border-radius: 50%;
  background: none transparent;
  background: #ccc;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.block-check-content-inner-slider .slick-dots li button::-ms-clear {
  display: none;
}

.block-check-content-inner-slider .slick-dots li button::-ms-reveal {
  display: none;
}

.block-check-content-inner-slider .slick-dots li button::-ms-expand {
  display: none;
}

.block-check-content-inner-slider .slick-dots li.slick-active button {
  background: #3587f6;
}

.block-check-content .label {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%;
}

.block-check-content .label.q1,
.block-check-content .label.q2,
.block-check-content .label.q3,
.block-check-content .label.recommend {
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.block-check-content .label.q1,
.block-check-content .label.q2,
.block-check-content .label.q3 {
  width: 10vw;
  height: 10vw;
  min-height: 10vw;
}

.block-check-content .label.q1 {
  background-image: url(../image/label_q_01.png);
}

.block-check-content .label.q2 {
  background-image: url(../image/label_q_02.png);
}

.block-check-content .label.q3 {
  background-image: url(../image/label_q_03.png);
}

.block-check-content .label.recommend {
  width: 43.33333vw;
  height: 10vw;
  margin: 6.93333vw auto 0;
  background-image: url(../image/label_recommend_01.png);
}

.block-check-content .question,
.block-check-content .title {
  display: block;
  margin: 1.6vw 0 0;
  font-size: 3.46667vw;
  font-weight: 300;
  letter-spacing: -0.05em;
}

.block-check-content .answer {
  width: 100%;
  margin: 0 -1.33333vw;
  text-align: center;
  letter-spacing: -0.4em;
}

.block-check-content .answer > * {
  letter-spacing: normal;
}

.block-check-content .answer li {
  display: inline-block;
  min-width: 33.86667vw;
  margin: 2.66667vw 1.33333vw 0;
}

.block-check-content .answer li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 10.66667vw;
  padding: 0 2vw;
  border-radius: 0.53333vw;
  background: #3587f6;
  color: #fff;
  font-size: 4vw;
  font-weight: 300;
  letter-spacing: -0.1em;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-lesson
 */

.block-lesson {
  margin: 8vw 0 0;
}

.block-lesson-inner {
  position: relative;
}

.block-lesson h2 {
  position: absolute;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
}

.block-lesson .mod-link-button {
  position: absolute;
  width: 31.33333vw;
  height: 10.66667vw;
  margin: 0;
}

.block-lesson .mod-link-button a {
  width: 100%;
  height: 100%;
  padding: 2.4vw 4.53333vw 2.4vw 1.6vw;
  border: none;
  background: #3587f6;
  color: #fff;
  font-size: 3.2vw;
}

.block-lesson .mod-link-button a:after {
  background-image: url(../image/ico_arrow_right_01.png);
}

.block-lesson .mod-link-button-content {
  display: none;
  opacity: 0;
}

.block-lesson-links {
  position: absolute;
  top: 40.26667vw;
  left: 3.73333vw;
  letter-spacing: -0.4em;
}

.block-lesson-links > * {
  letter-spacing: normal;
}

.block-lesson-links li {
  display: inline-block;
  margin: 2.8vw 1.33333vw 0;
}

.block-lesson-links li a {
  display: block;
  position: relative;
  width: 43.33333vw;
  height: 11.06667vw;
  padding: 3.46667vw 4.8vw 0 1.6vw;
  border-radius: 5.6vw;
  background: rgba(255, 255, 255, 0.8);
  color: #3587f6;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.075em;
}

.block-lesson-links li a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -1.86667vw 0 0;
  background-image: url(../image/ico_arrow_right_02.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.block-lesson-01,
.block-lesson-02,
.block-lesson-03,
.block-lesson-04,
.block-lesson-05 {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
}

.block-lesson-01 {
  height: 50.66667vw;
  background-image: url(../image/bg_home_lesson_01_sp.jpg);
}

.block-lesson-01 h2 {
  top: 2.93333vw;
  left: 39.73333vw;
  width: 45.6vw;
  height: 29.6vw;
  background-image: url(../image/ttl_home_lesson_01_sp.png);
}

.block-lesson-01 .mod-link-button {
  top: 36.66667vw;
  left: 39.86667vw;
}

.block-lesson-02 {
  height: 50.66667vw;
  background-image: url(../image/bg_home_lesson_02_sp.jpg);
}

.block-lesson-02 h2 {
  top: 7.33333vw;
  left: 5.2vw;
  width: 52.53333vw;
  height: 21.46667vw;
  background-image: url(../image/ttl_home_lesson_02_sp.png);
}

.block-lesson-02 .mod-link-button {
  top: 32.53333vw;
  left: 5.33333vw;
}

.block-lesson-03 {
  height: 50.66667vw;
  background-image: url(../image/bg_home_lesson_03_sp.jpg);
}

.block-lesson-03 h2 {
  top: 11.06667vw;
  left: 36.26667vw;
  width: 56.66667vw;
  height: 21.2vw;
  background-image: url(../image/ttl_home_lesson_03_sp.png);
}

.block-lesson-03 .mod-link-button {
  top: 36.26667vw;
  left: 36.4vw;
}

.block-lesson-04 {
  height: 71.73333vw;
  background-image: url(../image/bg_home_lesson_04_sp.jpg);
}

.block-lesson-04 h2 {
  top: 3.6vw;
  left: 5.2vw;
  width: 56.13333vw;
  height: 20.53333vw;
  background-image: url(../image/ttl_home_lesson_04_sp.png);
}

.block-lesson-04 .mod-link-button {
  top: 28.13333vw;
  left: 5.33333vw;
}

.block-lesson-05 {
  height: 50.66667vw;
  background-image: url(../image/bg_home_lesson_05_sp.jpg);
}

.block-lesson-05 h2 {
  top: 4.53333vw;
  left: 42.66667vw;
  width: 53.2vw;
  height: 21.46667vw;
  background-image: url(../image/ttl_home_lesson_05_sp.png);
}

.block-lesson-05 .mod-link-button {
  top: 30vw;
  left: 42.66667vw;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-knowmore
 */

.block-knowmore-inner {
  padding: 9.06667vw 0 6.66667vw;
}

.block-knowmore h2 {
  font-size: 5.33333vw;
  font-weight: 700;
  text-align: center;
}

.block-knowmore .lead {
  margin: 3.33333vw 0 0;
  font-size: 3.2vw;
  line-height: 1.4;
  text-align: center;
}

.block-knowmore ul {
  margin: 4vw 0 0 4vw;
  letter-spacing: -0.4em;
}

.block-knowmore ul > * {
  letter-spacing: normal;
}

.block-knowmore ul li {
  display: inline-block;
  width: 43.33333vw;
  height: 22.13333vw;
  margin: 2.66667vw 1.33333vw 0;
  vertical-align: top;
}

.block-knowmore ul li a {
  display: block;
  position: relative;
}

.block-knowmore ul li a:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 1.86667vw;
  width: 2.53333vw;
  height: 3.33333vw;
  margin: -1.6vw 0 0;
  background: url(../image/ico_arrow_right_01.png) no-repeat 0 0;
  background-size: contain;
}

.block-knowmore ul li a img {
  width: 100%;
}

.page-lesson5 .block-knowmore {
  border-bottom: 1px solid #3587f6;
  background: rgba(160, 211, 249, 0.2);
}

.page-lesson5 .block-knowmore h2 {
  color: #3587f6;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-special
 */

.block-special {
  background: #eae7d9;
}

.block-special-inner {
  padding: 9.06667vw 0 6.66667vw;
}

.block-special h2 {
  font-size: 5.33333vw;
  font-weight: 700;
  text-align: center;
}

.block-special .lead {
  margin: 3.33333vw 0 0;
  font-size: 3.2vw;
  line-height: 1.4;
  text-align: center;
}

.block-special-contents {
  overflow: hidden;
  margin: 4vw 0 0;
  transition: height 0.3s ease-in-out;
}

.block-special ul {
  margin: 0 0 0 4vw;
  letter-spacing: -0.4em;
}

.block-special ul > * {
  letter-spacing: normal;
}

.block-special ul li {
  display: inline-block;
  width: 43.33333vw;
  min-height: 58.8vw;
  margin: 2.66667vw 1.33333vw 0;
  background: #fff;
  vertical-align: top;
}

.block-special ul li:nth-child(n+5) {
  display: none;
  opacity: 0;
}

.block-special ul li a {
  display: block;
  position: relative;
}

.block-special .wrap-text {
  padding: 3.2vw 3.2vw 2.13333vw;
}

.block-special figure img {
  width: 100%;
}

.block-special .category-text {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #3587f6;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .category-movie { /* add20201110 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #ff3366;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .category-seminar {/* add20201110 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #99cc99;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .category-seminar {/* add20201110 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #ffcc33;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .category-chart {/* add20201110 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #33cc66;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .category-comic {/* add20201110 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 13.86667vw;
  height: 4.93333vw;
  padding: 0 2.66667vw;
  border: 1px solid #6666cc;
  border-radius: 2.53333vw;
  color: #000;
  font-size: 2.93333vw;
  font-weight: 700;
}

.block-special .title {
  display: block;
  margin: 1.06667vw 0 0;
  color: #000;
  font-size: 3.73333vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.05em;
}

.block-special .text {
  display: block;
  margin: 1.86667vw 0 0;
  color: #000;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.5;
}

.block-special .mod-link-button {
  padding: 0 5.33333vw;
}

.block-special .mod-link-button a {
  border: none;
  background: #3587f6;
  color: #fff;
}

.block-special .mod-link-button a:after {
  width: 3.33333vw;
  height: 2vw;
  margin: -0.93333vw 0 0;
  background-image: url(../image/ico_arrow_down_02.png);
}

.block-special.is-open ul li:nth-child(n+5) {
  display: inline-block;
  opacity: 1;
  -webkit-animation: fade-in-ib 0.2s ease-in-out forwards;
  animation: fade-in-ib 0.2s ease-in-out forwards;
}

.block-special.is-open .mod-link-button a:after {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.block-special.is-close ul li:nth-child(n+5) {
  display: inline-block;
  opacity: 0;
  -webkit-animation: fade-out-ib 0.2s ease-in-out forwards;
  animation: fade-out-ib 0.2s ease-in-out forwards;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-relatedsite
 */

.block-relatedsite-inner {
  padding: 9.06667vw 0 6.66667vw;
}

.block-relatedsite h2 {
  font-size: 5.33333vw;
  font-weight: 700;
  text-align: center;
}

.block-relatedsite ul {
  margin: 4vw 0 0 4vw;
  letter-spacing: -0.4em;
}

.block-relatedsite ul > * {
  letter-spacing: normal;
}

.block-relatedsite ul li {
  display: inline-block;
  width: 43.33333vw;
  margin: 2.66667vw 1.33333vw 0;
  vertical-align: top;
}

.block-relatedsite ul li.col2 {
  width: 89.33333vw;
}

.block-relatedsite ul li a {
  display: block;
  position: relative;
}

.block-relatedsite ul li a img {
  width: 100%;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-sns
 */

.block-sns {
  background: #d8eaf8;
}


.block-sns-inner {
  padding: 9.06667vw 0 6.66667vw;
}

.block-sns h2 {
  font-size: 5.33333vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.block-sns ul {
  margin: 4vw 0 0;
  padding: 0 5.33333vw;
  letter-spacing: -0.4em;
}

.block-sns ul > * {
  letter-spacing: normal;
}

.block-sns ul li {
  display: block;
  margin: 2.66667vw 0 0;
}

.block-sns ul li a {
  display: block;
  position: relative;
}

.block-sns ul li a img {
  width: 100%;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-nav-content
 */

.block-nav-content ul {
  border-top: 1px solid #fff;
  background: #3587f6;
  letter-spacing: -0.4em;
}

.block-nav-content ul > * {
  letter-spacing: normal;
}

.block-nav-content ul li {
  display: inline-block;
  position: relative;
  width: 50%;
  height: 16.93333vw;
  margin-bottom: 0.26667vw;
  border-top: 1px solid #fff;
  background: #3587f6;
  vertical-align: top;
}

.block-nav-content ul li:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0.66667vw;
  width: 1px;
  height: 11.73333vw;
  margin: -5.86667vw 0 0;
  background: #fff;
}

.block-nav-content ul li:nth-child(2n+1):after {
  display: none;
}

.block-nav-content ul li:nth-child(2n+1):last-child:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 100%;
  width: 100%;
  height: 100%;
  border-top: 1px solid #fff;
  background: #3587f6;
}

.block-nav-content ul li:nth-child(2n+1):last-child:after {
  display: block;
  z-index: 2;
  right: -0.73333vw;
  left: auto;
}

.ios .block-nav-content ul li:nth-child(2n+1):last-child:after {
  right: -0.33333vw;
}

.block-nav-content ul li a {
  display: flex;
  position: relative;
  align-items: center;
  height: 100%;
  padding: 0 0 0 2.66667vw;
  color: #fff;
  font-size: 3.46667vw;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: -0.1em;
}

.block-nav-content ul li a:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 3.33333vw;
  height: 2vw;
  margin: -1.06667vw 0 0;
  background: url(../image/ico_arrow_down_02.png) no-repeat 0 0;
  background-size: contain;
}

.block-nav-content ul li .point {
  display: block;
  overflow: hidden;
  width: 10.4vw;
  height: 10.4vw;
  margin: 0 1.46667vw 0 0;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  white-space: nowrap;
  text-indent: 200%;
}

.block-nav-content ul li:first-child .point {
  background-image: url(../image/ico_point_01.png);
}

.block-nav-content ul li:nth-child(2) .point {
  background-image: url(../image/ico_point_02.png);
}

.block-nav-content ul li:nth-child(3) .point {
  background-image: url(../image/ico_point_03.png);
}

.block-nav-content ul li:nth-child(4) .point {
  background-image: url(../image/ico_point_04.png);
}

.block-nav-content.bottom {
  margin: 8vw 0 0;
}

.block-nav-content.bottom ul li a:before {
  -webkit-transform: rotateX(180deg) translateY(2px);
  transform: rotateX(180deg) translateY(2px);
}

.block-nav-content + section {
  margin: 0;
}

.block-nav-content + section .section-inner {
  padding: 7.33333vw 0 0;
  border: none;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-next
 */

.block-next {
  margin: 5.33333vw 0 0;
  padding: 0 5.33333vw;
}

.block-next .lead {
  display: block;
  font-size: 4vw;
  font-weight: 300;
  text-align: center;
  letter-spacing: -0.1em;
}

.block-next a {
  display: inline-block;
  margin: 3.46667vw 0 0;
}

.block-next a img {
  width: 100%;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-related
 */

.block-related {
  overflow: hidden;
  margin: 6.66667vw 0 0;
  background: #eae7d9;
}

.block-related-inner {
  padding: 10.13333vw 5.33333vw 10.66667vw;
}

.block-related h2 {
  font-size: 5.33333vw;
  font-weight: 700;
  text-align: center;
}

.block-related-slider {
  position: relative;
  margin: 6vw 0 0;
}

.block-related-slider .slick-list {
  overflow: hidden;
}

.block-related-slider .slick-arrow {
  outline: none;
  display: block;
  position: absolute;
  z-index: 3;
  top: 50%;
  overflow: hidden;
  box-sizing: border-box;
  width: 6.66667vw;
  height: 6.66667vw;
  margin: 0;
  margin: -0.93333vw;
  padding: 0;
  border: 0;
  border-radius: 0;
  border-radius: 50%;
  background: none transparent;
  background: #3587f6 url(../image/ico_arrow_right_01.png) no-repeat 50% 50%;
  background-size: 2.66667vw 4.53333vw;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.block-related-slider .slick-arrow::-ms-clear {
  display: none;
}

.block-related-slider .slick-arrow::-ms-reveal {
  display: none;
}

.block-related-slider .slick-arrow::-ms-expand {
  display: none;
}

.block-related-slider .slick-arrow.slick-prev {
  right: 50%;
  margin-right: 41.6vw;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.block-related-slider .slick-arrow.slick-next {
  left: 50%;
  margin-left: 41.6vw;
}

.block-related-slider .slick-arrow.slick-disabled {
  opacity: 0;
  pointer-events: none;
}

.block-related-slider .slick-dots {
  position: absolute;
  z-index: 3;
  bottom: -7.33333vw;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: -0.4em;
}

.block-related-slider .slick-dots > * {
  letter-spacing: normal;
}

.block-related-slider .slick-dots li {
  display: inline-block;
  margin: 0 1.33333vw;
}

.block-related-slider .slick-dots li.slick-active button {
  background: #3587f6;
}

.block-related-slider .slick-dots button {
  outline: none;
  overflow: hidden;
  box-sizing: border-box;
  width: 3.33333vw;
  height: 0;
  margin: 0;
  padding: 0;
  padding-top: 100%;
  border: 0;
  border-radius: 0;
  border-radius: 50%;
  background: none transparent;
  background: #fff;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.block-related-slider .slick-dots button::-ms-clear {
  display: none;
}

.block-related-slider .slick-dots button::-ms-reveal {
  display: none;
}

.block-related-slider .slick-dots button::-ms-expand {
  display: none;
}

.block-related .slide {
  display: inline-block;
}

.block-related a {
  display: block;
  position: relative;
  width: 89.46667vw;
  height: 32.26667vw;
  margin: 4vw 0 0;
  color: #000;
  text-decoration: none;
}

.block-related a figure {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  width: 32.26667vw;
  height: 100%;
  background: #f3f3f3;
}

.block-related a figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.block-related a .wrap-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 0 3.46667vw 0 35.73333vw;
  background: #fff;
}

.block-related a .wrap-text .title {
  display: block;
  width: 48vw;
  font-size: 3.33333vw;
  font-weight: 700;
  line-height: 1.5;
  text-align: justify;
}

.block-related a .wrap-text .text {
  display: block;
  width: 48vw;
  margin: 1.33333vw 0 0;
  font-size: 2.66667vw;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-heading
 */

.block-heading {
  padding: 2.4vw 0 2.53333vw;
  border-bottom: 0.26667vw solid #3587f6;
  color: #3587f6;
  font-size: 5.86667vw;
  font-weight: 500;
  text-align: center;
}

.block-heading + section {
  margin: 0;
}

.block-heading + section .section-inner {
  padding: 7.33333vw 0 0;
  border: none;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-lead
 */

.block-lead + section .section-inner {
  border-top: none;
}

.page-qa .block-lead {
  margin: 0;
  background-color: #edf1f5;
}

.page-qa .block-lead-inner {
  position: relative;
  z-index: 1;
  padding: 5.33333vw 5.33333vw 0;
  border: none;
}

.page-qa .block-lead-inner:before,
.page-qa .block-lead-inner:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  bottom: -0.8vw;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.page-qa .block-lead-inner:before {
  left: 4.26667vw;
  width: 12.8vw;
  height: 18.93333vw;
  background-image: url(../image/qa/img_lead_01.png);
}

.page-qa .block-lead-inner:after {
  right: 5.2vw;
  width: 10.8vw;
  height: 18.93333vw;
  background-image: url(../image/qa/img_lead_02.png);
}

.page-qa .block-lead h2 {
  font-size: 5.33333vw;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.05em;
}

.page-qa .block-lead p {
  margin: 3.46667vw 0 0;
  font-size: 3.2vw;
  line-height: 1.7;
  text-align: center;
}

.page-word .block-lead {
  padding: 0 0 8vw;
}

.page-word .block-lead-inner {
  position: relative;
  padding: 0 5.33333vw;
}

.page-word .block-lead-inner:before {
  content: '';
  display: block;
  width: 40vw;
  height: 31.33333vw;
  margin: 6vw auto 0;
  background: url(../image/word/img_word_01.png) no-repeat 0 0;
  background-size: contain;
}

.page-word .block-lead p {
  margin: 5.33333vw 0 0;
  font-size: 3.73333vw;
  font-weight: 400;
  line-height: 1.5;
}

.page-word .block-lead p.sup {
  color: #3587f6;
}
.page-word .block-lead p.sup a { /* add0811 */
	text-decoration: underline;
}
.page-word .block-lead p.sup a:hover { /* add0811 */
	text-decoration: none;
}

.page-proverb .block-lead,
.page-vers .block-lead { /* add0813 */
  padding: 5.33333vw 0 0;
}

.page-proverb .block-lead-inner,
.page-vers .block-lead-inner { /* add0813 */
  position: relative;
  padding: 0 5.33333vw;
}

.page-proverb .block-lead-inner:after {
  content: '';
  display: block;
  width: 40vw;
  height: 28.13333vw;
  margin: 6.66667vw auto 0;
  background: url(../image/proverb/img_proverb_01.png) no-repeat 0 0;
  background-size: contain;
}

.page-proverb .block-lead p,
.page-vers .block-lead p { /* add0813 */
  margin: 5.33333vw 0 0;
  font-size: 3.73333vw;
  font-weight: 400;
  line-height: 1.5;
}

.page-proverb .block-lead .mod-link-button a {
  margin: 0.24vw 0 0;
  border: none;
  background: #3587f6;
  color: #fff;
}

.page-proverb .block-lead .mod-link-button a:after {
  background-image: url(../image/ico_arrow_right_01.png);
}

.page-proverb .block-lead .mod-link-button a:first-child {
  margin: 0;
}

.page-proverb .block-lead .mod-link-button a + a {
  margin: 3.33333vw 0 0;
}

.page-vers .mod-link-button { /* add0813 */
  margin: 8vw 0 4vw;
}

.page-vers .toushi-kun-greetingmail { /* add20201208 */
  background-image: url(../image/toushi-kun/toushikun_greetingmail_bg_01.png),url(../image/toushi-kun/toushikun_greetingmail_bg_02.png);
  background-repeat: repeat-x,no-repeat;
  background-position: 0 0,right bottom;
  background-color: #BEE5FB;
}

.page-vers .toushi-kun-greetingmail .toushi-kun-lead { /* add20201208 */
  background-color: rgba(255,255,255,0.5);
}

.page-vers .toushi-kun-greetingmail .illust:hover { /* add20201208 */
  opacity: 0.5;
}

.page-vers .mod-link-button a { /* add0813 */
  display: block;
  position: relative;
  box-sizing: border-box;
  margin: 3.73333vw 0 0;
  padding: 1.6vw 4.53333vw 1.6vw 1.6vw;
  border: 0.26667vw solid #3587f6;
  border-radius: 0.53333vw;
  background: #3587f6;
  color: #fff;
  font-size: 4vw;
  line-height: 1.9;
  text-align: center;
  text-decoration: none;
  letter-spacing: -0.05em;
}

.page-vers .mod-link-button a:after { /* add0813 */
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 2.26667vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -1.6vw 0 0;
  background-image: url(../image/ico_arrow_right_01.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.page-vers .mod-link-button a.arrowDown,
.page-vers .mod-link-button a.arrowUp { /* add0831 */
  padding: 1.6vw 6.9vw 1.6vw 1.6vw;
}
.page-vers .mod-link-button a.arrowDown:after { /* add0831 */
  width: 3.46667vw;
  height: 2.13333vw;
  margin: -0.6vw 0 0;
  background-image: url(../image/ico_arrow_down_02.png);
}
.page-vers .mod-link-button a.arrowUp:after { /* add0831 */
  width: 3.46667vw;
  height: 2.13333vw;
  margin: -1.2vw 0 0;
  background-image: url(../image/ico_arrow_up_01.png);
}

.page-vers .mod-link-button a.sub { /* add0813 */
  background: #fff;
  color: #3587f6;
}
.page-vers .mod-link-button a.sub:after { /* add0813 */
  background-image: url(../image/ico_arrow_right_02.png);
}

.page-vers .block-lead figure img,
.page-vers .block-lead .block-lead-inner figure img { /* add0817 */
  max-width: 100%;
  height: auto;
}

.page-vers .block-lead .block-lead-inner figure img.resize-top  { /* add20201110 */
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  display: block;
}

.page-vers .mod-link-button a.pink { /* add20201027 */
  border: 0.26667vw solid #ff3366;
  background: #fff;
  color: #ff3366;
}

.page-vers .mod-link-button a.pink:after { /* add20201027 */
  background-image: url(../image/ico_arrow_right_05.png);
}

.page-vers .fixed_button { /* add20201027 */
  position: fixed;
  bottom: 4vw; 
  right: 0vw; 
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-content
 */

.block-content {
  padding: 8.26667vw 0 0;
  background: #fff;
}

.block-content.bg-gray {
  padding: 6.66667vw 0 0;
  background-color: #edf1f5;
}

.block-content.bg-gray + .block-related {
  margin-top: 0 !important;
}

.block-content.bottom {
  padding-bottom: 6.66667vw;
}

.block-content.is-sp-bottom {
  padding-bottom: 6.66667vw;
}

.block-content-inner {
  padding: 0 5.33333vw;
}

.block-content-inner-related {
  padding: 0 4vw;
}

.block-content-inner-related.bottom {
  padding-bottom: 6.66667vw;
}

.block-content h2 .heading-inner {
  display: block;
  padding: 0 0 2vw;
  border-bottom: 0.26667vw solid #3587f6;
  font-size: 5.86667vw;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  letter-spacing: -0.1em;
}

.block-content h3.heading-band {
  display: block;
  padding: 2vw 0.66667vw;
  background: #3587f6;
  color: #fff;
  font-size: 4.8vw;
  line-height: 1.4;
  text-align: center;
}

.block-content h4 {
  position: relative;
  margin: 6.66667vw 0 0;
  padding: 0 0 0 3.2vw;
  color: #3587f6;
  font-size: 4vw;
  font-weight: 500;
}

.block-content h4:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0.8vw;
  height: 100%;
  border-right: 0.26667vw solid #3587f6;
  border-left: 0.26667vw solid #3587f6;
}

.block-content h4 span {
  font-size: 2.4vw;
}

.block-content h4 span.title {
  font-size: 4vw;
}

.block-content#qa-question .qa-list li:nth-child(n+3) {
  display: none;
}

.block-content#qa-pickup {
  padding-bottom: 9.33333vw;
}

/**
 * コンテンツ用パーツ
 */

.qa-list,
.proverb-list {
  padding: 2.66667vw 0 5.33333vw;
}

.qa-list li,
.proverb-list li {
  display: block;
  border-bottom: 2px dotted #3587f6;
}

.qa-list li a,
.proverb-list li a {
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  padding: 2.53333vw 5.33333vw 3.2vw 0;
  color: #000;
  font-size: 3.46667vw;
  font-weight: 400;
  line-height: 1.4;
}

.qa-list li a:after,
.proverb-list li a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0.26667vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -1.73333vw 0 0;
  background: url(../image/ico_arrow_right_02.png) no-repeat 0 0;
  background-size: contain;
}

.qa-category-list-inner .qa-list li {
  display: none;
}

.qa-list li a:before {
  content: '';
  display: block;
  width: 7.33333vw;
  min-width: 7.33333vw;
  max-width: 7.33333vw;
  height: 7.2vw;
  margin: 0 2.66667vw 0 0;
  background: url(../image/qa/ico_q_01.png) no-repeat 0 0;
  background-size: contain;
}

.qa-search,
.word-search {
  margin: 2.66667vw 0 0;
}

.qa-search-entry,
.word-search-entry {
  display: flex;
  width: 100%;
}

.qa-search-entry-input,
.word-search-entry-input {
  flex: 1;
  box-sizing: border-box;
  width: 100%;
  height: 10.66667vw;
  margin: 0;
  padding: 0;
  padding: 0 2.66667vw;
  border: 0;
  border: 0.26667vw solid #ccc;
  border-radius: 0;
  background: none transparent;
  background: #f3f3f3;
  color: inherit;
  font-size: inherit;
  font-size: 5.46667vw;
  font-weight: 400;
  vertical-align: middle;
  letter-spacing: -0.05em;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.qa-search-entry-input::-ms-clear,
.word-search-entry-input::-ms-clear {
  display: none;
}

.qa-search-entry-input::-ms-reveal,
.word-search-entry-input::-ms-reveal {
  display: none;
}

.qa-search-entry-input::-ms-expand,
.word-search-entry-input::-ms-expand {
  display: none;
}

.qa-search-entry-input:placeholder-shown,
.word-search-entry-input:placeholder-shown {
  color: #bdbdbd;
}

.qa-search-entry-input::-webkit-input-placeholder,
.word-search-entry-input::-webkit-input-placeholder {
  color: #bdbdbd;
}

.qa-search-entry-input:-moz-placeholder,
.word-search-entry-input:-moz-placeholder {
  opacity: 1;
  color: #bdbdbd;
}

.qa-search-entry-input::-moz-placeholder,
.word-search-entry-input::-moz-placeholder {
  opacity: 1;
  color: #bdbdbd;
}

.qa-search-entry-input:-ms-input-placeholder,
.word-search-entry-input:-ms-input-placeholder {
  color: #bdbdbd;
}

.qa-search-entry-btn,
.word-search-entry-btn {
  overflow: hidden;
  box-sizing: border-box;
  width: 10.66667vw;
  min-width: 10.66667vw;
  max-width: 10.66667vw;
  height: 10.66667vw;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background: #3587f6 url(../image/ico_search_02.png) no-repeat 50% 50%;
  background-size: 4.13333vw;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  white-space: nowrap;
  text-indent: 200%;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.qa-search-entry-btn::-ms-clear,
.word-search-entry-btn::-ms-clear {
  display: none;
}

.qa-search-entry-btn::-ms-reveal,
.word-search-entry-btn::-ms-reveal {
  display: none;
}

.qa-search-entry-btn::-ms-expand,
.word-search-entry-btn::-ms-expand {
  display: none;
}

.qa-keyword .title {
  display: inline-block;
  position: relative;
  margin: 3.46667vw 0 0;
  padding: 0 2.13333vw 0 0;
  font-size: 3.73333vw;
}

.qa-keyword .title:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.26667vw;
  height: 3.46667vw;
  margin: -1.73333vw 0 0;
  border-right: 0.26667vw dotted #000;
}

.qa-keyword ul {
  margin: 0 0 0 -3.46667vw;
  letter-spacing: -0.4em;
}

.qa-keyword ul > * {
  letter-spacing: normal;
}

.qa-keyword ul li {
  display: inline-block;
  margin: 1.6vw 0 0 3.46667vw;
}

/* 0820
.qa-keyword ul li a {
  display: block;
  padding: 0 0 1.06667vw;
  border-bottom: 0.2vw solid #3587f6;
  font-size: 3.2vw;
}
*/
.qa-keyword ul li button { /* add0820 */
  display: block;
  padding: 0 0 1.06667vw;
  border: none;
  border-bottom: 1px solid #3587f6;
  font-size: 3.2vw;
  background: #ffffff;
  color: #2196f3;
}

.qa-keyword ul li button:hover { /* add0820 */
  opacity: 0.7;
}

.qa-category {
  margin: 4.26667vw 0 0;
}

.qa-category-index {
  overflow: hidden;
  border: 1px solid #3587f6;
  border-radius: 0.53333vw;
  background: #3587f6;
  letter-spacing: -0.4em;
}

.qa-category-index > * {
  letter-spacing: normal;
}

.qa-category-index li {
  display: inline-block;
  width: 50%;
  height: 16.06667vw;
  border-right: 1px solid #3587f6;
  border-bottom: 1px solid #3587f6;
  background: #fff;
  vertical-align: top;
}

.qa-category-index li:nth-child(2n) {
  border-right: 0;
}

.qa-category-index li:last-child {
  border-bottom: 0;
}

.qa-category-index li:nth-child(2n+1):nth-last-child(2) {
  border-bottom: 0;
}

.qa-category-index a {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0.66667vw 0 3.06667vw;
  color: #3587f6;
  font-size: 3.46667vw;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.qa-category-index a span {
  display: block;
  font-size: 2.4vw;
  line-height: 1.5;
}

.qa-category-index a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 1.33333vw;
  left: 50%;
  width: 3.06667vw;
  height: 1.86667vw;
  margin: 0 0 0 -1.6vw;
  background: url(../image/ico_arrow_down_01.png) no-repeat 0 0;
  background-size: contain;
}

.qa-category-index a.is-open {
  background: #3587f6;
  color: #fff;
}

.qa-category-index a.is-open:after {
  background-image: url(../image/ico_arrow_down_02.png);
  -webkit-transform: translateY(-0.53333vw) rotateX(180deg);
  transform: translateY(-0.53333vw) rotateX(180deg);
}

.qa-category-list-inner {
  display: none;
  padding: 4.53333vw 0 0;
}

.qa-category-list h4 {
  margin: 0;
}

.qa-category-list .mod-box-3 {
  overflow-y: auto;
  max-height: 76.26667vw;
  margin: 4.26667vw 0 0;
  padding: 0 4vw;
}

.qa-category-list .mod-box-3::-webkit-scrollbar {
  width: 1.33333vw;
}

.qa-category-list .mod-box-3::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.qa-category-list .mod-box-3::-webkit-scrollbar-thumb {
  background: #bcbcbc;
}

.qa-pickup {
  margin: 4vw 0 0;
}

.qa-pickup li {
  display: block;
  margin: 0.53333vw 0 0;
  padding: 3.73333vw 3.73333vw 5.33333vw;
  background: #e3f1fc;
}

.qa-pickup li:first-child {
  margin: 0;
}

.qa-pickup-q {
  display: block;
  position: relative;
  padding: 1.33333vw 3.46667vw 2.4vw 10.66667vw;
  border-bottom: 0.26667vw dotted #3587f6;
  color: #000;
  font-size: 3.73333vw;
  font-weight: 400;
  line-height: 1.4;
}

.qa-pickup-q:before,
.qa-pickup-q:after {
  content: '';
  display: block;
  position: absolute;
}

.qa-pickup-q:before {
  top: 0;
  left: 0.66667vw;
  width: 7.33333vw;
  height: 7.2vw;
  background: url(../image/qa/ico_q_01.png) no-repeat 0 0;
  background-size: contain;
}

.qa-pickup-q:after {
  top: 50%;
  right: 0.66667vw;
  width: 2.13333vw;
  height: 3.46667vw;
  margin: -2.13333vw 0 0;
  background: url(../image/ico_arrow_right_02.png) no-repeat 0 0;
  background-size: contain;
}

.qa-pickup-sup {
  overflow: hidden;
  margin: 4.26667vw 0 0;
}

.qa-pickup-sup figure {
  float: left;
  width: 9.33333vw;
  margin: 0 0 0 4.26667vw;
}

.qa-pickup-sup figure img {
  width: 100%;
}

.qa-pickup-sup .text {
  position: relative;
  float: right;
  width: 62vw;
  margin: 0.26667vw 0 0;
  padding: 3.2vw 4.26667vw;
  border-radius: 1.73333vw;
  background: #fff;
}

.qa-pickup-sup .text:before {
  content: '';
  display: block;
  position: absolute;
  top: 6.4vw;
  left: -1.86667vw;
  width: 1.86667vw;
  height: 2.66667vw;
  background: url(../image/bg_fukidashi_01.png) no-repeat 0 0;
  background-size: contain;
}

.qa-pickup-sup .text p {
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1.5;
}

.qa-detail dt,
.qa-detail dd {
  position: relative;
  padding: 8.26667vw 4vw 8vw;
}

.qa-detail dt:before,
.qa-detail dd:before {
  content: '';
  display: block;
  position: absolute;
  top: -4.8vw;
  left: 50%;
  width: 10.8vw;
  height: 10.8vw;
  margin: 0 0 0 -5.33333vw;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.qa-detail dt {
  background: #e3f1fc;
}

.qa-detail dt:before {
  background-image: url(../image/qa/ico_q_01.png);
}

.qa-detail-q {
  display: block;
  padding: 0;
  color: #3587f6;
  font-size: 4.26667vw;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.05em;
}

.qa-detail-sup {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 2.93333vw 0 0;
}

.qa-detail-sup figure {
  width: 10.13333vw;
  min-width: 10.13333vw;
  max-width: 10.13333vw;
  margin: 0 0 0 4vw;
}

.qa-detail-sup figure img {
  width: 100%;
}

.qa-detail-sup .text {
  position: relative;
  width: 62vw;
  padding: 2.66667vw 4.26667vw;
  border-radius: 1.86667vw;
  background: #fff;
}

.qa-detail-sup .text:before {
  content: '';
  display: block;
  position: absolute;
  top: 4.66667vw;
  left: -1.86667vw;
  width: 1.86667vw;
  height: 2.4vw;
  background: url(../image/bg_fukidashi_01.png) no-repeat 0 0;
  background-size: contain;
}

.qa-detail-sup .text p {
  font-size: 3.2vw;
  line-height: 1.5;
}

.qa-detail dd {
  background: #fce5d6;
}

.qa-detail dd:before {
  background-image: url(../image/qa/ico_a_01.png);
}

.qa-detail-a {
  display: flex;
  flex-direction: column;
}

.qa-detail-a figure {
  order: 2;
  margin: 5.06667vw 0 0;
  text-align: center;
}

.qa-detail-a figure figcaption {/* add0820 */
  font-size: 3vw;
  line-height: 1.6;
  padding: 0.2em 0;
}

.qa-detail-a figure img {
  max-width: 100%;
}

.qa-detail-a figure img.imgL { /* add0820 */
  max-width: 56.66667vw;
}

.qa-detail-a .text {
  order: 1;
}

.qa-detail-a .notes { /* add0820 */
  padding-left: 1em;
  text-indent: -1em;
}
.qa-detail-a .bold { /* add0820 */
 font-weight: bold;
}

.qa-detail-a .text ul.notesA, /* add0820 */
.qa-detail-a .text ul.num { /* add0811 */
  padding: 0.5em 1em 0.5em 2em;
  font-size: 3.46667vw;
  line-height: 1.6;
}

.qa-detail-a .text ul.notesA > li { /* add0811 */
  text-indent: -1.8em;
  margin-bottom: 0.6em;
}

.qa-detail-a .text ul.num > li { /* add0811 */
  text-indent: -2.5em;
  margin-bottom: 0.6em;
}
.qa-detail-a .text ul.num > li > figure { /* add0820 */
  margin: 3vw auto;
  text-indent: 0;
}

.qa-detail-a .text ul.num > li > ol.innerDec { /* add0816 */
  list-style-type: decimal;
  padding:0.5em 0.5em 0.5em 1.5em;
  font-size: 3.46667vw;
  line-height: 1.6;
}
.qa-detail-a .text ul.num > li > ol.innerDec > li { /* add0816 */
  text-indent: 0;
}

.qa-detail-a .text ul.dot { /* add0811 */
  list-style-type: disc;
  padding-top: 0.5em;
  padding-left: 1.5em;
}
.qa-detail-a .text ul.sq { /* add0816 */
  list-style-type: square;
  padding-top: 0.5em;
  padding-left: 1.5em;
  font-size: 3.46667vw;
  line-height: 1.6;
}
.qa-detail-a .text ul.sq li { /* add0816 */
  padding: 0.5em 0.5em 0 0;
  line-height: 1.7;
}

.qa-detail-a .text ul.num > li > ul.sq > li { /* add0821 */
  text-indent: 0;
}

.qa-detail-a .text ul.diamond { /* add0816 */
  list-style-type: none;
  padding: 0.5em 0.5em 0.5em 1.5em;
  font-size: 3.46667vw;
  line-height: 1.6;
}
.qa-detail-a .text ul.diamond > li { /* add0816 */
	position: relative;
	margin-bottom: 0.2em;
}
.qa-detail-a .text ul.diamond > li::after { /* add0816 */
	display: block;
	content: '';
	position: absolute;
	top: 0.6em;
	left: -1em;
	width: 9px;
	height: 9px;
	background-color: #191919;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.qa-detail-a .text p,
.qa-detail-a .text div { /* add0807 */
  font-size: 3.46667vw;
  line-height: 1.6;
}
.qa-detail-a .text .indent01 { /* add0816 */
  text-indent: 1em;
}

.qa-detail-respondent {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 6.66667vw 0 0;
}

.qa-detail-respondent figure {
  overflow: hidden;
  width: 19.6vw;
  height: 19.6vw;
  margin: 0 2.13333vw 0 0;
  border-radius: 50%;
  background: #fff;
}

.qa-detail-respondent figure img {
  width: 100%;
  height: 100%;
}

.qa-detail-respondent .text {
  position: relative;
  width: 56vw;
  padding: 4.26667vw 0 3.2vw;
  border-top: 0.26667vw solid #e95532;
  border-bottom: 0.26667vw solid #e95532;
}

.qa-detail-respondent .text .heading {
  display: flex;
  position: absolute;
  top: -1.73333vw;
  left: 50%;
  justify-content: center;
  align-items: center;
  width: 29.33333vw;
  height: 5.33333vw;
  margin: 0 0 0 -14.66667vw;
  border: 0.26667vw solid #e95532;
  border-radius: 2.66667vw;
  background: #fff;
  color: #e95532;
  font-size: 2.66667vw;
  font-weight: 400;
}

.qa-detail-respondent .text p {
  font-size: 3.2vw;
  font-weight: 400;
  line-height: 1.5;
}

.word-category {
  padding: 2.66667vw 5.33333vw 5.33333vw;
  background: #fff;
}

.word-category ul {
  margin: 0 0 0 -2%;
  letter-spacing: -0.4em;
}

.word-category ul > * {
  letter-spacing: normal;
}

.word-category ul > li {
  display: inline-block;
  width: 18%;
  margin: 1.33333vw 0 0 2%;
}

.word-category ul > li.none > a {
  opacity: 0.3;
  text-decoration: none;
  pointer-events: none;
}

.word-category ul > li > a {
  display: block;
  position: relative;
  padding: 1.6vw;
  border-radius: 0.53333vw;
  background: #3587f6;
  color: #fff;
  font-size: 3.73333vw;
  line-height: 1.9;
  text-align: center;
  letter-spacing: -0.05em;
}

.word-list {
  padding: 0.13333vw 5.33333vw 0;
  background: #fff;
}

.word-list h5 {
  display: none;
}

.word-list > ul.is-open {
  padding-bottom: 5.33333vw;
}

.word-list > ul > li {
  display: none;
}

.word-list > ul ul {
  padding: 0 0 0 5.33333vw;
}

.word-list > ul ul:first-of-type {
  margin: 5.33333vw 0 0;
}

.word-list > ul ul li {
  margin: 1.33333vw 0 0;
}

.word-list > ul ul li a {
  color: #3587f6;
}

.word-detail {
  padding: 0 0 8vw;
}

.word-detail h3.double {
  margin: 14.66667vw 0 0 !important;
}

.word-detail h3.double:first-child {
  margin: 8vw 0 0 !important;
}

.word-detail figure {
  margin: 5.33333vw 0 0 !important;
}

.word-detail ul {
  margin: 2.66667vw 0 0;
  padding: 0 0 0 3.2vw;
}

.word-detail ul li {
  margin: 1.33333vw 0 0;
}

.word-detail ul a {
  color: #3587f6;
  font-size: 3.73333vw;
  text-decoration: underline;
}

.proverb-list li {
  padding: 0 0 0 2.66667vw;
}

.proverb-list li a {
  color: #3587f6;
  text-decoration: underline;
}

.proverb-list-context li {
  display: block;
  margin: 2.66667vw 0 0;
}

.proverb-list-context li a {
  color: #3587f6;
  font-size: 3.46667vw;
  font-weight: 400;
  line-height: 1.38462, 1;
  text-decoration: underline;
}

.proverb-list-index > li {
  display: block;
  margin: 6.66667vw 0 0;
}

.proverb-list-index > li:first-child {
  margin-top: 0;
}

.proverb-list-index .proverb-list li {
  padding: 0 0 0 24px;
}

/*
#colors
*/

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }

  99% {
    display: block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  1% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  99% {
    display: block;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  100% {
    display: none;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }
}

@keyframes fade-in-flex {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: flex;
    opacity: 1;
  }
}

@keyframes fade-out-flex {
  0% {
    display: flex;
    opacity: 1;
  }

  99% {
    display: flex;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-in-ib {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: inline-block;
    opacity: 1;
  }
}

@keyframes fade-out-ib {
  0% {
    display: inline-block;
    opacity: 1;
  }

  99% {
    display: inline-block;
    opacity: 0;
  }

  100% {
    display: none;
    opacity: 0;
  }
}

/**
 * block-cms
 */

.block-cms {
  overflow: hidden;
  margin: 8vw 0 17.33333vw;
  text-align: center;
}

.block-cms-inner {
  padding: 0 5.33333vw;
}

.block-cms h3 {
  display: inline-block;
  margin: 5.33333vw 0 0;
  padding: 0 3.2vw 1.33333vw;
  border-bottom: 0.8vw solid #3587f6;
  font-size: 5.86667vw;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  letter-spacing: -0.1em;
}

.block-cms .imgFloatleft {
  display: none;
}

.block-cms p {
  margin: 10.66667vw 0 0;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
}

.block-cms ul {
  margin: 4vw 0 0;
  padding: 0 0 0 5.33333vw;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
}

.block-cms ul li {
  display: block;
  position: relative;
  margin: 5.33333vw 0 0;
}

.block-cms ul li:before {
  content: '';
  display: block;
  position: absolute;
  top: 1vw;
  left: -5.33333vw;
  width: 3.73333vw;
  height: 3.73333vw;
  border-radius: 50%;
  background: #3587f6;
}

.l-contents .page-vers .section-inner ul { /* add0813 up0824 */
  margin: 4vw 0 0;
  padding: 0 0 0 5.33333vw;
  font-size: 3.73333vw;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
}
.l-contents .page-vers .section-inner ul li { /* add0813 up0824 */
  display: block;
  position: relative;
  margin: 5.33333vw 0 0;
}
.l-contents .page-vers .section-inner ul li:before { /* add0813 up0824 */
  content: '';
  display: block;
  position: absolute;
  top: 1vw;
  left: -5.33333vw;
  width: 3.73333vw;
  height: 3.73333vw;
  border-radius: 50%;
  background: #3587f6;
}

.block-cms .bold {
  font-weight: 700;
}

.block-cms .back,
.block-cms .next {
  width: 47.5%;
  margin: 10.66667vw 0 0;
  font-size: 3.46667vw;
}

.block-cms .back a,
.block-cms .next a {
  display: block;
  position: relative;
  margin: 2.66667vw 0 0;
  color: #3587f6;
  font-size: 2.66667vw;
  font-weight: 700;
  line-height: 1.3;
}

.block-cms .back a:before,
.block-cms .next a:before {
  display: block;
  position: absolute;
  top: 0;
}

.block-cms .back {
  float: left;
  text-align: left;
}

.block-cms .back a {
  padding: 0 0 0 4vw;
}

.block-cms .back a:before {
  content: '<<';
  left: 0;
}

.block-cms .next {
  float: right;
  text-align: right;
}

.block-cms .next a {
  padding: 0 4vw 0 0;
}

.block-cms .next a:before {
  content: '>>';
  right: 0;
}


/**
 * margin classes -add0817
 */

.mt1e {
  margin-top: 1em;
}
.mt2e {
  margin-top: 2em;
}
.mt3e {
  margin-top: 3em;
}
.mt4e {
  margin-top: 4em;
}
.mt5e {
  margin-top: 5em;
}

.mb1e {
  margin-bottom: 1em;
}
.mb2e {
  margin-bottom: 2em;
}
.mb3e {
  margin-bottom: 3em;
}
.mb4e {
  margin-bottom: 4em;
}
.mb5e {
  margin-bottom: 5em;
}


@media print, screen and (min-width: 737px) {
  body {
    min-width: 1200px;
  }

  body.is-menu-open {
    overflow: visible;
  }

  .is-pc-hide {
    display: none !important;
  }

  .is-pc-show {
    display: block !important;
  }

  .is-br-pc-show {
    display: inline-block !important;
  }

  .check-media {
    display: none;
  }

  .mod-box-1 {
    margin: 15px 0 0;
    padding: 13px 18px 15px;
    border-width: 2px;
    border-radius: 4px;
    text-align: left;
  }

  .section-inner .mod-box-2 {
    width: 844px;
    margin: 38px auto 0;
    padding: 28px 38px 24px;
  }

  .l-modal .mod-box-2 {
    margin: 24px 0 0;
    padding: 24px 38px 22px;
  }

  .mod-box-2 dl {
    display: flex;
    align-items: center;
    margin: 14px 0 0;
    padding: 10px 0 0;
    border-width: 2px;
  }

  .mod-box-2 dl:first-child {
    margin: 0;
    padding: 0;
    border: none;
  }

  .mod-box-2 dl dt {
    min-width: 160px;
    font-size: 2.4rem !important;
    line-height: 1.8;
  }

  .l-modal .mod-box-2 dl dt {
    min-width: 130px;
  }

  .mod-box-2 dl dd {
    flex: 1;
    margin: 0;
    font-size: 1.6rem !important;
    line-height: 1.5;
  }

  .mod-box-3 {
    margin: 46px 0 0;
    padding: 18px 64px 43px;
  }

  .mod-box-4 {
    padding: 14px 20px;
    border-width: 2px;
  }

  .section-inner .mod-box-vers { /* add0813 */
    width: 844px;
    margin: 38px auto 0;
    padding: 28px 38px 24px;
  }

  .l-modal .mod-box-vers { /* add0813 */
    margin: 24px 0 0;
    padding: 24px 38px 22px;
  }
  .mod-box-vers dl { /* add0813 */
    display: flex;
    align-items: center;
    margin: 14px 0 0;
    padding: 10px 0 0;
    border-width: 2px;
  }
  .mod-box-vers dl:first-child { /* add0813 */
    margin: 0;
    padding: 0;
    border: none;
  }
  .mod-box-vers dl dt { /* add0813 */
    min-width: 160px;
    font-size: 2.4rem !important;
    line-height: 1.8;
  }
  .l-modal .mod-box-2 dl dt { /* add0813 */
    min-width: 130px;
  }
  .mod-box-vers dl dd { /* add0813 */
    flex: 1;
    margin: 0;
    font-size: 1.6rem !important;
    line-height: 1.5;
  }

  .mod-link-list {
    margin: 28px 0 0;
  }

  .mod-link-list ul li {
    padding: 0 0 0 22px;
  }

  .mod-link-list ul li a {
    padding: 0 0 4px;
    border-width: 1px;
    font-size: 1.6rem;
    transition: opacity 0.2s ease-in-out;
  }

  .mod-link-list ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .mod-link-list ul li a:before {
    left: -22px;
    font-size: 1.6rem;
  }

  .mod-link-popup { /* add0824CB */
    display: none;
    position: absolute;
    bottom: 26px;
    left: 50%;
    width: 300px;
    margin: 0 0 0 -120px;
    padding: 10px;
    border: 1px solid #3587f6;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    opacity: 0;
    color: #000;
    font-size: 1.4rem;
    text-align: justify;
    letter-spacing: normal;
  }

  .mod-link-popup:before { /* add0824CB */
    content: '';
    display: block;
    position: absolute;
    bottom: -10px;
    left: 40%;
    width: 13px;
    height: 11px;
    margin: 0 0 0 15px;
    background: url(../image/bg_fukidashi_02.png) no-repeat 40% 0;
    background-size: contain;
  }

  .mod-link-popup span { /* add0824CB */
    display: block;
    overflow: hidden;
  }

  .mod-link-keyword.is-active .mod-link-popup { /* add0824CB */
    display: block;
    opacity: 1;
    -webkit-animation: fade-in 0.2s ease-in-out forwards;
    animation: fade-in 0.2s ease-in-out forwards;
  }

  .qa-detail-a > div.text ul a.mod-link-keyword.is-active > .mod-link-popup > span{ /* add181219 */
    text-indent: 0;
  }

  .mod-link-keyword.is-hidden .mod-link-popup { /* add0824CB */
    opacity: 0;
    -webkit-animation: fade-out 0.2s ease-in-out;
    animation: fade-out 0.2s ease-in-out;
  }

  .mod-link-button {
    margin: 40px 0 0;
    text-align: center;
  }
  .page-vers .mod-link-button { /* add0813 */
    margin: 1.7em 0;
    text-align: center;
  }


  figure + .mod-link-button,
  .list-box + .mod-link-button {
    margin: 50px 0 0;
  }

  .mod-link-button a {
    display: inline-block;
    padding: 4px 58px 4px 31px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 2.0rem;
    transition: opacity 0.2s ease-in-out;
  }
  .page-vers .mod-link-button a { /* add0813 */
    display: inline-block;
    box-sizing: border-box;
    min-width: 200px;
    max-width: 100%;
    margin: 20px 10px 0;
    padding: 4px 38px 4px 11px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 2.0rem;
    transition: opacity 0.2s ease-in-out;
  }
 
  .mod-link-button a:hover,
  .page-vers .mod-link-button a:hover { /* add0813 */
    opacity: 0.7;
    text-decoration: none;
  }

  .mod-link-button a:after,
  .page-vers .mod-link-button a:after { /* add0813 */
    right: 17px;
    width: 10px;
    height: 17px;
    margin: -8px 0 0;
  }

  .page-vers .mod-link-button a.arrowDown,
  .page-vers .mod-link-button a.arrowUp { /* add0831 */
    padding: 4px 38px 4px 11px;
  }
  .page-vers .mod-link-button a.arrowDown:after { /* add0831 */
    right: 9px;
    width: 17px;
    height: 10px;
    margin: -5px 0 0;
  }
  .page-vers .mod-link-button a.arrowUp:after { /* add0831 */
    right: 9px;
    width: 17px;
    height: 10px;
    margin: -5px 0 0;
  }

  .mod-link-button.prev {
    margin: 18px 0 0;
  }

  .mod-link-button.prev a {
    padding: 4px 31px 4px 58px;
  }

  .mod-link-button.prev a:after {
    left: 17px;
  }

  .page-qa-detail .mod-link-button.prev-blue {
    margin: 30px 0 60px;
  }

  .page-word-detail .mod-link-button.prev-blue {
    margin: 30px 0 0;
  }

  .mod-link-button.prev-blue a {
    padding: 4px 31px 4px 58px;
  }

  .mod-link-button.prev-blue a:after {
    left: 17px;
  }

  .mod-link-button.inner-prev {
    margin-top: 32px;
  }

  .mod-link-button.inner-prev a {
    min-width: 456px;
    font-size: 2.0rem;
  }

  .mod-link-button.inner-prev a:after {
    width: 18px;
    height: 11px;
    margin: -6px 0 0;
  }

  .is-menu-open .l-header {
    background: transparent !important;
  }

  .l-header {
    min-width: 1200px;
    height: 102px !important;
    border-width: 2px;
    transition: none;
  }

  .is-menu-open .l-header {
    background: #fff;
  }

  .home .l-header {
    height: 96px !important;
    border-bottom-width: 2px;
  }

  .l-header-inner {
    width: 1200px;
    margin: 0 auto;
  }

  .l-header-logo {
    top: 19px;
    left: 25px;
    width: auto;
    height: auto;
  }

  .l-header-logo a:before {
    display: none;
  }

  .is-menu-open .l-header-logo a {
    pointer-events: unset;
  }

  .l-header-toggle {
    display: none;
  }

  .l-header-menu {
    display: block;
    position: static;
    padding: 0;
  }

  .l-header-menu-inner {
    overflow: visible;
    background-color: transparent;
  }

  .l-header-more {
    display: block;
    position: absolute;
    top: 28px;
    left: 815px;
  }

  .l-header-nav {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    background: transparent;
  }

  .is-menu-open .l-header-nav {
    padding: 0;
  }

  .l-header-nav-heading {
    display: none;
  }

  .l-header-nav-lesson {
    display: flex;
    position: absolute;
    top: 15px;
    left: 224px;
    width: 575px;
    padding: 0;
    background: transparent;
  }

  .l-header-nav-lesson li {
    display: flex;
    position: relative;
    justify-content: center;
    width: 115px;
    border: none;
  }

  .l-header-nav-lesson li:before {
    content: '';
    display: block;
    position: absolute;
    top: 5px;
    left: 1px;
    width: 1px;
    height: calc(100% - 6px);
    background: #bfbfbf;
  }

  .l-header-nav-lesson li:first-child:before {
    display: none;
  }

  .l-header-nav-lesson li.is-current a {
    pointer-events: none;
  }

  .l-header-nav-lesson li.is-current a:hover {
    opacity: 1;
  }

  .l-header-nav-lesson li.is-current a:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #3587f6;
  }

  .l-header-nav-lesson a {
    position: relative;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0.05em;
    transition: opacity 0.2s ease-in-out;
  }

  .l-header-nav-lesson a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .l-header-nav-lesson a:before {
    display: none;
  }

  .l-header-nav-lesson a br {
    display: block;
  }

  .l-header-nav-lesson a span {
    margin: 0 0 6px;
    font-size: 1.4rem;
    letter-spacing: 0;
  }

  .l-header-nav-more {
    display: block;
    height: auto;
    padding: 0;
    border-radius: 4px;
    background: #fff;
  }

  .l-header-nav-more a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 184px;
    height: 39px;
    padding: 0 10px 0 0;
    border: 1px solid #3587f6;
    border-radius: 4px;
    color: #3587f6;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    pointer-events: unset;
  }

  .l-header-nav-more a:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height: 8px;
    margin: -3px 0 0;
    background: url(../image/ico_arrow_down_01.png) no-repeat 0 0;
    background-size: contain;
  }

  .is-more-open .l-header-nav-more a:before {
    -webkit-transform: rotateX(180deg) translateY(2px);
    transform: rotateX(180deg) translateY(2px);
  }

  .l-header-nav-more-link {
    display: none;
    position: absolute;
    top: 30px;
    right: 0;
    padding: 18px 0 0;
    background: transparent;
    opacity: 0;
    letter-spacing: -0.4em;
  }

  .l-header-nav-more-link > * {
    letter-spacing: normal;
  }

  .l-header-nav-more-link ul {
    position: relative;
    padding: 0 12px;
    border-radius: 4px;
    background: #3587f6;
  }

  .l-header-nav-more-link ul:before {
    content: '';
    display: block;
    position: absolute;
    right: 28px;
    bottom: 100%;
    width: 0;
    height: 0;
    border-width: 0 5px 18px;
    border-style: solid;
    border-color: transparent transparent #3587f6 transparent;
  }

  .l-header-nav-more-link li {
    border-top: 1px solid #fff;
    border-bottom: none;
  }

  .l-header-nav-more-link li:first-child {
    border-top: none;
  }

  .l-header-nav-more-link li a {
    padding: 12px 16px 10px 0;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    transition: opacity 0.2s ease-in-out;
  }


  .l-header-nav-more-link a span.more-link-inner { /* add0827 */
    color: #fff;
    font-size: 1.2rem;
    font-weight: 200;
  }


  .l-header-nav-more-link li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .l-header-nav-more-link li a:before {
    top: 50%;
    right: 0;
    width: 12px;
    height: 8px;
    margin: -4px 0 0;
    background: url(../image/ico_arrow_down_02.png) no-repeat 0 0;
    background-size: contain;
  }

  .is-more-open .l-header-nav-more-link {
    display: inline-block;
    opacity: 1;
    white-space: nowrap;
    -webkit-animation: fade-in-ib 0.2s ease-in-out forwards;
    animation: fade-in-ib 0.2s ease-in-out forwards;
  }

  .is-fade-out .l-header-nav-more-link {
    opacity: 1;
    -webkit-animation: fade-out-ib 0.2s ease-in-out forwards;
    animation: fade-out-ib 0.2s ease-in-out forwards;
  }

  .l-header-logo-jsda {
    display: block !important;
    position: absolute;
    top: 14px;
    right: 24px;
    width: 148px;
    height: 31px;
    margin: 0 !important;
    padding: 0 0 0 4px !important;
    background: transparent !important;
  }

  .l-header-logo-jsda a {
    display: block !important;
    height: auto !important;
  }

  .l-header-logo-jsda img {
    width: 100% !important;
    height: auto !important;
  }

  .l-header-search {
    display: block;
    position: absolute;
    top: 44px;
    right: 23px;
    width: 150px;
    margin: 9px 0 0;
  }

  .l-header-search-toggle {
    display: none;
  }

  .l-header-search #jsda_header_search {
    display: block;
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    background: transparent;
  }

  .l-header-search #jsda_entry {
    display: block;
  }

  .l-header-search-input {
    height: 27px;
    padding: 0 26px 0 8px;
    border: none;
    border-radius: 0;
    background: #e9e9e9 !important;
    font-size: 1.2rem;
  }

  .l-header-search-btn {
    top: 50%;
    right: 7px;
    width: 17px;
    height: 17px;
    margin: -7px 0 0;
  }

  .is-menu-open .l-header-search {
    display: block;
  }

  .l-header-close {
    display: none;
  }

  .is-menu-open .l-header-close {
    display: none;
    margin: 0;
  }

  #bizasarchAspSuggest li {
    padding: 5px 10px;
    font-size: 1.2rem;
  }

  .l-footer {
    min-width: 1200px;
    border-top: 2px solid #fff;
  }

  .l-footer-inner {
    width: 1200px;
    margin: 0 auto;
    padding: 58px 0 56px;
  }

  .l-footer-inner .text {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
  }

  .l-footer-inner .text br {
    display: none;
  }

  .l-footer-inner .link {
    margin: 28px 0 0;
  }

  .l-footer-inner .link a {
    width: 315px;
    height: 50px;
    border-radius: 4px;
    font-size: 2.0rem;
    transition: opacity 0.2s ease-in-out;
  }

  .l-footer-inner .link a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .l-footer-inner .link a:after {
    right: 19px;
    width: 10px;
    height: 17px;
    margin: -8px 0 0;
  }

  .l-footer-nav {
    margin: 34px 0 0;
  }

  .l-footer-nav li {
    margin: 0;
    font-size: 1.4rem;
  }

  .l-footer-nav li:before {
    margin: 0;
  }

  .l-footer-nav li:nth-child(3):before {
    display: inline-block;
  }

  .l-footer-nav li:first-child {
    margin-left: 0;
  }

  .l-footer-nav li:nth-child(2) {
    margin-right: 0;
  }

  .l-footer-pagetop {
    display: block;
    position: absolute;
    top: 144px;
    right: 50%;
    width: 65px;
    height: 65px;
    margin: 0 -500px 0 0;
    transition: none;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .l-footer-pagetop a {
    transition: opacity 0.2s ease-in-out;
  }

  .l-footer-pagetop a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .is-pagetop-fixed .l-footer-pagetop {
    bottom: auto;
  }

  .l-footer-copyright {
    height: 70px;
    font-size: 1.2rem;
  }

  .l-contents {
    padding: 102px 0 0;
  }

  .l-contents section {
    margin: 60px 0 0;
    padding: 0;
  }

  .l-contents .section-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 70px 0 0;
    border-width: 2px;
  }
  .page-vers .section-inner { /* add0813 */
    padding: 0;
  }
  .l-contents .section-inner h2 {
    text-align: center;
  }

  .l-contents .section-inner h2 .heading-inner {
    display: inline-block;
    padding: 0 0 6px;
    border-width: 2px;
    font-size: 3.2rem;
    white-space: normal;
  }

  .l-contents .section-inner h2 .heading-inner br {
    display: none;
  }

  .l-contents .section-inner h2 .point {
    width: 120px;
    height: 120px;
    margin: 0 auto 29px;
  }

  .l-contents .section-inner h3 {
    margin: 54px 0 0;
    font-size: 3.0rem;
    letter-spacing: 0;
  }

  .l-contents .section-inner h3:first-of-type {
    margin: 38px 0 0;
  }

  .l-contents .section-inner h3 .number {
    width: 60px;
    height: 60px;
    margin: 0 12px 0 0;
    padding: 0 0 0 4px;
    font-size: 3.4rem;
  }

  .l-contents .section-inner h3 .cause {
    width: 60px;
    min-width: 60px;
    height: 60px;
    margin: 0 14px 0 0;
  }

  .l-contents .section-inner h3 .sup {
    padding: 8px 0 0;
    font-size: 1.6rem;
  }

  .l-contents .section-inner h3.heading-band {
    margin: 51px 0 0;
    padding: 10px 10px 15px;
    font-size: 2.8rem;
    letter-spacing: -0.05em;
  }

  .l-contents .section-inner h3.heading-band br {
    display: none;
  }

  .l-contents .section-inner h3.heading-band + .l-column {
    margin: 30px 0 0;
  }

  .l-contents .section-inner h3.double {
    margin: 40px 0 0;
    padding: 0 0 0 22px;
    font-size: 2.6rem;
  }

  .l-contents .section-inner h3.double:before {
    width: 6px;
    height: 33px;
    border-width: 2px;
  }

  .l-contents .section-inner h3.double span {
    font-size: 1.8rem;
  }

  .l-contents .section-inner p {
    margin: 24px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
  }

  .page-vers .section-inner p { /* add0813 */
    text-align: left;
  }

  .page-vers .section-inner:first-child { /* add0820 */
    padding-top: 0;
  }
  .page-vers .section-inner { /* add0820 */
    padding-top: 5em;
  }

  .l-contents .page-vers .section-inner h4 { /* 0813 */
    margin: 40px 0 0;
    padding: 0 0 0 20px;
    font-size: 2.8rem;
    letter-spacing: -0.05em;
  }
  .l-contents .page-vers .section-inner h4:before { /* 0813 */
    width: 7px;
    border-width: 2px;
  }

  .l-contents .section-inner p cite {
    font-size: 1.2rem;
  }

  .l-contents .section-inner figure {
    width: 100%;
    margin: 35px 0 0;
  }

  .l-contents .section-inner figure figcaption {
    margin: 2px 0 0 !important;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.01em;
  }

  .l-contents .section-inner dl dt {
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .l-contents .section-inner dl dd {
    margin: 5px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .l-contents .section-inner .note {
    margin: 5px 0 0 !important;
    font-size: 1.2rem;
    line-height: 2;
  }

  .l-contents .section-inner .note br {
    display: none;
  }

  .l-contents .section-inner .summary {
    font-size: 2.4rem;
    line-height: 1.8;
    letter-spacing: normal;
  }

  .l-contents .section-inner .summary br {
    display: none;
  }

  .l-contents .section-inner .namely {
    font-size: 3.0rem;
    line-height: 1.4;
    letter-spacing: -0.1em !important;
  }

  .l-contents .section-inner .list-image {
    display: flex;
    justify-content: center;
    width: auto;
    margin: 41px auto 0;
    padding: 0 0 10px;
  }

  .l-contents .section-inner .list-image li {
    width: 250px;
    height: 250px;
    margin: 0 12px;
  }

  .l-contents .section-inner .list-image li:first-child {
    margin: 0 12px;
  }

  .l-contents .section-inner .list-box {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 0;
  }

  .l-contents .section-inner .list-box li {
    width: 327px;
    margin: 0;
    padding: 18px 26px 16px;
    border-width: 2px;
    border-radius: 4px;
  }

  .l-contents .section-inner .list-box .title {
    font-size: 3.0rem;
    letter-spacing: -0.05em;
  }

  .l-contents .section-inner .list-box .text {
    margin: 12px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .l-contents .page-lesson5 .section-inner .list-image.list2 {
    width: auto;
  }

  .l-contents .page-lesson5 .section-inner .list-image.list2 li {
    width: 275px;
    margin: 0 28px;
  }

  .l-contents .page-proverb h2 .heading-inner {
    padding: 0 16px 5px;
    border-bottom-width: 3px;
  }

  .l-contents .page-proverb h2 + p {
    margin: 50px 0 0;
  }

  .l-contents .page-proverb p {
    margin: 60px 0 0;
    font-size: 2.0rem;
    line-height: 1.7;
    text-align: justify;
  }

  .l-contents .page-proverb p:last-child {
    padding-bottom: 60px;
  }

  .l-contents .page-proverb table,
  .l-contents .page-qa-detail table, /* add0822 */
  .l-contents .page-vers table, /* add0813 */
  .l-contents .page-vers table.bl { /* add0821 */
    margin: 30px 0 0;
    padding: 0 24px;
  }
  .l-contents .page-qa-detail table { /* add0822 */
    line-height:1.4;
  }
  .l-contents .page-qa-detail table.col2 { /* add0823 */
    display:inline-block;
    max-width: 505px;
  }

  .l-contents .page-proverb table caption {
    margin: 16px 0 0;
    font-size: 2.0rem;
    text-indent: 0;
  }

  .l-contents .page-proverb table tbody,
  .l-contents .page-qa-detail table tbody, /* add0822 */
  .l-contents .page-vers table tbody, /* add0813 */
  .l-contents .page-vers table.bl tbody { /* add0821 */
    border-width: 1px;
  }

  .l-contents .page-proverb table td {
    padding: 15px 30px;
    border-width: 1px;
    font-size: 2.0rem;
  }
  .l-contents .page-qa-detail table td, /* add0822 */
  .l-contents .page-vers table td, /* add0813 */
  .l-contents .page-vers table.bl td { /* add0821 */
    padding: 15px 30px;
    border-width: 1px;
    font-size: 1.7rem;
  }
  .l-contents .page-qa-detail table.alignL td.eyeCatch { /* add0822 */
    width: 22%;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.2;
  }
  .l-contents .page-qa-detail table.alignL td.indent1e { /* add0822 */
    text-indent: 1em;
  }
    .l-contents .page-qa-detail table.alignL td .tdInner { /* add0822 */
      font-size: 1.7rem;
      line-height:1.4;
    }

  .l-contents .page-qa-detail table.alignL.col2 td .eyeCatch { /* add0823 */
    font-size:1.8rem;
  }

  .l-contents .page-proverb ol {
    margin: 20px 0 0;
    padding: 0 0 0 64px;
  }

  .l-contents .page-proverb ol > li {
    margin: 0;
  }

  .l-contents .page-proverb ol > li:before {
    left: -36px;
    text-align: right;
  }

  .l-contents .page-proverb ol li {
    font-size: 2.0rem;
  }

  .img-resize { /* add20201110 */
    text-align: center;
    width: auto;
  }

  .l-column {
    display: flex;
    justify-content: space-between;
    margin: 20px 0 0;
  }

  .l-column-left {
    width: 595px;
    min-width: 595px;
    max-width: 595px;
    margin: 0 30px 0 0;
  }

  .l-column-right > *:first-child {
    margin-top: 0 !important;
  }

  .l-column-right p {
    text-align: justify !important;
    letter-spacing: -0.05em !important;
  }

  .l-column figure {
    margin: 0 !important;
  }

  .l-column.right-image {
    margin: 9px 0 0;
  }

  .l-column.right-image figure {
    order: 2;
    width: 195px;
    margin: -55px 0 0 35px !important;
  }

  .l-column.right-image .l-column-inner {
    flex: 1;
    order: 1;
  }

  .l-column.right-image .l-column-inner p {
    margin: 5px 0 0;
    text-align: justify;
  }

  .l-column.right-image .l-column-inner .list-word {
    margin: 13px 0 0;
  }

  .l-column.right-image .l-column-inner .list-word li {
    margin: 15px 0 0;
  }

  .l-column.right-image .l-column-inner .list-word .word {
    margin: 0 10px 0 0;
    padding: 2px 18px 4px 11px;
    border-width: 1px;
    font-size: 2.0rem;
  }

  .l-column.right-image .l-column-inner .list-word .text {
    padding: 2px 0 0;
    font-size: 1.6rem;
  }

  .l-modal {
    padding: 227px 0;
  }

  .l-modal-inner {
    width: 922px;
    padding: 55px 45px 40px;
  }

  .l-modal-close {
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
  }

  .l-modal-close-bottom {
    width: 145px;
    height: 50px;
    margin: 40px auto 0;
    padding: 0 30px 0 15px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 2.0rem;
  }

  .l-modal-close-bottom:before {
    right: 14px;
    width: 16px;
    height: 16px;
    margin: -8px 0 0;
  }

  .l-modal h2 {
    padding: 0 0 12px;
    border-width: 2px;
    font-size: 3.2rem;
    line-height: 1.2;
  }

  .l-modal h2 br {
    display: none;
  }

  .l-modal figure {
    margin: 38px 0 0;
    text-align: center;
  }

  .l-modal p {
    margin: 22px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
  }

  .l-modal .list-index > li {
    margin: 36px 0 0;
  }

  .l-modal .list-index .title {
    font-size: 2.0rem;
  }

  .l-modal .list-index ul {
    margin: 6px 0 0;
  }

  .l-modal .list-index ul li {
    margin: 4px 0 0;
    font-size: 1.6rem;
    line-height: 1.7;
    letter-spacing: -0.05em;
  }

  .block-kv {
    min-width: 1200px;
    height: 318px;
    background-position: 0 0;
  }

  .block-kv-inner {
    width: 1200px;
    margin: 0 auto;
  }

  .page-lesson1 .block-kv {
    background-image: url(../image/lesson1/bg_kv_01.jpg);
  }

  .page-lesson1 .block-kv h1 {
    top: 50px;
    left: 50%;
    width: 352px;
    height: 215px;
    margin: 0 0 0 90px;
    background-image: url(../image/lesson1/ttl_kv_01.png);
  }

  .page-lesson2 .block-kv {
    background-color: #d3f5f9;
    background-image: none;
  }

  .page-lesson2 .block-kv .block-kv-inner {
    background: url(../image/lesson2/bg_kv_01.jpg) no-repeat 0 0;
    background-size: auto 100%;
  }

  .page-lesson2 .block-kv h1 {
    top: 80px;
    left: 50%;
    width: 394px;
    height: 145px;
    margin: 0 0 0 -500px;
    background-image: url(../image/lesson2/ttl_kv_01.png);
  }

  .page-lesson3 .block-kv {
    background-image: url(../image/lesson3/bg_kv_01.jpg);
    background-position: 50% 90%;
  }

  .page-lesson3 .block-kv h1 {
    top: 88px;
    left: 50%;
    width: 407px;
    height: 143px;
    margin: 0 0 0 24px;
    background-image: url(../image/lesson3/ttl_kv_01.png);
  }

  .page-lesson5 .block-kv {
    background-image: url(../image/lesson5/bg_kv_01.jpg);
    background-position: 50% 50%;
  }

  .page-lesson5 .block-kv h1 {
    top: 85px;
    left: 50%;
    width: 413px;
    height: 146px;
    margin: 0 0 0 -18px;
    background-image: url(../image/lesson5/ttl_kv_01.png);
  }

  .home .block-kv .block-kv-heading {
    top: 211px;
    width: 422px;
    height: 217px;
    margin: 0 0 0 -209px;
  }

  .home .block-kv .block-kv-text {
    top: 461px;
    width: 513px;
    height: 78px;
    margin: 0 0 0 -261px;
  }

  .home .block-kv .block-kv-youtube {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 650px;
  }

  .home .block-kv .block-kv-youtube:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(32, 18, 39, 0.12);
  }

  .home .block-kv .block-kv-youtube-inner {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
  }

  .home .block-kv .block-kv-youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    border: none;
  }

  .home .block-kv .block-kv-slider {
    display: none;
    height: 650px;
  }

  .home .block-kv .block-kv-slider:after {
    background-size: auto;
  }

  .home .block-kv .block-kv-slider .slide {
    background-size: 0, cover;
  }

  .home .block-kv .block-kv-sns {
    display: block;
    width: 1000px;
    margin: 15px auto 0;
  }

  .home .block-kv .block-kv-sns ul {
    margin: 0;
    text-align: right;
  }

  .home .block-kv .block-kv-sns ul li {
    margin: 0 0 0 5px;
  }

  .home .block-kv .block-kv-pickup {
    position: absolute;
    z-index: 7;
    top: 462px;
    left: 50%;
    width: 272px;
    height: 152px;
    margin: 0 0 0 -552px;
    padding: 13px 15px 14px;
    background: rgba(255, 255, 255, 0.5);
  }

  .home .block-kv .block-kv-pickup-heading {
    font-size: 2.2rem;
    letter-spacing: 0.055em;
  }

  .home .block-kv .block-kv-pickup-slider {
    margin: 8px 0 0;
  }

  .home .block-kv .block-kv-pickup-slider .slide a {
    transition: opacity 0.2s ease-in-out;
  }

  .home .block-kv .block-kv-pickup-slider .slide a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .home .block-kv .block-kv-pickup-slider .slide img {
    border: none;
  }

  .home .block-kv .block-kv-pickup .slick-dots {
    bottom: -27px;
  }

  .home .block-kv .block-kv-pickup .slick-dots li {
    margin: 0 3px;
  }

  .home .block-kv .block-kv-pickup .slick-dots li button {
    width: 7px;
    height: 7px;
  }

  .home .block-kv .block-kv-inlink {
    display: none;
  }

  .home .block-kv .block-kv-question {
    top: 0;
    overflow: visible;
    width: 100%;
    height: 650px;
    margin: 0 auto;
  }

  .home .block-kv .block-kv-question-inner {
    position: relative;
    opacity: 1;
    white-space: normal;
    transition: none;
  }

  .home .block-kv .block-kv-question .question {
    display: none;
    position: absolute;
    margin: 0;
    padding: 0 0 0 12px;
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
  }

  .home .block-kv .block-kv-question .question.pos-01 {
    top: 346px;
    left: 120px;
  }

  .home .block-kv .block-kv-question .question.pos-02 {
    top: 238px;
    left: 80px;
  }

  .home .block-kv .block-kv-question .question.pos-03 {
    top: 127px;
    left: 26px;
  }

  .home .block-kv .block-kv-question .question.pos-04 {
    top: 159px;
    left: 836px;
  }

  .home .block-kv .block-kv-question .question.pos-05 {
    top: 269px;
    left: 890px;
  }

  .home .block-kv .block-kv-question .question.pos-06 {
    top: 378px;
    left: 940px;
  }

  .home .block-kv .block-kv-question .question.pos-04,
  .home .block-kv .block-kv-question .question.pos-05,
  .home .block-kv .block-kv-question .question.pos-06 {
    padding: 0 12px 0 0;
  }

  .home .block-kv .block-kv-question .question.pos-04 a:before,
  .home .block-kv .block-kv-question .question.pos-05 a:before,
  .home .block-kv .block-kv-question .question.pos-06 a:before {
    right: -12px;
    left: auto;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }

  .home .block-kv .block-kv-question .question.is-active {
    display: block;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: fade-in 0.5s ease-in-out forwards;
    animation: fade-in 0.5s ease-in-out forwards;
  }

  .home .block-kv .block-kv-question .question.is-out {
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-animation: fade-out 0.5s ease forwards;
    animation: fade-out 0.5s ease forwards;
  }

  .home .block-kv .block-kv-question .question a {
    width: 234px;
    margin: 10px 0;
    padding: 14px 20px 24px;
    border-radius: 14px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    font-size: 1.6rem;
    transition: opacity 0.2s ease-in-out;
  }

  .home .block-kv .block-kv-question .question a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .home .block-kv .block-kv-question .question a:before {
    bottom: 15px;
    left: -12px;
    width: 13px;
    height: 17px;
  }

  .home .block-kv .block-kv-question .question a:after {
    right: 15px;
    bottom: 10px;
    width: 58px;
    height: 12px;
  }

  .is-notallow-youtube .block-kv .block-kv-youtube {
    display: none;
  }

  .is-notallow-youtube .block-kv .block-kv-slider {
    display: block;
  }

  .block-news {
    width: 680px;
    margin: 25px auto 0;
    padding: 0;
  }

  .block-news-heading {
    font-size: 2.4rem;
  }

  .block-news ul {
    margin: 16px 0 0;
    padding: 20px 60px;
    border-width: 1px;
  }

  .block-news li {
    margin: 8px 0 0;
  }

  .block-news li:first-child {
    margin: 0;
  }

  .block-news li .date,
  .block-news li .title {
    font-size: 1.5rem;
  }

  .block-news li .date {
    width: 82px;
    margin: 0 10px 0 0;
  }

  .block-news li:not(:first-child) {
    display: flex;
  }

  .block-check {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin: 70px auto 0;
    padding: 0;
  }

  .block-check-lead {
    display: none;
  }

  .block-check-recommend.is-open .block-check-content,
  .block-check-qa.is-open .block-check-content {
    display: flex;
  }

  .block-check-recommend,
  .block-check-qa {
    border-radius: 0;
    background: transparent;
  }

  .block-check-recommend .block-check-content,
  .block-check-qa .block-check-content {
    overflow: visible;
    transition: none;
  }

  .block-check-recommend {
    width: 560px;
    margin: 0;
  }

  .block-check-recommend .block-check-heading span span {
    display: block;
    position: absolute;
    top: -36px;
    left: -79px;
    overflow: hidden;
    width: 87px;
    height: 67px;
    background: url(../image/deco_home_recommend_01.png) no-repeat 0 0;
    background-size: contain;
    white-space: nowrap;
    text-indent: 200%;
  }

  .block-check-recommend .block-check-content {
    height: 280px;
    margin: 26px 0 0;
    padding: 0 0 30px;
  }

  .block-check-recommend .block-check-content .sup {
    bottom: 15px;
    font-size: 14px;
  }

  .block-check-recommend.is-open .block-check-content {
    height: 280px;
    padding: 0 0 30px;
  }

  .block-check-qa {
    width: 420px;
    margin: 0;
  }

  .block-check-qa .block-check-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 280px;
    margin: 26px 0 0;
    padding: 0;
  }

  .block-check-qa .mod-link-button {
    width: auto;
    margin: 0;
  }

  .block-check-qa .mod-link-button li {
    margin: 18px 0 0;
  }

  .block-check-qa .mod-link-button a {
    width: 315px;
  }

  .block-check-qa.is-open .block-check-content {
    height: 280px;
    padding: 0;
  }

  .block-check-heading {
    display: block;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #000;
    font-size: 2.4rem;
    font-weight: 700;
  }

  .block-check-heading span {
    display: inline-block;
    position: relative;
  }

  .block-check-heading:after {
    display: none;
  }

  .block-check-content {
    display: block;
    border-radius: 9px;
    background: #eae7d9;
  }

  .block-check-content-inner {
    padding: 10px;
  }

  .block-check-content-inner-slider a {
    width: 394px;
    margin: 16px auto 0;
  }

  .block-check-content-inner-slider a img {
    width: 100%;
    border-radius: 4px;
  }

  .block-check-content-inner-slider .slick-arrow {
    top: 120px;
    width: 16px;
    height: 38px;
    background-size: contain;
  }

  .block-check-content-inner-slider .slick-prev {
    left: 30px;
  }

  .block-check-content-inner-slider .slick-next {
    right: 30px;
  }

  .block-check-content-inner-slider .slick-dots {
    bottom: -28px;
  }

  .block-check-content-inner-slider .slick-dots li {
    width: 11px;
    height: 11px;
    margin: 0 4px;
  }

  .block-check-content .label.q1,
  .block-check-content .label.q2,
  .block-check-content .label.q3,
  .block-check-content .label.recommend {
    position: absolute;
    top: -19px;
    left: 50%;
  }

  .block-check-content .label.q1,
  .block-check-content .label.q2,
  .block-check-content .label.q3 {
    width: 50px;
    height: 50px;
    min-height: 50px;
    margin: 0 0 0 -25px;
  }

  .block-check-content .label.recommend {
    width: 217px;
    height: 50px;
    margin: 0 0 0 -109px;
  }

  .block-check-content .question,
  .block-check-content .title {
    margin: 40px 0 0;
    font-size: 2.2rem;
  }

  .block-check-content .answer {
    margin: 0 -10px;
  }

  .block-check-content .answer li {
    min-width: 150px;
    margin: 20px 10px 0;
  }

  .block-check-content .answer li a {
    height: 50px;
    padding: 0 30px;
    border-radius: 4px;
    font-size: 2.0rem;
    transition: opacity 0.2s ease-in-out;
  }

  .block-check-content .answer li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-lesson {
    margin: 50px 0 0;
  }

  .block-lesson-inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
  }

  .block-lesson .mod-link-button {
    width: 235px;
    height: 50px;
  }

  .block-lesson .mod-link-button.is-active .mod-link-button-content {
    display: block;
    opacity: 1;
    -webkit-animation: fade-in 0.2s ease-in-out forwards;
    animation: fade-in 0.2s ease-in-out forwards;
  }

  .block-lesson .mod-link-button.is-hidden .mod-link-button-content {
    opacity: 0;
    -webkit-animation: fade-out 0.2s ease-in-out;
    animation: fade-out 0.2s ease-in-out;
  }

  .block-lesson .mod-link-button a {
    padding: 6px 28px 12px 16px;
    font-size: 2.0rem;
  }

  .block-lesson .mod-link-button-content {
    position: absolute;
    padding: 27px 0 26px 26px;
    border-radius: 4px;
    background: rgba(225, 237, 253, 0.9);
    text-align: left;
  }

  .block-lesson .mod-link-button-content:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 18px;
    width: 0;
    height: 0;
    border-width: 7px 0 7px 20px;
    border-style: solid;
    border-color: transparent transparent transparent rgba(225, 237, 253, 0.9);
  }

  .block-lesson .mod-link-button-content h3 {
    color: #3587f6;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.075em;
  }

  .block-lesson .mod-link-button-content ul {
    margin: 13px 0 0;
  }

  .block-lesson .mod-link-button-content ul li {
    margin: 10px 0 0;
    padding: 0 0 0 1em;
    color: #3587f6;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.3;
    text-indent: -1em;
    letter-spacing: -0.01em;
  }

  .block-lesson-links {
    display: flex;
    top: 315px;
    left: 100px;
    justify-content: space-between;
    width: 1000px;
  }

  .block-lesson-links li {
    display: block;
    margin: 0;
  }

  .block-lesson-links li a {
    width: 239px;
    height: 60px;
    padding: 19px 30px 16px 10px;
    border-radius: 30px;
    font-size: 1.8rem;
    transition: opacity 0.2s ease-in-out;
  }

  .block-lesson-links li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-lesson-links li a:after {
    right: 17px;
    width: 10px;
    height: 17px;
    margin: -8px 0 0;
  }

  .block-lesson-01 {
    height: 360px;
    background-image: url(../image/bg_home_lesson_01.jpg);
  }

  .block-lesson-01 h2 {
    top: 30px;
    left: 695px;
    width: 353px;
    height: 215px;
    background-image: url(../image/ttl_home_lesson_01.png);
  }

  .block-lesson-01 .mod-link-button {
    top: 274px;
    left: 695px;
  }

  .block-lesson-01 .mod-link-button-content {
    bottom: 0;
    left: -386px;
    width: 373px;
  }

  .block-lesson-01 .mod-link-button-content:before {
    left: 100%;
  }

  .block-lesson-02 {
    height: 360px;
    background-color: #d3f5f9;
    background-image: url(../image/bg_home_lesson_02.jpg);
    background-size: auto 360px;
  }

  .block-lesson-02 h2 {
    top: 65px;
    left: 100px;
    width: 395px;
    height: 145px;
    background-image: url(../image/ttl_home_lesson_02.png);
  }

  .block-lesson-02 .mod-link-button {
    top: 240px;
    left: 100px;
  }

  .block-lesson-02 .mod-link-button-content {
    right: -538px;
    bottom: 0;
    width: 430px; /* add0817 */
  }

  .block-lesson-02 .mod-link-button-content:before {
    right: 100%;
    border-width: 7px 20px 7px 0;
    border-color: transparent rgba(225, 237, 253, 0.9) transparent transparent;
  }

  .block-lesson-03 {
    height: 360px;
    background-image: url(../image/bg_home_lesson_03.jpg);
    background-position: 50% 80%;
  }

  .block-lesson-03 h2 {
    top: 68px;
    left: 624px;
    width: 407px;
    height: 143px;
    background-image: url(../image/ttl_home_lesson_03.png);
  }

  .block-lesson-03 .mod-link-button {
    top: 240px;
    left: 624px;
  }

  .block-lesson-03 .mod-link-button-content {
    bottom: 0;
    left: -430px;
    width: 417px;
  }

  .block-lesson-03 .mod-link-button-content:before {
    left: 100%;
  }

  .block-lesson-04 {
    height: 435px;
    background-color: #d5dfeb;
    background-image: url(../image/bg_home_lesson_04.jpg);
    background-size: auto 435px;
  }

  .block-lesson-04 h2 {
    top: 58px;
    left: 100px;
    width: 423px;
    height: 146px;
    background-image: url(../image/ttl_home_lesson_04.png);
  }

  .block-lesson-04 .mod-link-button {
    top: 235px;
    left: 100px;
  }

  .block-lesson-04 .mod-link-button-content {
    right: -568px;
    bottom: 0;
    width: 555px;
  }

  .block-lesson-04 .mod-link-button-content:before {
    right: 100%;
    border-width: 7px 20px 7px 0;
    border-color: transparent rgba(225, 237, 253, 0.9) transparent transparent;
  }

  .block-lesson-05 {
    height: 360px;
    background-image: url(../image/bg_home_lesson_05.jpg);
  }

  .block-lesson-05 h2 {
    top: 60px;
    left: 665px;
    width: 413px;
    height: 146px;
    background-image: url(../image/ttl_home_lesson_05.png);
  }

  .block-lesson-05 .mod-link-button {
    top: 235px;
    left: 665px;
  }

  .block-lesson-05 .mod-link-button-content {
    bottom: 0;
    left: -401px;
    width: 388px;
  }

  .block-lesson-05 .mod-link-button-content:before {
    left: 100%;
  }

  .block-knowmore-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 65px 0 50px;
  }

  .block-knowmore h2 {
    font-size: 3.0rem;
  }

  .block-knowmore .lead {
    margin: 12px 0 0;
    font-size: 1.6rem;
  }

  .block-knowmore .lead br {
    display: none;
  }

  .block-knowmore ul {
    margin: 12px 0 0 -20px;
  }

  .block-knowmore ul li {
    width: 320px;
    height: 165px;
    margin: 20px 0 0 20px;
  }

  .block-knowmore ul li a {
    transition: opacity 0.2s ease-in-out;
  }

  .block-knowmore ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-knowmore ul li a:before {
    right: 12px;
    width: 14px;
    height: 24px;
    margin: -12px 0 0;
  }

  .page-lesson5 .block-knowmore {
    margin: 50px 0 0;
    border-top: 2px solid #3587f6;
    border-bottom-width: 2px;
  }

  .page-lesson5 .block-knowmore h2 br {
    display: none;
  }

  .block-special-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 65px 0 50px;
  }

  .block-special h2 {
    font-size: 3.0rem;
  }

  .block-special .lead {
    margin: 12px 0 0;
    font-size: 1.6rem;
  }

  .block-special .lead br {
    display: none;
  }

  .block-special-contents {
    overflow: visible;
    margin: 40px 0 0;
  }

  .block-special ul {
    overflow: visible;
    margin: 12px 0 0 -20px;
  }

  .block-special ul li {
    width: 320px;
    min-height: 365px;
    margin: 20px 0 0 20px;
  }

  .block-special ul li:nth-child(n+5) {
    display: inline-block;
    opacity: 1;
  }

  .block-special ul li a {
    transition: opacity 0.2s ease-in-out;
  }

  .block-special ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-special .wrap-text {
    padding: 20px;
  }

  .block-special .category-text,
  .block-special .category-movie,
  .block-special .category-seminar,
  .block-special .category-chart,
  .block-special .category-comic {
    min-width: 70px;
    height: 25px;
    padding: 0 14px 2px;
    border-width: 2px;
    font-size: 1.4rem;
  }

  .block-special .title {
    margin: 4px 0 0;
    font-size: 2.2rem;
    line-height: 1.5;
  }

  .block-special .title br {
    display: none;
  }

  .block-special .text {
    margin: 8px 0 0;
    font-size: 1.6rem;
  }

  .block-special .mod-link-button {
    display: none;
  }

  .block-special.is-open ul li:nth-child(n+5) {
    -webkit-animation: none;
    animation: none;
  }

  .block-special.is-close ul li:nth-child(n+5) {
    opacity: 1;
    -webkit-animation: none;
    animation: none;
  }

  .block-relatedsite-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 65px 0 50px;
  }

  .block-relatedsite h2 {
    font-size: 3.0rem;
  }

  .block-relatedsite ul {
    margin: 12px 0 0 -20px;
  }

  .block-relatedsite ul li {
    width: 235px;
    height: 100px;
    margin: 20px 0 0 20px;
  }

  .block-relatedsite ul li.col2 {
    width: 490px;
  }

  .block-relatedsite ul li a {
    transition: opacity 0.2s ease-in-out;
  }

  .block-relatedsite ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-relatedsite ul li a:before {
    right: 12px;
    width: 14px;
    height: 24px;
    margin: -12px 0 0;
  }

  .block-sns-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 65px 0 50px;
  }

  .block-sns h2 {
    font-size: 3.0rem;
  }

  .block-sns h2 br {
    display: none;
  }

  .block-sns ul {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
  }

  .block-sns ul li {
    width: 445px;
    min-width: 445px;
    margin: 20px 10px 0;
  }

  .block-sns ul li a {
    transition: opacity 0.2s ease-in-out;
  }

  .block-sns ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-nav-content ul li:nth-child(2n+1):last-child:before {
    display: none;
  }

  .block-nav-content ul li:nth-child(2n+1):last-child:after {
    display: none;
  }

  .block-nav-content {
    position: relative;
    width: 1000px;
    height: 120px;
    margin: 0 auto;
  }

  .block-nav-content ul {
    display: flex;
    position: absolute;
    top: 40px;
    left: 0;
    justify-content: space-between;
    width: 1000px;
    margin: 0;
    border: 0;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.7);
    letter-spacing: normal;
  }

  .block-nav-content ul li {
    width: 100%;
    height: auto;
    margin: 0 5px;
    border: 0;
    border-radius: 4px;
  }

  .block-nav-content ul li:first-child {
    margin-left: 0;
  }

  .block-nav-content ul li:last-child {
    margin-right: 0;
  }

  .block-nav-content ul li:after {
    display: none;
  }

  .block-nav-content ul li a {
    padding: 10px 32px 10px 10px;
    font-size: 2.0rem;
    line-height: 1.3;
    text-align: justify;
    letter-spacing: -0.075em;
    transition: opacity 0.2s ease-in-out;
  }

  .block-nav-content ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-nav-content ul li a br {
    display: none;
  }

  .block-nav-content ul li a:before {
    right: 14px;
    width: 17px;
    height: 10px;
    margin: -6px 0 0;
  }

  .block-nav-content ul li .point {
    width: 60px;
    min-width: 60px;
    height: 60px;
    margin: 0 8px 0 0;
  }

  .block-nav-content.bottom {
    display: none;
  }

  .block-nav-content + section {
    margin: 0;
  }

  .block-nav-content + section .section-inner {
    padding: 60px 0 0;
  }

  .block-nav-content.is-fixed ul {
    position: fixed;
    z-index: 5;
    top: 102px;
    left: 50%;
    width: 1000px;
    margin: 0 0 0 -500px;
  }

  .block-next {
    width: 1000px;
    margin: 60px auto 0;
    padding: 54px 0 0;
    border-top: 2px dotted #3587f6;
    text-align: center;
  }

  .block-next .lead {
    font-size: 2.2rem;
    letter-spacing: -0.05em;
  }

  .block-next a {
    margin: 18px 0 0;
    transition: opacity 0.2s ease-in-out;
  }

  .block-next a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-next a img {
    width: auto;
  }

  .page-lesson5 .block-next {
    margin: 32px auto 0;
    padding: 0;
    border-top: none;
  }

  .block-related {
    margin: 60px 0 0;
  }

  .block-related-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 66px 0 96px;
  }

  .block-related h2 {
    font-size: 3.0rem;
  }

  .block-related-slider {
    margin: 34px 0 0;
  }

  .block-related-slider .slick-arrow {
    width: 20px;
    height: 34px;
    margin: -17px 0 0;
    border-radius: 0;
    background-color: transparent;
    background-size: contain;
    transition: opacity 0.2s ease-in-out;
  }

  .block-related-slider .slick-arrow:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-related-slider .slick-arrow.slick-prev {
    margin-right: 520px;
  }

  .block-related-slider .slick-arrow.slick-next {
    margin-left: 520px;
  }

  .block-related-slider .slick-dots {
    bottom: -46px;
  }

  .block-related-slider .slick-dots li {
    margin: 0 5px;
  }

  .block-related-slider .slick-dots button {
    width: 16px;
    height: 16px;
    padding: 0;
  }

  .block-related .slide {
    margin: 0 0 0 20px;
    letter-spacing: -0.4em;
  }

  .block-related .slide > * {
    letter-spacing: normal;
  }

  .block-related a {
    display: inline-block;
    width: 490px;
    height: 134px;
    margin: 0;
    vertical-align: top;
    transition: opacity 0.2s ease-in-out;
  }

  .block-related a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-related a figure {
    width: 134px;
  }

  .block-related a .wrap-text {
    padding: 0 20px 0 150px;
  }

  .block-related a .wrap-text .title {
    width: 320px;
    font-size: 2.2rem;
    line-height: 1.5;
  }

  .block-related a .wrap-text .text {
    width: 320px;
    margin: 5px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .block-heading {
    padding: 22px 0 21px;
    border-width: 2px;
    font-size: 3.8rem;
    letter-spacing: -0.02em;
  }

  .block-heading + section {
    margin: 0;
  }

  .block-heading + section .section-inner {
    padding: 60px 0 0;
  }

  .page-qa .block-lead-inner {
    padding: 42px 0 0;
  }

  .page-qa .block-lead-inner:before {
    top: 52px;
    bottom: auto;
    left: 50%;
    width: 117px;
    height: 171px;
    margin: 0 0 0 -422px;
  }

  .page-qa .block-lead-inner:after {
    top: 50px;
    right: 50%;
    bottom: auto;
    width: 99px;
    height: 173px;
    margin: 0 -403px 0 0;
  }

  .page-qa .block-lead h2 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  .page-qa .block-lead p {
    margin: 22px 0 0;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .page-qa .block-lead p br {
    display: none;
  }

  .page-word .block-lead {
    padding: 40px 0 25px;
  }

  .page-word .block-lead-inner {
    width: 1000px;
    height: 200px;
    margin: 0 auto;
    padding: 0;
  }

  .page-word .block-lead-inner:before {
    position: absolute;
    top: 0;
    right: 0;
    width: 255px;
    height: 200px;
    margin: 0;
  }

  .page-word .block-lead p {
    margin: 40px 0 0;
    font-size: 1.6rem;
  }

  .page-proverb .block-lead,
  .page-vers .block-lead { /* add0813 */
    padding: 40px 0 0;
  }


  .page-proverb .block-lead-inner {
    width: 1000px;
    height: 215px;
    margin: 0 auto;
    padding: 0;
  }
  .page-vers .block-lead-inner { /* add0813 */
    width: 1000px;
    margin: 0 auto;
    padding: 0;
  }

  .page-proverb .block-lead-inner:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 211px;
    margin: 0;
  }

  .page-proverb .block-lead p {
    width: 680px;
    margin: 40px 0 0;
    font-size: 2.0rem;
  }
  .page-vers .block-lead p { /* add0813 */
    margin: 30px 0 0;
    font-size: 1.7rem;
  }

  .page-proverb .block-lead .mod-link-button {
    text-align: left;
    letter-spacing: -0.4em;
  }

  .page-proverb .block-lead .mod-link-button > * {
    letter-spacing: normal;
  }

  .page-proverb .block-lead .mod-link-button a {
    width: 220px;
    margin: 0 0 0 30px;
  }

  .page-proverb .block-lead .mod-link-button a + a {
    margin: 0 0 0 30px;
  }

  .block-content {
    padding: 14px 0 0;
  }

  .block-content.bg-gray {
    padding: 1px 0 0;
  }

  .block-content.bottom {
    padding-bottom: 60px;
  }

  .block-content.is-sp-bottom {
    padding-bottom: 0;
  }

  .block-content-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
  }

  .block-content-inner-related {
    padding: 0 64px;
  }

  .block-content-inner-related .qa-list {
    margin: 18px 0 0;
  }

  .block-content-inner-related.bottom {
    padding-bottom: 50px;
  }

  .block-content h2 {
    text-align: center;
  }

  .block-content h2 .heading-inner {
    display: inline-block;
    padding: 0 0 6px;
    border-width: 2px;
    font-size: 3.2rem;
    white-space: normal;
  }

  .block-content h2 .heading-inner br {
    display: none;
  }

  .block-content h3.heading-band {
    margin: 46px 0 0;
    padding: 10px 10px 15px;
    font-size: 2.8rem;
    letter-spacing: -0.05em;
  }

  .block-content h3.heading-band br {
    display: none;
  }

  .block-content h3.heading-band + .l-column {
    margin: 30px 0 0;
  }

  .block-content h3.heading-band + .mod-box-3 {
    margin: 0;
  }

  .block-content h4 {
    margin: 40px 0 0;
    padding: 0 0 0 22px;
    font-size: 2.6rem;
  }

  .block-content h4 br {
    display: none;
  }

  .block-content h4:before {
    width: 6px;
    height: 33px;
    border-width: 2px;
  }

  .block-content h4 span {
    font-size: 1.8rem;
  }

  .block-content h4 span.title {
    font-size: 2.6rem;
  }

  .block-content h5 {
    margin: 20px 0 0 34px;
    padding: 0 0 0 14px;
    border-left: 2px solid #3587f6;
    color: #3587f6;
    font-size: 1.6rem;
    font-weight: 500;
  }

  .block-content#qa-question .qa-list li:nth-child(n+3) {
    display: block;
  }

  .block-content#qa-pickup {
    padding-bottom: 70px;
  }

  .qa-list,
  .proverb-list {
    padding: 18px 0 43px;
  }

  .qa-list li a,
  .proverb-list li a {
    padding: 14px 28px 12px 0;
    font-size: 1.8rem;
    line-height: 1.7;
    transition: opacity 0.2s ease-in-out;
  }

  .qa-list li a:hover,
  .proverb-list li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .qa-list li a:after,
  .proverb-list li a:after {
    right: 8px;
    width: 10px;
    height: 16px;
    margin: -8px 0 0;
  }

  .qa-list li a:before {
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    height: 32px;
    margin: 0 16px 0 0;
  }

  .qa-search,
  .word-search {
    margin: 13px 0 0;
  }

  .qa-search-entry-input,
  .word-search-entry-input {
    height: 71px;
    padding: 0 22px;
    border-width: 2px;
    font-size: 2.0rem;
  }

  .qa-search-entry-btn,
  .word-search-entry-btn {
    width: 69px;
    min-width: 69px;
    max-width: 69px;
    height: 71px;
    background-size: 26px;
  }

  .qa-keyword {
    display: flex;
    margin: 16px 0 0;
  }

  .qa-keyword .title {
    width: 164px;
    min-width: 164px;
    max-width: 164px;
    margin: 0 4px 0 0;
    padding: 0;
    font-size: 1.8rem;
  }

  .qa-keyword .title:after {
    top: 2px;
    width: 1px;
    height: 19px;
    margin: 0;
    border-width: 1px;
  }

  .qa-keyword ul {
    flex: 1;
    margin: -2px 0 0;
  }

  .qa-keyword ul li {
    margin: 0 0 0 18px;
  }

/* .qa-keyword ul li a { del0820 */
  .qa-keyword ul li button { /* add0820 */
    padding: 0 0 6px;
    border-width: 1px;
    font-size: 1.6rem;
  }

/* .qa-keyword ul li a:hover { del0820 */
  .qa-keyword ul li button { /* add0820 */
    border-color: rgba(53, 135, 246, 0.7);
  }

  .qa-category {
    margin: 30px 0 0;
  }

  .qa-category-index {
    border-width: 2px;
    border-radius: 4px;
  }

  .qa-category-index li {
    width: 25%;
    height: 80px;
    border-width: 2px;
  }

  .qa-category-index li:nth-child(2n) {
    border-right: 2px solid #3587f6;
  }

  .qa-category-index li:nth-child(4n) {
    border-right: 0;
  }

  .qa-category-index li:nth-child(4n+1):nth-last-child(4) {
    border-bottom: 0;
  }

  .qa-category-index li:nth-child(4n+2):nth-last-child(3) {
    border-bottom: 0;
  }

  .qa-category-index a {
    padding: 10px 0 16px;
    font-size: 1.8rem;
    line-height: 1.3;
    transition: opacity 0.2s ease-in-out;
  }

  .qa-category-index a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .qa-category-index a br {
    display: none;
  }

  .qa-category-index a span {
    font-size: 1.4rem;
  }

  .qa-category-index a:after {
    bottom: 7px;
    width: 14px;
    height: 9px;
    margin: 0 0 0 -7px;
  }

  .qa-category-index a.is-open:after {
    -webkit-transform: translateY(-2px) rotateX(180deg);
    transform: translateY(-2px) rotateX(180deg);
  }

  .qa-category-list-inner {
    padding: 40px 0 0;
  }

  .qa-category-list .mod-box-3 {
    max-height: 360px;
    margin: 18px 0 0;
    padding: 0 64px;
  }

  .qa-category-list .mod-box-3::-webkit-scrollbar {
    width: 5px;
  }

  .qa-pickup {
    margin: 19px 0 0;
  }

  .qa-pickup li {
    margin: 3px 0 0;
    padding: 36px 64px 30px;
  }

  .qa-pickup-q {
    padding: 2px 22px 18px 50px;
    border-width: 2px;
    font-size: 2.2rem;
    line-height: 1.2;
    transition: opacity 0.2s ease-in-out;
  }

  .qa-pickup-q:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .qa-pickup-q:before {
    left: 6px;
    width: 32px;
    height: 32px;
  }

  .qa-pickup-q:after {
    right: 6px;
    width: 10px;
    height: 16px;
    margin: -14px 0 0;
  }

  .qa-pickup-sup {
    margin: 23px 0 0;
  }

  .qa-pickup-sup figure {
    width: 72px;
    margin: 0 0 0 38px;
  }

  .qa-pickup-sup .text {
    width: 714px;
    margin: 3px 0 0;
    padding: 25px 28px 24px;
    border-radius: 14px;
  }

  .qa-pickup-sup .text:before {
    top: 23px;
    left: -11px;
    width: 11px;
    height: 18px;
  }

  .qa-pickup-sup .text p {
    font-size: 1.6rem;
    line-height: 1.7;
  }

  .qa-detail {
    margin: 62px 0 0;
  }

  .qa-detail dt:before,
  .qa-detail dd:before {
    top: -29px;
    width: 66px;
    height: 66px;
    margin: 0 0 0 -33px;
  }

  .qa-detail dt {
    padding: 60px 64px 70px;
  }

  .qa-detail-q {
    padding: 0 0 13px;
    font-size: 3.0rem;
  }

  .qa-detail-q br {
    display: none;
  }

  .qa-detail-sup {
    margin: 0;
  }

  .qa-detail-sup figure {
    width: 81px;
    min-width: 81px;
    max-width: 81px;
    margin: 0 0 0 56px;
  }

  .qa-detail-sup .text {
    width: 705px;
    margin: 10px 0 0;
    padding: 22px 34px 26px;
    border-radius: 14px;
  }

  .qa-detail-sup .text:before {
    top: 44px;
    left: -11px;
    width: 11px;
    height: 17px;
  }

  .qa-detail-sup .text p {
    font-size: 1.6rem;
    line-height: 1.7;
  }

  .qa-detail dd {
    padding: 72px 64px 60px;
  }

  .qa-detail-a {
    flex-direction: row;
  }

  .qa-detail-a figure.mt2e { /* add0820 */
  margin-top: 2em;
}

  .qa-detail-a figure figcaption { /* add0820 */
    font-size: 1.7rem;
  }

  .qa-detail-a figure.imgL { /* add0820 */
    order: 1;
    margin: 0 45px 0 0;
  }
  .qa-detail-a figure.imgL img { /* add0820 */
    max-width: 275px;
  }

  .qa-detail-a figure.col2 { /* add0823 */
  display:inline-block;
  margin: 2em auto;
  vertical-align: top;
  }
  .qa-detail-a figure.col2 img { /* add0823 */
    max-width: 350px;
  }

  .qa-detail-a figure.imgC { /* add0820 kari */
    order: 2;
    margin: 0 auto;
  }
  .qa-detail-a figure.imgC img { /* add0820 kari */
    max-width: 872px;
  }

  .qa-detail-a figure.imgC figcaption { /* add0820 kari */
    line-height: 2;
  }

  .qa-detail-a .text {
    flex: 1;
    order: 2;
  }

  .qa-detail-a .text ul.notesA, /* add0820 */
  .qa-detail-a .text ul.num,
  .qa-detail-a .text ul.sq,
  .qa-detail-a .text ul.diamond { /* add0816 */
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .qa-detail-a .text ul.num > li > ol.innerDec { /* add0816 */
    font-size: 1.8rem;
    line-height: 1.7;
  }

  .qa-detail-a .text p,
  .qa-detail-a .text div { /* add0807 */
    font-size: 1.8rem;
    line-height: 1.7;
  }

  .qa-detail-respondent {
    margin: 42px 0 0;
  }

  .qa-detail-respondent figure {
    width: 140px;
    height: 140px;
    margin: 0 15px 0 0;
  }

  .qa-detail-respondent .text {
    width: 280px;
    padding: 24px 5px;
    border-width: 2px;
  }

  .qa-detail-respondent .text .heading {
    top: -15px;
    width: 150px;
    height: 28px;
    margin: 0 0 0 -75px;
    border-width: 2px;
    border-radius: 14px;
    font-size: 1.3rem;
  }

  .qa-detail-respondent .text p {
    font-size: 1.5rem;
  }

  .word-category {
    padding: 31px 100px 43px;
  }

  .word-category .mod-box-4 {
    display: flex;
  }

  .word-category ul {
    width: 100%;
    margin: 0;
  }

  .word-category ul > li {
    display: flex;
    width: auto;
    margin: 0;
  }

  .word-category ul > li > a {
    width: 50px;
    min-width: 50px;
    max-width: 50px;
    margin: 0 20px 0 0;
    padding: 0;
    border-radius: none;
    background: transparent;
    color: #3587f6;
    font-size: 2.4rem;
    font-weight: 500;
    text-align: left;
    text-decoration: underline;
    letter-spacing: normal;
    transition: opacity 0.2s ease-in-out;
  }

  .word-category ul > li > a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .word-category ul > li > ul {
    display: table;
    position: relative;
    table-layout: fixed;
    flex: 1;
    width: 220px;
    min-width: 220px;
    max-width: 220px;
    margin: 5px 0 0;
  }

  .word-category ul > li > ul:before {
    content: '（';
    display: block;
    position: absolute;
    z-index: 0;
    top: 10px;
    left: -8px;
    width: 10px;
    color: #000;
  }

  .word-category ul > li > ul:after {
    content: '）';
    display: block;
    position: absolute;
    z-index: 0;
    top: 10px;
    right: -8px;
    width: 10px;
    color: #000;
  }

  .word-category ul > li > ul > li {
    display: table-cell;
    position: relative;
    z-index: 1;
    width: 20%;
  }

  .word-category ul > li > ul > li > a {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    font-size: 2.0rem;
    text-align: center;
  }

  .word-list {
    padding: 1px 64px 43px;
  }

  .word-list h5 {
    display: block;
  }

  .word-list > ul {
    letter-spacing: -0.4em;
  }

  .word-list > ul > * {
    letter-spacing: normal;
  }

  .word-list > ul.is-open {
    padding-bottom: 0;
  }

  .word-list > ul > li {
    display: inline-block;
    width: 50%;
    margin: 30px 0 0;
    vertical-align: top;
  }

  .word-list > ul ul {
    margin: 8px 0 0;
    padding: 0 0 0 50px;
  }

  .word-list > ul ul:first-of-type {
    margin: 8px 0 0;
  }

  .word-list > ul ul li {
    margin: 8px 0 0;
  }

  .word-list > ul ul li a {
    font-size: 1.6rem;
    font-weight: 400;
    text-decoration: underline;
    transition: opacity 0.2s ease-in-out;
  }

  .word-list > ul ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .word-detail {
    padding: 0 0 60px;
  }

  .word-detail h3.double {
    margin: 80px 0 0 !important;
  }

  .word-detail h3.double:first-child {
    margin: 40px 0 0 !important;
  }

  .word-detail p {
    padding: 0 0 0 22px;
    font-size: 1.8rem !important;
    text-align: justify !important;
  }

  .word-detail figure {
    margin: 40px 0 0 !important;
  }

  .word-detail ul {
    margin: 20px 0 0;
    padding: 0 0 0 22px;
  }

  .word-detail ul li {
    margin: 8px 0 0;
  }

  .word-detail ul a {
    font-size: 1.8rem;
    transition: opacity 0.2s ease-in-out;
  }

  .word-detail ul a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .proverb-list li {
    padding: 0 0 0 48px;
  }

  .proverb-list-context li {
    margin: 20px 0 0;
  }

  .proverb-list-context li a {
    padding: 14px 28px 12px 0;
    font-size: 1.8rem;
    line-height: 1.7;
    transition: opacity 0.2s ease-in-out;
  }

  .proverb-list-context li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .proverb-list-index {
    margin: 0 0 0 -40px;
    letter-spacing: -0.4em;
  }

  .proverb-list-index > * {
    letter-spacing: normal;
  }

  .proverb-list-index > li {
    display: inline-block;
    width: 480px;
    margin: 40px 0 0 40px;
    background: #fff;
    vertical-align: top;
  }

  .proverb-list-index > li:first-child {
    margin-top: 40px;
  }

  .proverb-list-index .mod-box-3 {
    padding: 18px 32px 43px;
  }

  .proverb-list-index h3.heading-band {
    margin-top: 0;
  }

  .block-cms {
    margin: 0 0 120px;
  }

  .block-cms-inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
  }

  .block-cms .inner {
    position: relative;
    padding: 0 0 0 150px;
  }

  .block-cms .inner .clearfix {
    position: relative;
  }

  .block-cms h3 {
    margin: 115px 0 0 -150px;
    padding: 0 16px 5px;
    border-bottom-width: 3px;
    font-size: 3.2rem;
    white-space: normal;
  }

  .block-cms h3 br {
    display: none;
  }

  .block-cms .imgFloatleft {
    display: block;
    position: absolute;
    top: 240px;
    left: -150px;
    margin: 0 !important;
  }

  .block-cms p {
    margin: 60px 0 0;
    font-size: 2.0rem;
    line-height: 1.7;
    text-align: justify;
  }

  .block-cms p:last-child {
    padding-bottom: 60px;
  }

  .block-cms ul {
    margin: 60px 0 0;
    padding: 0 0 0 30px;
    font-size: 2.0rem;
  }

  .block-cms ul li {
    margin: 20px 0 0;
  }

  .block-cms ul li:before {
    top: 5px;
    left: -30px;
    width: 20px;
    height: 20px;
  }

  .l-contents .page-vers .section-inner ul { /* add0820 up0824 */
    margin: 30px 0 1em;
    padding: 0 0 0 30px;
    font-size: 2.0rem;
  }
  .l-contents .page-vers .section-inner ul li { /* add0813 up0824 */
    font-size: 1.7rem;
    margin: 20px 0 0;
  }
  .l-contents .page-vers .section-inner ul li:before { /* add0813 up0824 */
    top: 5px;
    left: -30px;
    width: 20px;
    height: 20px;
  }

  .block-cms .back,
  .block-cms .next {
    width: 480px;
    margin: 80px 0 0;
    font-size: 2.0rem;
  }

  .block-cms .back a,
  .block-cms .next a {
    margin: 12px 0 0;
    font-size: 2.0rem;
    transition: opacity 0.2s ease-in-out;
  }

  .block-cms .back a:hover,
  .block-cms .next a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .block-cms .back a {
    padding: 0 0 0 28px;
  }

  .block-cms .next a {
    padding: 0 28px 0 0;
  }
}

@media print, screen and (max-width: 736px) {
  .is-sp-show {
    display: block !important;
  }

  .is-sp-hide {
    display: none !important;
  }

  .is-br-sp-show {
    display: inline-block !important;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media print {
  .is-sp-hide {
    display: block !important;
  }

  html,
  body {
    height: 100%;
  }

  body {
    background-color: #fff;
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  .l-header {
    position: absolute;
  }

  .home .block-kv .block-kv-youtube {
    display: block;
    background: url(../image/ph_kv_home_01.jpg) no-repeat 50% 50%;
    background-size: cover;
  }

  .home .block-kv .block-kv-youtube-inner {
    display: none;
  }

  .home .block-kv .block-kv-slider {
    display: none;
  }

  .ie11 .home .block-kv .block-kv-heading,
  .ie11
	.home .block-kv .block-kv-text,
  .ie11
	.home .block-kv .block-kv-pickup,
  .ie11
	.home .block-kv .block-kv-question {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  .block-special-contents {
    height: auto !important;
  }

  .ie11 .block-special .wrap-text .category-text,
  .ie11 .block-special .wrap-text .category-movie,
  .ie11 .block-special .wrap-text .category-seminar,
  .ie11 .block-special .wrap-text .category-chart,
  .ie11 .block-special .wrap-text .category-comic, { /* add20201110 */
    display: inline-block;
  }

  .ie11 .block-cms .inner {
    padding: 0;
  }

  .ie11 .block-cms .imgFloatleft {
    position: relative;
    top: 240px;
    left: auto;
    float: left;
    text-align: left;
  }

  .ie11 .block-cms p,
  .ie11 .block-cms ul {
    margin-left: 150px;
  }

  .l-footer-pagetop {
    display: none;
  }
}