@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  outline: none;
  box-sizing: border-box;
}

/* ---------------------------------------------
*   html, body
--------------------------------------------- */

html, body {
  color: #333;
  font-family: "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-width: 768px;
  line-height: 1.8;
  margin: 0 auto;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    line-height: 1.5;
  }
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  vertical-align: middle;
  text-align: left;
  font-weight: normal;
}

/* ---------------------------------------------
*   <a> tag
--------------------------------------------- */

a {
  color: inherit;
  text-decoration: none;
}

/* ---------------------------------------------
*   <img> tag
--------------------------------------------- */

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

/* iOSでのデフォルトスタイルをリセット */

input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

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

input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}

/* ---------------------------------------------
*   contents
--------------------------------------------- */

.contents {
  margin-right: auto;
  margin-left: auto;
  width: 980px;
}

@media screen and (max-width: 767px) {
  .contents {
    width: auto;
  }
}

/*----css reset終わり----*/

/*全体共通設定*/

body {
  letter-spacing: 0.1rem;
}

section {
  padding: 3rem 0;
}

.container {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
}

html, .p {
  font-size: 62.5%;
  color: #333;
}

h1 {
  text-align: center;
}

h1, .h1 {
  font-size: 4.8rem;
  line-height: 1.5em;
}

h2, .h2 {
  font-size: 3.2rem;
  line-height: 1.5em;
}

h3, .h3 {
  font-size: 2.4rem;
}

p {
  font-size: 2.4rem;
}

.font-small {
  font-size: 1.2rem;
}

.serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media screen and (max-width: 767px) {
  h1, .h1 {
    font-size: 2.8rem;
  }
  h2, .h2 {
    font-size: 2rem;
  }
  h3, .h3 {
    font-size: 1.8rem;
  }
  p {
    font-size: 1.6rem;
  }
  .font-small {
    font-size: 1rem;
  }
}

.flex {
  display: flex;
  justify-content: flex-start;
}

.flex-crenter {
  display: flex;
  justify-content: center;
}

.flex-between {
  display: flex;
  justify-content: space-between;
}

.flex-around {
  display: flex;
  justify-content: space-around;
}

.flex-end {
  display: flex;
  justify-content: end;
}

.item-center {
  align-items: center;
}

.flex-crenter {
  display: flex;
  justify-content: center;
}

.flex-cr {
  display: flex;
}

.two-col {
  width: 48%;
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.white {
  color: #fff;
}

.larger {
  font-size: larger;
}

.smaller {
  font-size: smaller;
}

.bold {
  font-weight: bold;
}

:root {
  --complement-color: #DD2D74;
  --primary-color: #233B6C;
  --secondary-color: #F0F0F0;
}

.accent {
  color: var(--complement-color);
  font-weight: bold;
}

.text-green {
  color: #27A33C;
}

/*header*/

header .container {
  max-width: 1080px;
  height: 70rem;
  padding-top: 18rem;
  background-image: url("img/top.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
}

#header-bg {
  background-image: url("img/bg.png"), url("img/top-bg.png");
  background-size: cover, cover;
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
}

#header-bg:before {
  content: '';
  height: 70px;
  width: 100%;
  background-color: RGBA(255, 255, 255, .7);
  clip-path: polygon(0 0, 100% 0, 100% 10%, 0 100%);
  position: absolute;
  top: -10px;
  left: 0;
}

#problem:before {
  content: '';
  height: 70px;
  width: 100%;
  background-color: RGBA(255, 255, 255, .7);
  clip-path: polygon(0 99%, 100% 0, 100% 100%, 0 100%);
  position: absolute;
  top: -70px;
  left: 0;
}

#header-p {
  width: 100%;
  padding: 5rem 0 5rem 4rem;
  position: relative;
  color: #233B6C;
  border-left: #233B6C 20px solid;
  background: linear-gradient(to right, RGBA(255, 255, 255, 1), RGBA(255, 255, 255, 0) 70%);
}

#header-p p {
  font-size: 3.2rem;
  line-height: 1.2;
}

header .square {
  background-color: var(--primary-color);
}

#big-n {
  font-size: 64px;
  vertical-align: -5%;
  font-style: italic;
}

