@charset "UTF-8";

footer,
header {
 padding: 0;
 margin: 0
}

footer dd,
footer dl,
footer dt,
footer h1,
footer li,
footer p,
footer ul,
header dd,
header dl,
header dt,
header h1,
header li,
header p,
header ul {
 padding: 0;
 margin: 0;
 list-style: none
}

footer,
header,
main,
section {
 display: block
}

button,
svg {
 margin: 0;
 padding: 0;
 border: none
}

nav li,
nav ul {
 list-style: none;
 padding: 0;
 margin: 0
}

nav a {
 text-decoration: none
}

dd,
dl,
dt {
 padding: 0;
 margin: 0
}

figure {
 margin: 0;
 text-align: center
}

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

button:active,
button:focus {
 outline: none
}

article p,
section p {
 line-height: 2
}

article p:not(:last-child),
section p:not(:last-child) {
 margin-bottom: 1.5rem
}

article ol li,
section ol li {
 line-height: 1.85
}

article ol li:not(:last-child),
section ol li:not(:last-child) {
 margin-bottom: 2rem
}

strong {
 font-weight: 500
}

html {
 font-family: "Outfit", "Noto Sans JP", sans-serif;
 font-weight: 500;
 scroll-behavior: smooth;
 font-size: 10px
}

body {
 font-size: 1.6rem;
 color: #444;
 min-width: 300px;
 background: #f9f9f4
}

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

.doc-item {
 font-size: 1.8rem;
 line-height: 2;
 max-width: 680px;
 margin-left: auto;
 margin-right: auto;
 font-weight: 700
}

@media (max-width:992px) {
 .doc-item {
  font-size: 1.6rem;
  max-width: 85%
 }
}

a {
 text-decoration: none;
 color: #000
}

a:hover {
 opacity: 0.75
}

ol,
ul {
 list-style-type: none;
 list-style: none;
 list-style-position: outside
}

.wrapper {
 max-width: 1200px;
 padding-left: 20px;
 padding-right: 20px;
 margin-left: auto;
 margin-right: auto
}

@media (max-width:992px) {
 .wrapper {
  padding-left: 15px;
  padding-right: 15px
 }
}

.text-left {
 text-align: left !important
}

.bg-white {
 background: #fff
}

.font-white {
 color: #fff !important
}

.font-green {
 color: #31bc98
}

.font-gray {
 color: #9f9d8e
}

.position-relative {
 position: relative
}

@media (min-width:993px) {
 .d-lg-none {
  display: none
 }
}

@media (max-width:992px) {
 .d-none {
  display: none
 }
}

.en {
 display: block;
 text-align: center;
 font-size: 1.5rem;
 font-family: Outfit;
 letter-spacing: 0.2em;
 color: #a7c1b9;
 margin-bottom: 5px
}

.secTitle {
 text-align: center;
 font-size: 3.4rem;
 margin-bottom: 50px
}

@media (max-width:992px) {
 .secTitle {
  margin-bottom: 30px
 }
}

.has-padding {
 padding-top: 100px;
 padding-bottom: 100px
}

@media (max-width:992px) {
 .has-padding {
  padding-top: 50px;
  padding-bottom: 50px
 }
}

.has-padding-bottom {
 padding-bottom: 100px
}

@media (max-width:992px) {
 .has-padding-bottom {
  padding-bottom: 50px
 }
}

.header {
 width: 100%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 padding-top: 20px;
 padding-bottom: 20px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center
}

.header .login-item {
 text-align: right;
 -webkit-box-flex: 0;
 -ms-flex: 0 0 50%;
 flex: 0 0 50%
}

.header .siteTitle {
 height: 50px
}

.header .login {
 font-size: 1.5rem;
 line-height: 1;
 border-radius: 50px;
 color: #fff;
 background: #31bc98;
 padding: 15px;
 z-index: 99;
 -webkit-transition: opacity 0.3s;
 transition: opacity 0.3s;
 position: fixed;
 width: 140px;
 top: 24px;
 -webkit-transform: translateX(-100%);
 transform: translateX(-100%);
 text-align: center;
 -webkit-box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
 box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
 height: 46px
}

