@charset "UTF-8";
/* ================================================

- メインビジュアル

================================================ */
.l-mainvisual .l-mainvisual-inner {
 display: flex;
 margin: 0 auto;
 justify-content: flex-end;
 position: relative;
 background: #eed8cb;
}
.l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl {
 position: absolute;
 top: 50%;
 left: 50px;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 z-index: 2;
 font-family: 'Noto Serif JP', serif;
 font-size: 4rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 color: #5c3f3e;
 text-shadow: #fff 1px 1px 1px, #fff -1px 1px 1px, #fff -1px -1px 1px, #fff 1px -1px 1px, #fff 0px 0px 1px;
}
.l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl span {
 display: block;
 font-size: 2.4rem;
}
.l-mainvisual .l-mainvisual-inner img {
 width: 400px;
}
/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 768px) {
 .l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl {
  font-size: 5.6vw;
 }
 .l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl span {
  font-size: 4vw;
 }
 .l-mainvisual .l-mainvisual-inner img {
  width: 100%;
 }
}
/* ================================================

- at first

================================================ */
.p-first .p-first-inner {
 max-width: 1000px;
 margin: 0 auto;
 padding: 0 0 100px;
}
.p-first-section-inner {
 padding: 50px 50px 0;
}
.p-first-txt {
 font-family: 'Noto Serif JP', serif;
 font-size: 1.8rem;
 line-height: 2;
 letter-spacing: 0.08em;
}
.p-first-ttl {
 font-family: 'Noto Serif JP', serif;
 font-size: 3rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 color: #5c3f3e;
 margin: 0 0 30px;
}
.p-first-txt02 {
 font-family: 'Noto Serif JP', serif;
 font-size: 1.6rem;
 line-height: 2;
 letter-spacing: 0.08em;
}

@media screen and (max-width: 1030px) {
 .p-first-section-inner {
  padding: 50px 25px 30px;
 }
 .p-first-ttl {
  font-size: 2.6rem;
 }
}