h1 {
  display: inline-block;
  vertical-align: middle;
  margin: 2rem auto 0 auto;
  line-height: 6rem;
  z-index: 3;
  font-size: 6rem;
  text-shadow: 3px 3px 0 #fff;
  font-style: italic;
}

header .square {
  width: 7rem;
  height: 7rem;
  line-height: 7rem;
  color: #fff;
  z-index: 1;
}

header h2 {
  margin-bottom: 2rem;
}

header .button {
  margin-top: 5rem;
}

/*problem*/

#problem {
  padding-top: 0;
  position: relative;
}

#problem h2 {
  text-align: center;
  color: #333;
  padding: 3rem;
}

#problem-bg {
  background-image: url(img/city.jpg);
  background-color: rgba(0, 0, 0, .4);
  background-blend-mode: overlay;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 3rem;
}

#problem-bg .container {
  display: flex;
  justify-content: space-between;
}

#man {
  width: 20%;
  order: 1;
}

#man p {
  color: #fff;
  font-size: 2rem;
}

.uline {
  border-bottom: #ff6 5px solid;
}

#balloon {
  background-color: #e7e7e7;
  border-radius: 30px;
  padding: 2rem;
  width: 650px;
  align-self: center;
  position: relative;
  font-size: 2rem;
  order: 2;
}

#balloon:before {
  content: '';
  width: 15px;
  height: 15px;
  background-color: #e7e7e7;
  border-radius: 50%;
  position: absolute;
  top: 30%;
  left: -70px;
}

#balloon:after {
  content: '';
  width: 30px;
  height: 30px;
  background-color: #e7e7e7;
  border-radius: 50%;
  position: absolute;
  top: 20%;
  left: -40px;
}

.square {
  display: inline-block;
  width: 6rem;
  height: 6rem;
  margin: 0 2px;
  line-height: 6rem;
  background-color: var(--complement-color);
  color: #fff;
  font-weight: bold;
  font-size: larger;
}

#problem>p {
  padding: 6rem 0;
  position: relative;
}

#problem>p:before {
  content: "";
  border-top: 20rem solid #e7e7e7;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

/*lead*/

.title-bar {
  background-color: var(--primary-color);
  color: #fff;
  padding: 3rem 0;
  margin: 3rem 0;
  text-align: center;
}

#bracket {
  margin-top: 6rem;
  width: 100%;
  position: relative;
  padding: 5%;
}

#bracket:before {
  content: '';
  width: 100px;
  height: 100px;
  border-top: 5px solid var(--complement-color);
  border-left: 5px solid var(--complement-color);
  position: absolute;
  top: 0;
  left: 0;
}

#lead dl {
  display: flex;
  flex-wrap: wrap;
  line-height: 8rem;
}

#lead dl hr {
  width: 100%;
  border-top: 1px dashed var(--complement-color);
  margin: 1rem 0;
}

#lead dd:nth-of-type(3) {
  position: relative;
}

#lead dd:nth-of-type(3):before {
  content: '▼ここから全て学べます！';
  width: 22rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--complement-color);
  position: absolute;
  top: -3rem;
  right: -2rem;
  text-align: center;
}

#bracket:after {
  content: '';
  width: 100px;
  height: 100px;
  border-bottom: 5px solid var(--complement-color);
  border-right: 5px solid var(--complement-color);
  position: absolute;
  bottom: 0;
  right: 0;
}

#lead dt {
  width: 31%;
  line-height: 6rem;
  font-weight: bold;
}

#lead dd {
  width: 69%;
  line-height: 6rem;
}

#lead dd .h1 {
  font-size: 3.4rem;
}

.note {
  margin: 4rem 0;
  background-color: var(--secondary-color);
  padding: 8rem 5rem;
  position: relative;
}

.note-inner {
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, var(--secondary-color) 0%, var(--secondary-color) 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
  background-size: 8px 100%, 100% 4rem;
  line-height: 4rem;
  padding: 0 2em;
}

.note:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 2rem 2rem 2rem;
  border-color: #ccc #fff #fff #ccc;
}

/*lesson*/