.header .login img {
 margin-left: 10px;
 width: 15px
}

main {
 position: relative;
}

main:after {
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -10
}

.mv {
 position: relative;
 padding-top: 20px;
 padding-bottom: 80px;
}

.mv .mv--box {
 overflow-x: hidden;
 width: 90%;
 display: -ms-grid;
 display: grid;
 place-items: center;
 gap: 30px;
 margin-left: auto;
 margin-right: auto;
}

.mv .mv--title {
 max-width: 80%
}

.mv .mv--bg {
 position: absolute;
 bottom: 0;
 right: 0;
 z-index: -1;
 width: 100%;
}
@media (min-width:1100px) {
 .mv .mv--bg {

 right: 0px;

}
}
.mv .mv--doc {
 line-height: 1.4;
 font-size: 2.2rem;
 font-weight: bolder;
 text-align: center;
}

.mv .mv--predoc {
 line-height: 1.6;
 font-size: 2rem;
 font-weight: bolder;w
}

.mv .mv--predoc mark {
 background: linear-gradient(#fff 65%, #F2C837 65%);
 color: #333;
}

@media (min-width:993px) {
 .mv {
  padding-top: 60px
 }

 .mv .mv--box {
  -ms-grid-columns: 1fr 15px 1.5fr;
  grid-template-columns: 1fr 1.5fr;
  gap: 15px
 }

 .mv .mv--date {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  z-index: 2
 }

 .mv .mv--img {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  z-index: 2
 }

 .mv .mv--bg {
  max-width: 900px;
 }
}

/* アンカーリンク */
.pagenav {
 text-align: left;
 display: flex;
 margin-left: 0;
 max-width: 740px;
 padding-top: 20px;
 gap: 20px;
 flex-wrap: wrap;
}

@media (min-width:993px) {
 .pagenav {
  margin-left: 60px;
 }
}

.pagenav li a {
 color: #308762;
 display: flex;
 align-items: center;
 gap: 10px;
}

.pagenav .new {
 background-color: #E37E1B;
 color: #fff;
 padding: 3px 10px;
}

/* お知らせ */
.info-block {
 background-color: #fff;
 border-radius: 20px;
 padding: 20px;
 margin-left: 15px;
 margin-right: 15px;

 box-sizing: border-box;
 max-width: 1000px;
}

@media (min-width:768px) {
 .info-block {
 box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 20px;
  display: grid;
  gap: 20px;
  grid-template-columns: 200px auto;
  align-items: center;
 }
}

.info-title-block .secTitle {
 font-size: 2.8rem;
 margin-bottom: 15px;
}

.info-body dt {
 color: #999;
 letter-spacing: 2px;
 font-size: 1.4rem;
}
.info-body dd + dt {
 margin-top: 24px;
}
.info-body a {
 color: #339966;
 text-decoration: underline;
}

.recommend {
 overflow-x: clip;
 position: relative;
 border-top-right-radius: 100px
}

.recommend:before {
 content: "";
 background-color: #fff;
 height: 30vw;
 width: 100%;
 border-radius: 0 50% 0 0;
 position: absolute;
 top: 0;
 right: 0;
 z-index: -2
}

@media (min-width:993px) {
 .recommend:before {
  height: 300px
 }
}

.recommend:after {
 content: "";
 display: block;
 width: 100%;
 height: 53.5%;
 background: #fff;
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: -1
}

.recommend .recommend--list {
 display: -ms-grid;
 display: grid;
 gap: 20px;
 max-width: 860px;
 margin-left: auto;
 margin-right: auto
}

@media (min-width:993px) {
 .recommend .recommend--list {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
 }
}

.recommend .recommend--item {
 text-align: justify;
 color: #333;
 background: #f5f5f5;
 border-radius: 20px;
 padding: 20px
}

.recommend .recommend--item p {
 line-height: 1.5;
 font-weight: 700;
 font-size: 1.6rem
}

@media (min-width:993px) {
 .recommend .recommend--item p {
  font-size: 1.8rem
 }
}

@media (min-width:993px) {
 .recommend .recommend--item {
  height: 100px;
  display: -ms-grid;
  display: grid;
  place-items: center;
  height: 130px;
  padding-left: 30px;
  padding-right: 30px
 }
}

.recommend .recommend--img {
 position: absolute;
 z-index: 5
}

.recommend .recommend--img:first-of-type {
 top: -150px;
 left: 0
}

.recommend .recommend--img:last-of-type {
 bottom: -150px;
 right: 0;

}

@media (max-width:1120px) {
 .recommend:after {
  height: 60%;
 }
}

@media (max-width:992px) {
 .recommend {
  padding-top: 200px;
  padding-bottom: 200px
 }

 .recommend:before {
  top: 100px
 }

 .recommend:after {
  height: 72%
 }


 @media (max-width:992px) {
 .recommend .recommend--img {
  width: 120px;
 }
 }

 .recommend .recommend--img:first-of-type {
  top: -200px;
  left: 0;
 }

 .recommend .recommend--img:last-of-type {
  bottom: -150px;
  right: 0
 }
}

@media (max-width:768px) {
 .recommend:after {
  height: 78%
 }
}

@media (max-width:576px) {
 .recommend:after {
  height: 82.5%
 }
}

.target:after {
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 background: #fff;
 border-bottom-left-radius: 30px;
 border-bottom-right-radius: 30px;
 position: absolute;
 left: 0;
 bottom: -100%;
 z-index: -1
}

.target .target--right {
 padding-top: 40px;
 position: relative
}

.target .target--audience {
 display: -ms-grid;
 display: grid;
 place-items: center;
 width: 210px;
 height: 45px;
 font-size: 2.1rem;
 color: #fff;
 background-color: #31bc98;
 border-radius: 45px;
 position: absolute;
 top: 40px;
 left: 50%;
 translate: -50% -50%
}

.target .target--list {
 display: -ms-grid;
 display: grid;
 place-items: center;
 gap: 10px;
 border: 3px solid #a7c1b9;
 border-radius: 30px;
 padding: 30px
}

.target .target--item {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 width: 100%;
 font-size: 1.8rem
}

.target .target--item:before {
 content: "";
 display: block;
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: #a7c1b9;
 margin-right: 8px
}

@media (min-width:993px) {
 .target .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  max-width: 860px
 }

 .target .target--left {
  width: 35%
 }

 .target .target--right {
  width: 65%
 }

 .target .target--list {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr)
 }
}