/* ================================================

- merit

================================================ */
.p-merit {
 padding: 50px 0;
 background: #f0dac4;
}
.p-merit-ttl {
 text-align: center;
 font-family: 'Noto Serif JP', serif;
 font-size: 3.6rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 padding: 50px 0;
}
.p-merit-list {
 padding: 50px 0 0;
}
.p-merit-list-inner li {
 min-width: 980px;
 margin-bottom: 140px;
 position: relative;
}
.p-merit-list-inner li::before {
 position: absolute;
 top: 0;
 content: "";
 width: calc(50% + 200px);
 height: 100%;
 background: #fff;
}
.p-merit-list-inner li:nth-child(odd)::before {
 right: calc(50% + -200px);
}
.p-merit-list-inner li:nth-child(even)::before {
 left: calc(50% + -200px);
}
.p-merit-list-inner li:nth-child(odd) .p-merit-list-set-img {
 right: 0;
}
.p-merit-list-inner li:nth-child(even) .p-merit-list-set-img {
 left: 0;
}
.p-merit-list-inner li:nth-child(odd) .p-merit-list-set-inner {
 margin-right: 450px;
}
.p-merit-list-inner li:nth-child(even) .p-merit-list-set-inner {
 margin-left: 450px;
}
.p-merit-list-set {
 position: relative;
 width: 980px;
 margin-right: auto;
 margin-left: auto;
}
.p-merit-list-set-inner {
 position: relative;
 padding: 0 0 80px;
}
.p-merit-list-set-img {
 width: 400px;
 position: absolute;
 top: 70px;
}
.section-features .features-list li .text {
 box-sizing: border-box;
}
.p-merit-list-set-inner-ttl {
 font-family: 'Noto Serif JP', serif;
 font-size: 2.8rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 margin: 0 0 20px;
}
.p-merit-list-set-txt {
 width: 120px;
 height: 60px;
 font-family: 'Noto Serif JP', serif;
 font-size: 1.4rem;
 line-height: 1.2;
 font-style: italic;
 color: #fff;
 background: #c61c1c;
 text-align: center;
 z-index: 1;
 position: relative;
 top: -25px;
 left: 0;
 display: flex;
 -ms-flex-wrap: wrap;
 align-items: center;
 justify-content: center;
}
.p-merit-list-set-txt span {
 font-size: 4rem;
}
.p-merit-list-set-inner-txt {
 line-height: 2;
 letter-spacing: 0.08em;
}
/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 768px) {
 .p-merit-ttl {
  font-size: 6vw;
  padding: 10vw 0;
 }
 .p-merit-list-inner li:nth-child(odd) .p-merit-list-set-inner {
  margin-right: 0;
 }
 .p-merit-list-set-img {
  position: static;
  width: 100%;
 }
 .p-merit-list-inner li {
  min-width: 100%;
  width: 100%;
 }
 .p-merit-list-set-inner-ttl {
  font-size: 6.5vw;
  padding: 0 30px;
 }
 .p-merit-list-set-inner-txt {
  padding: 0 30px;
 }
 .p-merit-list-inner li::before {
  width: 100%;
 }
 .p-merit-list-set {
  width: 100%;
 }
 .p-merit-list-inner li:nth-child(odd)::before {
  right: auto;
 }
 .p-merit-list-inner li:nth-child(even)::before {
  left: auto;
 }
 .p-merit-list-inner li:nth-child(even) .p-merit-list-set-inner {
  margin-left: auto;
 }
}
/* ================================================

- coursecourse

================================================ */
.p-course {
 padding: 50px 0;
}
.p-course-inner {
 max-width: 1000px;
 margin: 0 auto;
 padding: 0 50px;
}
.p-course-ttl {
 text-align: center;
 font-family: 'Noto Serif JP', serif;
 font-size: 3.6rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 padding: 50px 0;
}
.p-course-block {
 margin: 0 0 50px;
}
.p-course-block-ttl {
 font-family: 'Noto Serif JP', serif;
 font-size: 2.6rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 color: #c61c1c;
 padding: 0 0 10px;
 margin: 0 0 15px;
 border-bottom: solid 2px #c61c1c;
}
.p-course-block-ttl span {
 font-size: 1.6rem;
 padding: 0 0 0 15px;
}
.p-course-block-inner-txt {
 font-size: 1.4rem;
 line-height: 1.6;
 letter-spacing: 0.08em;
}
.p-course-block-inner-ttl {
 font-size: 1.6rem;
 font-weight: bold;
 padding: 10px 0;
}
/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 768px) {
 .p-course-inner {
  padding: 0 25px;
 }
 .p-course-ttl {
  font-size: 8vw;
  padding: 20px 0 50px;
 }
 .p-course-block-ttl span {
  display: block;
  padding: 0 0 0 0;
 }
}
/* ================================================

- application

================================================ */
.p-application {
 padding: 70px 0 90px;
 background: #654544;
}
.p-application-ttl {
 text-align: center;
 font-family: 'Noto Serif JP', serif;
 font-size: 3.6rem;
 line-height: 1.4;
 letter-spacing: 0.08em;
 color: #fff;
}
.p-application-inner ul {
 display: -ms-flexbox;
 display: -webkit-box;
 display: flex;
 -ms-justify-content: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 margin: 40px auto 0;
}
.p-application-inner ul li {
 min-width: 400px;
 margin-left: 60px;
 padding: 30px 40px 40px;
 position: relative;
 overflow: hidden;
 background: #fff;
}
.p-application-inner ul li:first-child {
 margin-left: 0;
}
.p-application-inner-ttl {
 display: block;
 font-family: 'Noto Serif JP', serif;
 font-size: 3.4rem;
 letter-spacing: 0.08em;
 line-height: 1.6;
 font-weight: 500;
}
.p-application-inner-txt {
 font-family: 'Noto Serif JP', serif;
 font-size: 1.6rem;
 letter-spacing: 0.08em;
 line-height: 1.6;
 margin: 0 0 30px;
}
.p-application-inner-txt a {
 text-decoration: underline;
}
.p-application-inner .m-btn-red {
 box-shadow: none;
}
/* -----------------------------------------------
   - @media screen
*/
@media screen and (max-width: 768px) {
 .p-application-ttl {
  font-size: 8vw;
 }
 .p-application-inner {
  padding: 0 20px;
 }
 .p-application-inner ul {
  display: block;
 }
 .p-application-inner ul li {
  max-width: 100%;
  min-width: 100%;
  padding: 20px 25px 30px;
  margin-left: 0;
  margin-top: 50px;
  box-sizing: border-box;
 }
 .p-application-inner-ttl {
  font-size: 6vw;
 }
}