#lesson-title {
  width: 100%;
  height: 40rem;
  background-image: url("img/lesson.jpg");
  background-size: cover;
  background-position: center 80%;
  background-color: rgba(255, 255, 255, .6);
  background-blend-mode: overlay;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4rem;
  text-shadow: 2px 2px 2px #aaa;
}

.light {
  margin: 4rem 0;
  display: flex;
}

.light p {
  margin-top: 1rem;
  width: 80%;
  text-align: left;
}

.light-img {
  width: 8rem;
  margin-right: 2rem;
}

.button {
  margin: 0 auto;
}

.button a {
  color: #fff;
  margin: 0 auto;
  background-color: #27A33C;
  box-shadow: 5px 5px 0 #176725;
  display: inline-block;
  width: 400px;
  height: 80px;
  border-radius: 40px;
  text-align: center;
  line-height: 80px;
  font-size: 32px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  transition: all .5s ease-in-out;
}

.button a:hover {
  border: #176725 2px solid;
  background-color: #fff;
  color: #176725;
}

.lesson {
  color: #DD2D74;
  font-size: 3.2rem;
  letter-spacing: .01rem;
}

.note2 {
  width: 100%;
  max-width: 1120px;
  margin: 10rem auto 4rem auto;
  border: var(--primary-color) 2px solid;
  padding-left: 10px;
}

.note2 .container {
  border-left: var(--primary-color) 24px dotted;
  margin: 3rem 0 3rem auto;
  padding: 1rem 0 1rem 1rem;
  width: 100%;
  max-width: 1080px;
}

.note2 h2 {
  color: var(--primary-color);
  text-shadow: 2px 2px 2px #ccc;
  text-align: center;
  margin: 4rem 0;
}

.note2 h3 {
  background-color: var(--secondary-color);
  position: relative;
  padding: 2rem 0 1rem 6rem;
  line-height: 1.3;
  z-index: -1;
  margin: 2rem 0 1rem 0;
  clip-path: polygon(4% 0, 100% 0, 100% 100%, 0 100%);
}
.note2 h3 span.tanto {
    color: #233b6c;
    padding-left: 1em;
    display: none;
}
.note2 p {
  margin: 0 0 3rem 10rem;
}

/*result*/

#result {
  background-color: var(--secondary-color);
  position: relative;
  padding-top: 15rem;
  text-align: center;
}

#result h2 {
  display: inline-block;
  position: relative;
}

#result h2:before {
  content: '';
  background-image: url(img/flame1.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  top: -20px;
  left: -40px;
}

#result h2:after {
  content: '';
  background-image: url(img/flame1.png);
  background-repeat: no-repeat;
  transform: scale(-1, 1);
  width: 50px;
  height: 100px;
  position: absolute;
  top: -20px;
  right: -40px;
}

#result p {
  margin-bottom: 2rem;
}

#result:before {
  content: "";
  border-top: 10rem solid#fff;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  position: absolute;
  top: 0;
  left: 0;
}

#result h2 {
  text-align: center;
  margin-bottom: 4rem;
}

.result-box {
  text-align: center;
  margin: 3rem auto 0 auto;
  width: 80%;
  max-width: 720px;
  position: relative;
}

.result-box:before {
  content: "";
  display: block;
  padding-top: 75%;
}

.flame-box {
  text-align: center;
  width: 80%;
  max-width: 720px;
  margin: 0 auto;
}

.flame-box img {
  width: 50%;
}

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

#result-img {
  background-image: url(img/result.png);
  background-size: 100%;
  background-repeat: no-repeat;
  color: red;
  height: 100%;
}

#result-img h3 {
  font-size: 8rem;
  transform: rotate(-10deg);
  position: absolute;
  top: 4rem;
  left: 3rem;
  text-shadow: 2px 2px 2px yellow;
}

#result .light {
  margin-top: 0;
}

/*colona*/

#colona h3 {
  margin: 8rem 0 4rem 0;
  text-align: center;
  font-weight: bold;
}

.col-left {
  width: 60%;
  background-color: var(--secondary-color);
  box-shadow: 2px 2px 2px #eee;
  margin-bottom: 3.2rem;
  padding: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 5rem;
  font-size: 3.2rem;
}

.col-right {
  width: 40%;
  box-shadow: 2px 2px 2px #eee;
  margin-bottom: 3.2rem;
}