@media (max-width:992px) {

 .target .text-left,
 .target p {
  text-align: center !important
 }

 .target .target--right {
  margin-top: 50px
 }
}

.learn {
 font-weight: bold;
 background: #31bc98;
 padding: 60px 30px 30px 30px;
 border-radius: 50px
}

.learn .learn--book {
 position: absolute;
 top: -20px;
 right: 10px
}

.learn .learn--flex {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center
}

.learn .learn--left {
 width: 100%;
 -webkit-box-ordinal-group: 2;
 -ms-flex-order: 1;
 order: 1
}

.learn .table {
 border-radius: 20px;
 overflow: hidden;
 width: 100%;
 counter-reset: listnum;
 border-collapse: collapse
}

.learn .table thead {
 color: #fff;
 background-color: #308762
}

.learn .table thead th {
 font-size: 2.1rem
}

.learn .table thead th:first-child {
 padding: 15px
}

.learn .table thead th span {
 font-size: 1.5rem
}

.learn .table tbody tr {
 counter-increment: listnum
}

.learn .table tbody tr:nth-child(odd) {
 background-color: #edefe4
}

.learn .table tbody tr:nth-child(2n) {
 background-color: #fff
}

.learn .table tbody th {
 padding-top: 5px;
 padding-bottom: 5px
}