#vi {
  position: relative;
}

#vi:before {
  content: url("img/colona1-1.png");
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  z-index: 5;
}

/*sample*/

.samplebox-1 {
  background-color: #f7f7f7;
}

.samplebox-2 {
  background-color: var(--secondary-color);
}

.samplebox {
  padding: 4rem;
  margin: 3.2rem 0;
  text-align: center;
}

.samplebox h2 {
  margin-bottom: 2rem;
}

.line {
  background: linear-gradient(transparent 60%, #ff6 60%);
  display: inline-block;
}

.china {
  width: 40%;
}

.china-box {
  padding: 2rem;
  background-color: #fff;
  border: #777 1px solid;
  margin-bottom: 2rem;
}

.china h3 {
  position: relative;
  text-align: center;
  margin: 1rem 0 3rem 4rem;
  display: inline-block;
}

.china h3:before {
  content: url("img/china.png");
  width: 7rem;
  height: 7rem;
  position: absolute;
  top: 0;
  left: -6rem;
}

.japan {
  width: 55%;
  padding: 2rem;
  background-color: #fff;
  border: #777 1px solid;
  margin-bottom: 4rem;
}

.arrow-r {
  display: flex;
  align-self: center
}

#sample .container>p {
  margin: 6.4rem 0;
}

.base {
  vertical-align: baseline;
}

/*profile*/

#profile h3 {
  background-color: #FCE9F1;
  width: 100%;
  padding: 1rem 0 1rem 6rem;
  position: relative;
  margin: 4rem 0 2.4rem;
}

#profile h3:before {
  content: "";
  width: 5rem;
  height: 100%;
  background-color: var(--complement-color);
  position: absolute;
  top: 0;
  left: 0;
}

.profile-box {
  display: flex;
  justify-content: space-between;
}

.profile-box:nth-of-type(4) {
  margin-top: 3rem;
}

.profile-box p {
  padding-right: 3.2rem;
}

.profile-l {
  width: 70%;
}

.profile-r {
  width: 30%;
  text-align: center;
}

.button2 {
  background-color: var(--primary-color);
  color: #fff;
  display: inline-block;
  width: 95%;
  max-width: 40rem;
  height: 5rem;
  line-height: 5rem;
  border-radius: 30px;
  text-align: center;
  margin: 4rem 0;
}

/*voice*/

#voice {
  background-color: var(--secondary-color);
}

.voice-box {
  background-color: #fff;
  box-shadow: 2px 2px 2px #eee;
  margin: 4rem 0;
  padding: 4.8rem;
}

.voice-box h3 {
  display: inline-block;
  border-bottom: var(--complement-color) 3px solid;
  margin-bottom: 2rem;
}

.voice-box p {
  margin-top: 2rem;
}

.voice-prof {
  width: 70%;
}

.voice-img {
  width: 20rem;
  height: 20rem;
}

.voice-img img {
  border-radius: 50%;
  box-shadow: 2px 2px 2px #eee;
}

/*contact*/

#contact-title {
  background-image: url("img/contact.jpg");
  background-size: cover;
  background-position: center 70%;
  background-color: rgba(255, 255, 255, .6);
  background-blend-mode: overlay;
  height: 40rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8rem;
  text-shadow: 2px 2px 2px #aaa;
}

#form-container {
  background-color: var(--secondary-color);
  margin: 4rem 0;
  padding: 3rem;
  text-align: center;
}

#form-container h3 {
  margin-bottom: 4rem;
}

#contact dl {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  flex-wrap: wrap;
  font-size: 2rem;
}

#contact dt {
  width: 40%;
  background-color: rgba(255, 255, 255, .8);
  height: 6rem;
  line-height: 6rem;
  padding-left: 2rem;
  margin-bottom: 1rem;
  position: relative;
  background-color: var(--primary-color);
  color: #fff;
  font-weight: bold;
  box-shadow: 2px 2px 2px #ccc;
}

#name-box {
  display: flex;
  justify-content: space-between;
  padding: 0;
}

#name-box input {
  width: 90%;
  font-size: 2rem;
}

.dd-box {
  width: 60%;
  display: flex;
}

#mail-box input {
  width: 95%;
  font-size: 2rem;
}

input {
  height: 6rem;
  margin-left: 2rem;
  border: none;
  width: 40%;
  padding: 1rem;
  box-shadow: 2px 2px 2px #ccc;
}

#contact .button {
  margin: 2rem;
  width: 400px;
  height: 80px;
  color: #fff;
  background-color: #27A33C;
  box-shadow: 5px 5px 0 #176725;
  border-radius: 40px;
  font-weight: bold;
  transition: all .5s ease-in-out;
  font-size: 32px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#contact .button:hover {
  border: #176725 2px solid;
  background-color: #fff;
  color: #176725;
}

.must {
  background-color: var(--complement-color);
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  padding: 3px;
  margin-left: 2rem;
}

/*postscript*/

#postscript p {
  margin-bottom: 4rem;
}

/*TOP戻るボタン*/

#arrow {
  display: none;
  position: fixed;
  bottom: 4rem;
  right: 4rem;
  color: var(--primary-color);
}

#arrow a {
  font-size: 5rem;
  text-shadow: 2px 2px 2px #777;
}

.sp {
  display: none;
}
ul.less_ul li {margin: 0 0 1rem 10rem;
    font-size: 2.4rem;}

ul.line_add {
    display: flex;
    justify-content: space-between;
    padding: 3% 0;
}

ul.line_add li p {
    text-align: left;
}

ul.line_add li img {
    text-align: center;
    display: block;
    margin: 0 auto;
}

ul.line_add li:nth-child(1) {
    max-width: 48%;
    background: #fff;
    padding: 2em 2.5em;
}
ul.line_add li:nth-child(2) {
    max-width: 48%;
    background: #fff;
    padding: 2em 2.5em;
}