@media (max-width:992px) {
 .learn .table tbody th {
  background-color: #cfd0cb
 }
}

.learn .table tbody td {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 100%;
 text-align: justify;
 -webkit-box-pack: start;
 -ms-flex-pack: start;
 justify-content: start;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap
}

.learn .table tbody td:before {
 content: counter(listnum);
 display: -ms-grid;
 display: grid;
 place-items: center;
 width: 30px;
 height: 30px;
 min-width: 30px;
 color: #fff;
 background: #308762;
 font-size: 1.8rem
}

.learn .table tbody td h3 {
 display: -ms-grid;
 display: grid;
 padding-left: 10px;
 margin-bottom: 10px
}

.learn .table tbody td span {
 font-weight: normal
}

.learn .table tbody td p {
 color: #555;
 line-height: 1.5
}

.learn .learn--right {
 display: -ms-grid;
 display: grid;
 place-items: center;
 gap: 30px;
 width: 100%;
 -webkit-box-ordinal-group: 3;
 -ms-flex-order: 2;
 order: 2
}

.learn .learn--title {
 color: #fff;
 font-size: 3rem
}

@media (min-width:993px) {
 .learn .learn--left {
  width: 57%;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1
 }

 .learn thead th {
  padding: 30px 10px;
  font-size: 2.2rem
 }

 .learn thead th:first-child {
  border-right: 0.5px solid #fff
 }

 .learn tbody th {
  width: 25%;
  font-size: 1.8rem;
  border-right: 1px solid #ddd9ca
 }

 .learn tbody td {
  padding: 15px
 }

 .learn tbody td h3 {
  font-size: 2.1rem
 }

 .learn tbody td span {
  font-size: 1.5rem
 }

 .learn .learn--right {
  gap: 60px;
  width: 40%;
  height: 90%
 }

 .learn .learn--title {
  font-size: 4.6rem
 }
}

@media (max-width:992px) {
 .learn {
  padding: 40px 15px;
  margin-top: 130px
 }

 .learn .learn--img {
  max-width: 90%
 }

 .learn .learn--book {
  width: 180px;
  top: -150px;
  right: 0
 }

 .learn .learn--flex {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
 }

 .learn .table {
  margin-bottom: 30px
 }

 .learn tbody tr {
  display: block;
  padding: 15px 10px
 }

 .learn tbody th {
  display: block;
  text-align: left;
  padding-left: 10px;
  width: 100%;
  letter-spacing: 2px;
  font-size: 1.5rem;
  margin-bottom: 10px
 }

 .learn tbody td h3 {
  font-size: 1.8rem
 }

 .learn tbody td span {
  font-size: 1.4rem;
  font-weight: normal
 }
}

.flow--list {
 display: -ms-grid;
 display: grid;
 gap: 65px;
 padding-top: 30px;
 margin-bottom: 50px
}

@media (min-width:993px) {
 .flow--list {
  -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
 }
}

.flow--item {
 position: relative
}

.flow--item img {
 width: 100%
}

.flow--item_title {
 display: -webkit-inline-box;
 display: -ms-inline-flexbox;
 display: inline-flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 width: 100%;
 font-size: 1.8rem;
 position: absolute;
 top: -30px;
 left: 50%;
 translate: -50% 0
}

.flow--item_step {
 display: -ms-grid;
 display: grid;
 place-items: center;
 width: 70px;
 height: 70px;
 border-radius: 50%;
 font-size: 1.3rem;
 font-weight: 600;
 color: #fff;
 background: #31bc98;
 margin-right: 15px
}

.flow--item_step span {
 display: -ms-grid;
 display: grid
}

.flow--item_step strong {
 width: 100%;
 font-size: 3.8rem;
 line-height: 0.9;
 text-align: center
}

.entry {
 max-width: 860px;
 background-color: #efefe8;
 border-radius: 15px;
 padding: 50px 0;
 text-align: center;
 margin-left: auto;
 margin-right: auto
}

.entry--title {
 font-size: 2.8rem;
 margin-bottom: 10px
}

@media (min-width:993px) {
 .entry--title {
  font-size: 3.2rem
 }
}

.entry--early {
 display: block;
 font-size: 1.5rem;
 margin-bottom: 40px
}

@media (min-width:993px) {
 .entry--early {
  font-size: 1.8rem
 }
}

.login--btn {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 width: 280px;
 height: 60px;
 font-size: 1.8rem;
 color: #fff;
 background: #49635c;
 border-radius: 50px;
 margin-left: auto;
 margin-right: auto;
 -webkit-transition: opacity 0.3s;
 transition: opacity 0.3s;
 -webkit-box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
 box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1)
}

.login--btn img {
 margin-left: 10px;
 width: 20px
}

.entry--god {
 width: 98px;
 position: absolute;
 top: 50%;
 left: 10%;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 z-index: 5
}

.entry--book {
 width: 230px;
 position: absolute;
 bottom: 15px;
 right: 0;
 z-index: 5
}

@media (max-width:992px) {
 .entry {
  margin-bottom: 100px
 }

 .entry--god {
  width: 60px;
  top: -20px;
  left: 0
 }

 .entry--book {
  width: 150px;
  bottom: -80px
 }
}

.main--img {
 display: block;
 width: 50px;
 height: 50px;
 position: absolute;
 bottom: -5px;
 right: 50px
}

@media (max-width:992px) {
 .main--img {
  width: 30px;
  height: 30px
 }
}

.footer {
 background-color: #49635c;
 color: #fff;
 padding: 40px;
 text-align: center
}

@media (max-width:992px) {
 .footer {
  padding: 30px 15px
 }
}

.footer--text {
 width: 100%;
 max-width: 100%;
 font-size: 1.8rem;
 font-weight: 600;
 text-align: center;
 margin-bottom: 10px
}

.footer--tel {
 display: block;
 width: 100%;
 text-align: center;
 font-size: 3.2rem;
 font-weight: 700;
 color: #fff;
 letter-spacing: 0.2em;
 margin-bottom: 10px;
 margin-top: 10px
}

@media (min-width:993px) {
 .footer--tel {
  pointer-events: none;
  font-size: 3.6rem
 }
}

.footer--time {
 display: -webkit-inline-box;
 display: -ms-inline-flexbox;
 display: inline-flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 font-size: 1.6rem;
 letter-spacing: 0.2em
}

.footer--time span {
 font-size: 1.4rem;
 font-weight: 700;
 letter-spacing: normal;
 color: #49635c;
 background: #fff;
 border-radius: 5px;
 padding: 5px 10px;
 margin-right: 10px
}

hr {
 margin-top: 30px;
 margin-bottom: 30px
}

@media (max-width:992px) {
 hr {
  margin-top: 15px;
  margin-bottom: 15px
 }
}

/* 受講者の声 */
.text-dark {
 color: #444;
}

.voice {
 margin-bottom: 100px;
}

.voice-block {
 padding: 20px;
 background-color: #f1d86a;
 border-radius: 40px;
}

.voice-list {
 display: grid;
 grid-template-columns: 1fr;
 gap: 20px;
}

.voice-list li {
 background-color: #fff;
 padding: 20px 20px 20px 15px;
 display: grid;
 grid-template-columns: 60px auto;
 line-height: 1.7;
 gap: 20px;
 border-radius: 20px;
}

@media (min-width:993px) {
 .voice-block {
  padding: 40px;
 }

 .voice-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
 }

 .voice-list li {
  padding: 40px 40px 40px 30px;
  grid-template-columns: 60px auto;
 }
}

.copylight {
 display: inline-block;
 font-size: 1.2rem;
 letter-spacing: 0.2em
}