ul.line_add li:nth-child(1) img {
    padding-top: 13%;
}
#form-container p {
    text-align: left;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .flex, .flex-between, .flex-center, .flex-end, .flex-around {
    display: block;
  }
  .two-col, .three-col, .four-col, .items.two-col, .col1, .col2, .col3 {
    width: 100%;
  }
  .container {
    width: 95%;
  }
  section {
    padding: 1rem 0;
  }
  .items {
    margin-right: 0;
    margin-left: 0;
  }
  .right-box {
    width: 100%;
  }
  .note-inner {
    background-size: 8px 100%, 100% 2.5rem;
    line-height: 2.5rem;
  }
  .paper {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  #arrow {
    bottom: 1rem;
    right: 1rem;
  }
  #arrow a {
    font-size: 4rem;
  }
  .button a {
    width: 90%;
    max-width: 325px;
  }
  /*header*/
  header .container {
    height: 45rem;
    background-position: right bottom;
    padding-top: 14rem;
  }
  #header-p {
    margin: 0 auto;
    max-width: 40rem;
    text-align: center;
    padding: 2rem 0;
  }
  #header-bg:before, #problem:before {
    height: 50px;
  }
  #problem:before {
    top: -50px;
  }
  h1 {
    margin: 0 auto;
    line-height: 4rem;
    font-size: 3.2rem;
  }
  header .square {
    width: 5rem;
    height: 5rem;
    line-height: 5rem;
    color: #fff;
    z-index: 1;
  }
  #header-p p {
    font-size: 1.8rem;
    margin: 1rem 0;
  }
  header .button {
    text-align: center;
    margin-top: 3rem;
  }
  #big-n {
    font-size: 2.8rem;
    vertical-align: bottom;
  }
  #man {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  #man div {
    width: 50%;
    transform: scale(-1, 1);
  }
  #man p {
    margin: 5rem 0 0 2rem;
    ;
  }
  #balloon {
    width: 100%;
    max-width: 650px;
    padding: 1.5rem;
  }
  #balloon:after {
    left: 43%;
    top: 102%
  }
  #balloon:before {
    left: 53%;
    top: 110%
  }
  #problem-bg {
    padding: 3rem 0.5rem;
  }
  .square {
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
  }
  #problem>p {
    padding: 5rem 0;
  }
  #problem-bg .container {
    display: block;
  }
  #problem>p:before {
    border-top: 15rem solid #e7e7e7;
  }
  .title-bar {
    width: 100%;
    min-width: 10vw;
    margin: 1rem 0;
    padding: 2rem 1rem;
    text-align: left;
  }
  #problem dt, #problem dd {
    line-height: 4rem;
    font-size: 1.8rem;
  }
  #problem dd .h1 {
    font-size: 3rem;
  }
  #problem dd:nth-of-type(3):before {
    top: -2rem;
    font-size: 1.4rem;
    font-weight: normal;
  }
  #bracket {
    padding: 5% 2%;
  }
  .note {
    padding: 3rem 1rem;
  }
  #lesson-title {
    height: 20rem;
  }
  .light-img {
    width: 5rem;
    margin-right: .5rem;
  }
  .note2 {
    margin: 6rem auto 4rem auto;
  }
  .note2 h2 {
    font-size: 2.6rem;
    margin: 1rem 0;
  }
  .note2 .container {
    border-left: var(--primary-color) 16px dotted;
  }
  .lesson {
    font-size: 2.0rem;
  }
  .note2 h3 {
    padding: 1rem 0 1rem 2rem;
  }
  .note2 p {
    margin: 0 0 3rem 1rem;
  }
  #result {
    padding-top: 7rem;
  }
  #result:before {
    border-top: 5rem solid#fff;
  }
  #result-img h3 {
    font-size: 4rem;
  }
  .flex-cr {
    flex-direction: column-reverse;
  }
  .col-left {
    width: 90%;
    margin: 0 auto 1rem auto;
    padding: 1rem;
    line-height: 3rem;
  }
  .col-right {
    width: 90%;
    margin: 1rem auto 0 auto;
  }
  #sample .container>p {
    margin: 2rem 0;
  }
  .line {
    display: block;
  }
  .china {
    width: 100%;
  }
  .japan {
    width: 100%
  }
  .samplebox {
    padding: 2rem;
  }
  .china-box {
    margin-bottom: 0rem;
  }
  .profile-box {
    flex-direction: column-reverse;
  }
  .profile-l, .profile-r {
    width: 100%;
  }
  .profile-box p {
    padding-right: 0;
  }
  .profile-box img {
    padding-bottom: 1rem;
  }
  .voice-box {
    margin: 2rem 0;
    padding: 2rem;
  }
  .voice-prof {
    width: 100%;
  }
  .voice-img {
    margin: 1rem auto;
  }
  #contact-title {
    height: 20rem;
    margin-bottom: 4rem;
  }
  #contact dt, .dd-box, #mail-box input {
    width: 100%;
  }
  #name-box dd:first-of-type {
    margin-right: 5px;
  }
  #name-box input {
    width: 100%
  }
  #contact dt {
    margin: 1rem 0 0 0;
  }
  input {
    width: 100%;
    margin-left: 0;
  }
/*修正20210114*/
#bracket:before {
    width: 0;
    height: 0;
    display: none;
}

#bracket:after {
    display: none;
}

div#bracket {
    background: #f2f2f2;
    margin-top: 3%;
}

#lead dl hr {
    margin: 5% 0 10%;
}

#lead dd:nth-of-type(3):before {right: 0;left: -2.5em;top: -4rem;}

#lead dd {
    font-size: 0.9em;
}

#lead dd .h1 {
    font-size: 1em;
    line-height: inherit;
}

dd.accent.bold br.sp{
    display: none;
}
#header-p {
    background: rgb(255 255 255 / 64%);
    border-left: #233B6C 10px solid;
}

span.uline {
    text-shadow: 1px 1px 0 #fff;
    font-family: sans-serif;
    border-bottom: #ff6 3px solid;
}

#header-p p {
    font-family: sans-serif;
}

#big-n {
    vertical-align: initial;
}
#contact .button {
    width: 100%;
    padding: 0;
    margin: 5% auto;
}
ul.less_ul li {margin: 0 0 0.5rem 1rem;
    font-size: 1.6rem;
    }
.note2 h3 span.tanto {
    display: block;
    display: none;
}
ul.line_add {
    display: block;
}

ul.line_add li:nth-child(1) ,
ul.line_add li:nth-child(2){
    max-width: 100%;
}

ul.line_add li:nth-child(2){
    margin-top:5%;
}
}