@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap");
/* ------------------------------
    reset
------------------------------ */
html, body {
  height: 100%;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form, figure {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: -.01em;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
  text-align: left;
  color: #333;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd,
ol, ul, li, form, input, textarea, button,
table, tr, th, td, article, aside, footer, header,
hgroup, nav, section, a, span, img {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  /*min-width: 100rem;*/
  min-width: 100rem;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  resize: none;
  outline: none;
  background: none;
  color: #333;
}

select::-ms-expand {
  display: none;
}

button:hover {
  cursor: pointer;
}

a {
  color: #333;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  a:hover {
    opacity: 0.7;
  }
}

a img {
  transition: opacity 0.3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  a img:hover {
    opacity: 0.7;
  }
}

figure {
  text-align: center;
  line-height: 0;
  margin: 0;
  padding: 0;
}

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

/* ------------------------------
    base
------------------------------ */
body {
  color: #444;
  font-size: 1.0rem;
  text-align: left;
}

section {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

main {
  display: block;
}

.wrapper {
  overflow: hidden;
}

.wrap {
  width: 100%;
  max-width: 95rem;
  padding: 0;
  margin: 0 auto;
  position: relative;
}

p, th, td, dt, dd, li, input, button, textarea {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: -.01em;
}

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

.ta_l {
  text-align: left;
}

.ta_r {
  text-align: right;
}

.ta_c {
  text-align: center;
}

.left {
  float: left;
}

.right {
  float: right;
}

.center {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.preload *, .preload *::before, .preload *::after {
  transition: none !important;
}

.highlight {
  background: linear-gradient(transparent 45%, #faf82a 45%, #faf82a 96%, transparent 96%);
}

.highlight2 {
  background: linear-gradient(transparent 60%, #faf82a 60%, #faf82a 96%, transparent 96%);
}

.highlight-pink {
  background: linear-gradient(transparent 45%, #f1c5de 45%, #f1c5de 96%, transparent 96%);
}

.udl {
  background: linear-gradient(transparent 88%, #333 88%, #333 92%, transparent 92%);
}

.mac .udl {
  border-bottom: 1px solid #333;
  padding-bottom: .1em;
  background: none;
}

.fwb {
  font-weight: 700;
}

.fc-pink {
  color: #c3345f !important;
}

.fc-pink2 {
  color: #e2126f !important;
}

@media screen and (min-width: 768px) {
  .fade {
    transition: opacity 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .fade img {
    outline: 1px solid transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .fade:hover {
    opacity: .6;
    cursor: pointer;
  }

  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }

  .wrap {
    width: 90%;
    padding: 0;
  }

  input, textarea, select, .select {
    font-size: 16px !important;
  }

  figure {
    width: 100%;
    text-align: center;
  }

  img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
  }

  p {
    font-size: 3.8vw;
  }

  .wrap {
    width: 96%;
  }

  .udl {
    background: linear-gradient(transparent 85%, #333 88%, transparent 95%);
    display: inline;
    padding: 0 0 0.8vw;
  }
}
/* ------------------------------
    cta-btn
------------------------------ */
.cta-btn {
  margin: 0 auto;
  text-align: center;
}
.cta-btn-link {
  transition: opacity 0.3s;
  cursor: pointer;
}
.cta-btn-link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .cta-btn {
    max-width: 98.2vw;
  }
}
/* ------------------------------
    footer
------------------------------ */
.footer {
  background: #231815;
}
.footer .copy {
  padding: 3rem 0;
}
.footer .copy > p {
  font-size: 1.4rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
  .footer .copy {
    padding: 5% 0;
  }
  .footer .copy > p {
    font-size: 3.2vw;
  }
}
/* ------------------------------
    main
------------------------------ */
/* common */
.sec-headline {
  background: #a47819;
  width: 100%;
  height: 10rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-headline span {
  display: block;
  font-size: 6.274rem;
  line-height: 1;
  font-weight: 600;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sec-headline {
    height: auto !important;
    padding: 5%;
  }
  .sec-headline span {
    font-size: 8.2vw;
  }
}
.contents-wrap {
  width: 100%;
  margin: auto;
  box-shadow: 0 0 4px 2px rgba(153, 153, 153, 0.3);
  background-color: #fff;
  max-width: 92.8rem;
}
@media screen and (max-width: 767px) {
  .contents-wrap {
    width: 96%;
    margin-right: auto;
    margin-left: auto;
  }
}

/* obi */
.obi {
  position: relative;
  z-index: 10;
  line-height: 0;
  height: 16rem;
  background-image: url("../img/img_obi.jpg");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: auto 100%;
  width: 100%;
}

.obi img {
  display: none;
}

.sec-ttl {
  position: relative;
  background: #db407a;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #fff;
  font-size: 6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: -.2rem;
  text-align: center;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .obi {
    height: 22.9vw;
    background-position: left center;
  }

  .sec-ttl {
    height: auto;
    padding: 5% 1.8%;
    font-size: 6.2vw;
  }
}
/* ------------------------------
    tbl-seminar
------------------------------ */
.tbl-seminar {
  width: 100%;
  max-width: 82.8rem;
  margin: 0 auto;
}
.tbl-seminar table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #333;
}
.tbl-seminar th, .tbl-seminar td {
  border-bottom: 1px solid #333;
  letter-spacing: .025em;
}
.tbl-seminar th {
  background: #e6dfcf;
  font-size: 1.6rem;
  color: #333;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  width: 19.5%;
  text-align: center;
  padding: 1.2rem 1.5rem;
}
.tbl-seminar td {
  background: #fff;
  color: #111;
  width: 80.7%;
  padding: 1.2rem 1.5rem 0.86rem 1.8rem;
}
.tbl-seminar td.date {
  font-size: 1.6rem;
}
.tbl-seminar .cont-list {
  padding: 1.2rem 0;
}
.tbl-seminar .cont-list li {
  position: relative;
  font-size: 1.8rem;
  line-height: 2;
  color: #111;
}

@media screen and (max-width: 767px) {
  .tbl-seminar {
    width: 100%;
    max-width: inherit;
  }
  .tbl-seminar table {
    border-bottom: none;
  }
  .tbl-seminar th, .tbl-seminar td {
    padding: 3%;
    display: block;
    width: 100%;
  }
  .tbl-seminar th {
    font-size: 3.5vw;
  }
  .tbl-seminar td {
    font-size: 3.5vw;
  }
  .tbl-seminar td.date {
    font-size: 3.5vw;
  }
  .tbl-seminar .cont-list {
    padding: 0;
  }
  .tbl-seminar .cont-list li {
    font-size: 3.5vw;
  }
  .tbl-seminar .cont-list li + li {
    margin-top: 3%;
  }
}
/* sec fv */
.sec-fv {
  width: 100%;
  background: linear-gradient(to right, #f9fbfa 0%, #f9fbfa 36%, #f7f9f8 38%, #f7f8fa 43%, #f4f8f9 45%, #f2f6f7 45%, #f4f8f9 45%, #f4f8f9 47%, #f2f6f7 47%, #f0f4f5 52%, #f1f5f6 67%, #f0f4f3 69%, #f1f4f5 71%, #f0f4f5 71%, #eff3f2 71%, #f0f4f5 71%, #f0f3f2 73%, #f0f4f5 73%, #eff3f2 73%, #f0f4f3 74%, #eef2f1 75%, #eef2f1 100%);
}
.sec-fv .inner {
  position: relative;
  margin: 0 auto;
  text-align: center;
  padding: 1.2rem 0 2.5rem;
}
.sec-fv .ttl {
  margin: 0 auto;
  width: 100%;
  max-width: 85.7rem;
}

.btn-area {
  background: url("../img/bg_pink.png") repeat;
  width: 100%;
  height: 18.5rem;
  display: flex;
  justify-content: center;
  padding-top: 2.6rem;
}

@media screen and (max-width: 767px) {
  .sec-fv .inner {
    padding: 0;
  }
  .sec-fv .ttl {
    max-width: inherit;
  }

  .btn-area {
    height: 37.333vw;
  }
}
/* sec01 */
.sec01 {
  background: linear-gradient(to bottom, #fdf9f6 0%, #fdfaf5 6%, #f9f8f3 6%, #fcf9f4 7%, #fbf8f3 10%, #fdfaf5 10%, #fbf8f3 11%, #faf6f3 13%, #faf7f0 13%, #fbf8f3 14%, #f9f6f1 14%, #f8f5f0 16%, #f6f3ee 16%, #f7f2ee 17%, #f5f0ea 18%, #f2ede7 21%, #f1ede4 21%, #f2ebe5 23%, #f0e9e3 23%, #f1eae4 24%, #efe8e0 24%, #eee7df 25%, #eae7de 26%, #ede6de 26%, #ece5dd 27%, #ebe2db 28%, #e9e0d7 29%, #eae1d8 29%, #e7ded5 30%, #e8dfd6 31%, #e3dbd0 34%, #e3dbd0 38%, #e2d8cc 40%, #e1d9ce 43%, #e3d6cd 43%, #e1d7cb 44%, #e0d6ca 45%, #e1d7cd 45%, #dfd5cb 45%, #e1d5c9 50%, #ddd3c7 52%, #dfd3c7 55%, #ded2c4 55%, #ddcfc2 59%, #d7c6b4 100%);
  padding: 8rem 0 9.2rem;
  z-index: 3;
}
.sec01 .contents-wrap {
  position: relative;
  padding: 5rem 3.6rem 8.5rem;
  margin-top: -11.7rem;
}
.sec01 .contents-wrap p + p {
  margin-top: 2.8rem;
}
.sec01 .txt-box .txt {
  flex: 1;
  padding-top: 4.2rem;
  padding-bottom: 2.6rem;
}
.sec01 .txt-box .txt p {
  letter-spacing: .03em;
}
.sec01 .txt-box .img {
  margin-left: -19rem;
  margin-right: 1.8rem;
}
.sec01 .media-list {
  margin-top: 5.2rem;
  margin-left: -3.6rem;
  margin-right: -3.6rem;
  width: 92.8rem;
  padding: 0 1.5rem;
}
.sec01 .media-list .ttl-media {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  padding: 1rem 1.5rem 0.7rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 61.8rem;
  margin-bottom: 3.6rem;
}
.sec01 .media-list .ttl-media-txt {
  text-align: center;
}
.sec01 .media-list .ttl-media-txt span {
  font-family: "Noto Serif JP", serif;
  color: #111;
  text-align: center;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: .075em;
  white-space: nowrap;
}
.sec01 .media-list-box {
  display: flex;
}
.sec01 .media-list-box.box01 {
  justify-content: space-between;
}
.sec01 .media-list-box.box02 {
  justify-content: center;
}
.sec01 .media-list-box figcaption {
  font-size: 1.2rem;
  line-height: calc(19.82/12);
  color: #111;
  text-align: center;
  padding-top: 1.8rem;
  letter-spacing: .075em;
  white-space: nowrap;
}
.sec01 .media-list-box figcaption.nrw {
  letter-spacing: normal;
}
.sec01 .media-list-box + .media-list-box {
  margin-top: 3.2rem;
}
.sec01 .media-list-box .img01 {
  width: 23rem;
  margin-left: 1.8rem;
}
.sec01 .media-list-box .img02 {
  width: 15rem;
  margin: 0 4rem 0 2.3rem;
}
.sec01 .media-list-box .img03 {
  width: 43.1rem;
}
.sec01 .media-list-box .img04 {
  width: 19rem;
}
.sec01 .media-list-box .img05 {
  width: 16rem;
}
.sec01 .media-list-box .img06 {
  width: 18rem;
  margin: 0 0.8rem 0 0.6em;
}
.sec01 .media-list-box .img07 {
  width: 34.2rem;
}

@media screen and (max-width: 767px) {
  .sec01 {
    padding: 8% 0 10%;
  }
  .sec01 .contents-wrap {
    padding: 8% 5% 6%;
    margin-top: -16vw;
  }
  .sec01 .contents-wrap p + p {
    margin-top: 5%;
  }
  .sec01 .txt-box {
    flex-direction: column !important;
  }
  .sec01 .txt-box .txt {
    padding-top: 0;
    padding-bottom: 0;
  }
  .sec01 .txt-box .img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5%;
    width: 80%;
  }
  .sec01 .media-list {
    margin-top: 5%;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding: 0;
  }
  .sec01 .media-list .ttl-media {
    width: 80vw;
    padding: 3%;
  }
  .sec01 .media-list .ttl-media-txt span {
    font-size: 5.333vw;
    white-space: normal;
  }
  .sec01 .media-list-box {
    flex-direction: column;
    align-items: center;
  }
  .sec01 .media-list-box figcaption {
    font-size: 3vw;
    padding-top: 3%;
    white-space: normal;
  }
  .sec01 .media-list-box + .media-list-box {
    margin-top: 8%;
  }
  .sec01 .media-list-box .img {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
  }
  .sec01 .media-list-box .img + .img {
    margin-top: 8%;
  }
  .sec01 .media-list-box .img01 img {
    width: 60%;
  }
  .sec01 .media-list-box .img02 img {
    width: 40%;
  }
  .sec01 .media-list-box .img03 img {
    width: 80%;
  }
  .sec01 .media-list-box .img04 img {
    width: 40%;
  }
  .sec01 .media-list-box .img05 img {
    width: 40%;
  }
  .sec01 .media-list-box .img06 img {
    width: 40%;
  }
  .sec01 .media-list-box .img07 img {
    width: 80%;
  }
}
/* sec02 */
.sec02 {
  z-index: 4;
  background: url("../img/bg_sec02.jpg") no-repeat center top/cover;
  padding: 9.2rem 0 8.6rem;
}
.sec02 p:not([class]) + p:not([class]),
.sec02 p:not([class]) + p.nrw,
.sec02 p.nrw + p.nrw {
  margin-top: 2.8rem;
}
.sec02 .lead {
  padding: 0 3.6rem 9.6rem;
}
.sec02 .cont {
  padding: 0 1.2rem;
}
.sec02 .cont.cont01 .subttl-wrap .icn {
  margin-right: 4rem;
}
.sec02 .cont.cont02 {
  margin-top: 7rem;
}
.sec02 .cont.cont02 .subttl-wrap .icn {
  margin-right: 1rem;
}
.sec02 .cont.cont02 .subttl-wrap .subttl {
  margin-right: -2.4rem;
  padding-top: 3.4rem;
}
.sec02 .cont.cont03 {
  margin-top: 4.5rem;
}
.sec02 .cont.cont03 .subttl-wrap .icn {
  margin-right: 3.2rem;
}
.sec02 .cont.cont04 {
  margin-top: 7.2rem;
}
.sec02 .cont.cont05 {
  margin-top: 13rem;
}
.sec02 .subttl-wrap {
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #ab8f5d;
  padding: 0 0 1.6rem 0.7rem;
  margin-bottom: 2.8rem;
}
.sec02 .subttl-wrap .subttl {
  font-size: 6.45rem;
  letter-spacing: -.025em;
  color: #1a202c;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.1;
  transform: skewX(-10deg);
  padding-top: 2rem;
}
.sec02 .subttl-wrap .subttl.lg {
  font-size: 7rem;
}
.sec02 .subttl-wrap .subttl.sm {
  font-size: 6.2rem;
}
.sec02 .subttl-wrap .subttl.sm2 {
  font-size: 5rem;
  white-space: nowrap;
  padding-top: 3.8rem;
}
.sec02 .item {
  padding: 0 1.8rem;
}
.sec02 .item .nrw {
  letter-spacing: -.05em;
}
.sec02 .item.item01 .item-box {
  padding-bottom: 4rem;
}
.sec02 .item.item02 .item-box {
  padding-bottom: 2.8rem;
}
.sec02 .item.item03 .item-box {
  padding-bottom: 4rem;
}
.sec02 .item .img img {
  box-shadow: -0.6rem 0.6rem 0px #b99e81;
}
.sec02 .item-box .txt {
  flex: 1;
}
.sec02 .item-box .img {
  margin-left: -7rem;
  margin-right: 4.8rem;
}
.sec02 .item-box.reverse {
  flex-direction: row-reverse;
}
.sec02 .item-box.reverse .img {
  margin-right: -7rem;
  margin-left: 4.8rem;
}
.sec02 .recommend-head {
  margin: 0 auto 6.3rem;
  line-height: 1;
}
.sec02 .recommend-box {
  padding: 0 1.8rem;
  flex-direction: row-reverse;
}
.sec02 .recommend-box .txt {
  flex: 1;
  padding-top: 4.2rem;
}
.sec02 .btm-head {
  text-align: center;
}
.sec02 .btm-head p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
.sec02 .btm-head p.txt01 {
  color: #222;
  font-size: 4.48rem;
  line-height: calc(48/36);
}
.sec02 .btm-head p.txt02 {
  color: #cf3161;
  font-size: 5.9rem;
  line-height: calc(60/48);
  margin: 15px auto 8px;
  text-shadow: 0 4px 0px white;
}
.sec02 .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  margin: 5.2rem auto 6.4rem;
}
.sec02 .cta-btn {
  margin-top: 8rem;
}

@media screen and (max-width: 767px) {
  .sec02 {
    padding: 8% 0 8%;
  }
  .sec02 p:not([class]) + p:not([class]),
  .sec02 p:not([class]) + p.nrw,
  .sec02 p.nrw + p.nrw {
    margin-top: 5%;
  }
  .sec02 .lead {
    padding: 0 1.6% 8%;
  }
  .sec02 .cont {
    padding: 0 1.6%;
  }
  .sec02 .cont.cont01 .subttl-wrap .icn {
    margin-right: 3%;
  }
  .sec02 .cont.cont02 {
    margin-top: 10%;
  }
  .sec02 .cont.cont02 .subttl-wrap .icn {
    margin-right: 3%;
  }
  .sec02 .cont.cont02 .subttl-wrap .subttl {
    margin-right: 0;
    padding-top: 0.8em;
  }
  .sec02 .cont.cont03 {
    margin-top: 10%;
  }
  .sec02 .cont.cont03 .subttl-wrap .icn {
    margin-right: 8%;
  }
  .sec02 .cont.cont04 {
    margin-top: 15%;
  }
  .sec02 .cont.cont05 {
    margin-top: 15%;
  }
  .sec02 .subttl-wrap {
    padding: 0 0 5% 0;
    margin-bottom: 5%;
  }
  .sec02 .subttl-wrap .icn {
    width: 20vw;
  }
  .sec02 .subttl-wrap .subttl {
    font-size: 6.2vw;
    padding-top: .6em;
    flex: 1;
  }
  .sec02 .subttl-wrap .subttl.sm {
    font-size: 5.4vw;
  }
  .sec02 .subttl-wrap .subttl.sm2 {
    font-size: 5.0vw;
    padding-top: .6em;
    white-space: normal;
  }
  .sec02 .subttl-wrap .subttl.lg {
    font-size: 6.2vw;
  }
  .sec02 .item {
    padding: 0;
  }
  .sec02 .item-box {
    flex-direction: column !important;
    padding: 0 !important;
    margin-bottom: 5%;
  }
  .sec02 .item-box .img {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 80%;
    margin-bottom: 5.5%;
  }
  .sec02 .recommend-head {
    margin: 0 auto 8%;
  }
  .sec02 .recommend-box {
    padding: 0;
    flex-direction: column;
  }
  .sec02 .recommend-box .img {
    margin: 0 auto;
    width: 50%;
  }
  .sec02 .recommend-box .txt {
    padding-top: 0;
    margin-top: -9vw;
  }
  .sec02 .btm-head p.txt01 {
    font-size: 5.2vw;
  }
  .sec02 .btm-head p.txt02 {
    font-size: 6.2vw;
    margin: 2.2% auto 0.5%;
  }
  .sec02 .img-box {
    gap: 0 0.5rem;
    margin: 8% auto 6.8%;
  }
  .sec02 .cta-btn {
    margin-top: 10%;
  }
}
/* sec03 */
.sec03-head {
  background: url("../img/bg_sec03.jpg") no-repeat center top/cover;
  min-height: 46.8rem;
}
.sec03-head .inner {
  position: relative;
  width: 100%;
  max-width: 95rem;
  margin: 0 auto;
  padding: 5.9rem 0 6.5rem;
}
.sec03-head .ttl {
  margin: 0 auto;
  text-align: center;
}
.sec03-body {
  position: relative;
  background: #da7684;
  padding: 2.2rem 0 5.8rem;
}
.sec03 p:not([class]) {
  letter-spacing: -.02em;
}
.sec03 p:not([class]) + p:not([class]) {
  margin-top: 3rem;
}
.sec03 .contents-wrap {
  padding: 7.2rem 2.6rem 9.8rem;
}
.sec03 .contents-wrap + .contents-wrap {
  margin-top: 5.8rem;
}
.sec03 .item + .item {
  margin-top: 11.8rem;
}
.sec03 .item .img {
  margin: 0 auto 5rem;
}
.sec03 .item .img.img04 {
  margin-bottom: 4rem;
}
.sec03 .item.session03 .subttl {
  margin-bottom: 0.8rem;
}
.sec03 .session {
  line-height: 1;
  margin: 0 auto 3.2rem;
}
.sec03 .subttl {
  color: #db407a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 5rem;
  line-height: calc(60/50);
  letter-spacing: -.02em;
  margin-bottom: 6.8rem;
}
.sec03 .img-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 4.2rem;
}
.sec03 .marker {
  background: linear-gradient(transparent 65%, #faf82a 70%, #faf82a 98%, transparent 98%);
}
.sec03 .cta-btn {
  margin-top: 7rem;
}
.sec03 .btm-body {
  padding: 0 1.8rem;
}
.sec03 .btm-body .flex {
  margin-bottom: 1rem;
}
.sec03 .btm-body .flex .txt {
  flex: 1;
}
.sec03 .btm-body .flex .img {
  margin-left: 3rem;
}
.sec03 .btm-head {
  margin: 0 auto 6.5rem;
  line-height: 1;
}
.sec03 .btm-reason {
  font-size: 3rem;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 5rem 0 3rem;
}

@media screen and (max-width: 767px) {
  .sec03-head {
    min-height: inherit;
  }
  .sec03-head .inner {
    max-width: inherit;
    padding: 5% 3% 5% 5%;
  }
  .sec03-head .ttl {
    width: 70vw;
  }
  .sec03-body {
    padding: 5% 0;
  }
  .sec03 p:not([class]) + p:not([class]) {
    margin-top: 5%;
  }
  .sec03 .contents-wrap {
    padding: 8% 5% 6%;
  }
  .sec03 .item + .item {
    margin-top: 10%;
  }
  .sec03 .item .img {
    margin: 0 auto 5%;
  }
  .sec03 .item .img.img04 {
    width: 80%;
  }
  .sec03 .session {
    margin: 0 auto 3.5% !important;
    width: 32vw;
  }
  .sec03 .subttl {
    font-size: 6.4vw;
    margin-bottom: 5%;
  }
  .sec03 .img-box {
    margin: 0 auto 5%;
    gap: 0 0.5rem;
  }
  .sec03 .marker {
    background: linear-gradient(transparent 65%, #faf82a 70%, #faf82a 98%, transparent 98%);
  }
  .sec03 .cta-btn {
    margin-top: 6%;
  }
  .sec03 .btm-body {
    padding: 0;
  }
  .sec03 .btm-body .flex {
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
  }
  .sec03 .btm-body .flex .txt {
    width: 100%;
  }
  .sec03 .btm-body .flex .img {
    width: 80%;
    margin: 3% auto 5%;
  }
  .sec03 .btm-head {
    margin: 0 auto 8%;
  }
  .sec03 .btm-reason {
    font-size: 4.8vw;
    margin: 8% 0 5%;
  }
}
/* sec04 */
.sec04 {
  background: #da7684;
  padding: 3.9rem 0 10rem;
}
.sec04 .contents-wrap {
  padding: 10rem 3.4rem 10rem;
}
.sec04 p:not([class]) + p:not([class]) {
  margin-top: 2.8rem;
}
.sec04 .ttl {
  line-height: 1;
  margin: 0 auto 5.6rem;
}
.sec04 .item.item01 .subttl {
  margin-bottom: 5.4rem;
}
.sec04 .item.item01 .img {
  margin-left: -2rem;
}
.sec04 .item.item02 {
  margin-top: 4.8rem;
}
.sec04 .item.item02 .subttl {
  margin-bottom: 5.6rem;
}
.sec04 .item.item02 .item-box {
  padding-top: 1.8rem;
}
.sec04 .item.item02 .item-box .txt p {
  line-height: calc(36/18);
}
.sec04 .item.item03 {
  margin-top: 4rem;
}
.sec04 .item.item03 .subttl {
  margin-bottom: 4.2rem;
}
.sec04 .item.item03 .img {
  margin-left: -1rem;
  margin-right: 1rem;
}
.sec04 .item.item03 .item-box {
  margin-bottom: 2rem;
}
.sec04 .subttl {
  display: flex;
  align-items: center;
  gap: 0 2.5rem;
}
.sec04 .subttl .txt {
  font-size: 4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #1a202c;
  line-height: calc(58/40);
  letter-spacing: -.05em;
  padding-top: .5em;
}
.sec04 .img {
  margin-left: auto;
  margin-right: auto;
}
.sec04 .item-box {
  gap: 0 2.4rem;
  padding-left: 2rem;
}
.sec04 .item-box.reverse {
  flex-direction: row-reverse;
}
.sec04 .item-box .txt {
  flex: 1;
}
.sec04 .info {
  margin: 13rem auto 4.8rem;
}
.sec04 .info-head {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 7.3rem;
  letter-spacing: -.05em;
  transform: scale(0.96, 1);
  line-height: calc(90/74);
  color: #1a202c;
}
.sec04 .info-ttl {
  margin: 4rem 0 6rem 1rem;
}
.sec04 .info-subttl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: calc(52/36);
  font-family: "Noto Sans JP", sans-serif;
  margin: 6.5rem auto 4.8rem;
}
.sec04 .info .txt-wrap {
  padding: 0 1rem;
}
.sec04 .info .txt-wrap p {
  line-height: calc(32/18);
  letter-spacing: .05em;
}
.sec04 .info .txt-wrap .detail p {
  font-size: 1.7rem;
  letter-spacing: normal;
}
.sec04 .form-wrap {
  margin: 7rem auto 6rem;
}
.sec04 .form-ttl {
  width: 100%;
  max-width: 83rem;
  height: 6.6rem;
  background: #c3345f;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 3rem;
  padding-bottom: .2em;
}
.sec04 .form-ttl span {
  display: block;
  color: #fff;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
}
.sec04 .iv-info .ttl {
  position: relative;
  font-family: "Noto Serif JP", serif;
  color: #1a202c;
  line-height: 1.2;
  letter-spacing: -.05em;
  transform: scale(0.97, 1);
  white-space: nowrap;
  font-weight: 500;
  font-size: 3.9rem;
  text-align: center;
  margin-bottom: 6.2rem;
  margin-left: -1.1em;
}
.sec04 .iv-info .ttl .aj {
  display: inline-block;
  margin-left: -.3em;
}
.sec04 .iv-info .marker {
  background: linear-gradient(transparent 70%, #f1c5de 70%, #f1c5de 98%, transparent 98%);
}
.sec04 .iv-info .iv-btn {
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .sec04 {
    padding: 8% 0;
  }
  .sec04 .contents-wrap {
    padding: 8% 5%;
  }
  .sec04 p:not([class]) + p:not([class]) {
    margin-top: 5%;
  }
  .sec04 .ttl {
    margin: 0 auto 5%;
  }
  .sec04 .item + .item {
    margin-top: 10%;
  }
  .sec04 .item.item01 .img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5%;
    width: 80%;
  }
  .sec04 .item.item03 .item-box .img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5%;
    width: 80%;
  }
  .sec04 .item.item02 .item-box {
    padding-top: 0;
  }
  .sec04 .item.item02 .item-box .txt p {
    line-height: calc(30/18);
  }
  .sec04 .item.item02 .item-box .img {
    margin-bottom: 5%;
    width: 80%;
  }
  .sec04 .subttl {
    gap: 0 3%;
    margin-bottom: 5% !important;
  }
  .sec04 .subttl .icn {
    width: 14vw;
  }
  .sec04 .subttl .txt {
    font-size: 5.6vw;
    padding-top: 1em;
    flex: 1;
  }
  .sec04 .img.img01 {
    margin: 1.2% auto -18.667vw;
  }
  .sec04 .item-box {
    padding: 0 !important;
    flex-direction: column !important;
  }
  .sec04 .info {
    margin: 15% auto 5%;
  }
  .sec04 .info-head {
    font-size: 8vw;
  }
  .sec04 .info-ttl {
    margin: 0 auto 8%;
  }
  .sec04 .info-subttl {
    font-size: 5.6vw;
    margin: 8% auto 8%;
  }
  .sec04 .info .txt-wrap {
    padding: 0;
  }
  .sec04 .info .txt-wrap p {
    line-height: calc(30/18);
    letter-spacing: normal;
  }
  .sec04 .info .txt-wrap .detail p {
    font-size: 3.8vw;
  }
  .sec04 .form-wrap {
    margin: 15% auto;
  }
  .sec04 .form-ttl {
    height: auto;
    padding: 5% 0;
    margin: 0 auto 5%;
  }
  .sec04 .form-ttl span {
    font-size: 5.6vw;
  }
  .sec04 .iv-info .ttl {
    font-size: 6vw;
    margin-bottom: 5%;
    margin-left: -.2em;
  }
  .sec04 .iv-info .iv-btn {
    margin-top: 8%;
  }
}
/* sec05 */
.sec05 {
  background: #fff;
  padding: 9rem 0 12.7rem;
}
.sec05 .inner {
  padding: 0 4rem;
}
.sec05 .inner p {
  color: #000;
}
.sec05 .inner p:not([class]) {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  letter-spacing: .025em;
  line-height: calc(24/16);
}
.sec05 .inner p:not([class]) + p {
  margin-top: 2.2rem;
}
.sec05 .flex {
  margin-bottom: 2.5rem;
  flex-direction: row-reverse;
}
.sec05 .ttl {
  font-size: 6rem;
  font-family: "Noto Serif JP", serif;
  color: #323433;
  font-weight: 700;
  margin: 0 auto 4rem;
}
.sec05 .txt {
  flex: 1;
}
.sec05 .img {
  margin-left: 7rem;
  margin-right: 4rem;
}
.sec05 .sign {
  font-size: 3.85rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  margin-top: 9rem !important;
}
.sec05 .cta-btn {
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .sec05 {
    padding: 8% 0;
  }
  .sec05 .inner {
    padding: 0 1.6%;
  }
  .sec05 .inner p:not([class]) {
    font-size: 3.8vw;
  }
  .sec05 .inner p:not([class]) + p {
    margin-top: 5%;
  }
  .sec05 .flex {
    flex-direction: column;
    margin-bottom: 5%;
  }
  .sec05 .ttl {
    font-size: 8vw;
    margin: 0 auto 6.5%;
    line-height: 1.4;
  }
  .sec05 .txt {
    width: 100%;
  }
  .sec05 .img {
    margin: 0 auto 5%;
  }
  .sec05 .sign {
    font-size: 6vw;
    margin-top: 10% !important;
    margin-right: 5%;
  }
  .sec05 .cta-btn {
    margin-top: 8%;
  }
}
/* sec06 */
.sec06 {
  background: #fff;
  padding: 0 0 4rem;
}
.sec06 .sec-ttl {
  height: 18.4rem;
  margin-bottom: 11.6rem;
}
.sec06 .sec-ttl::before {
  position: absolute;
  content: "";
  background: url("../img/img_fuki_pink.png") no-repeat center center/cover;
  width: 20rem;
  height: 3.3rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.25rem;
}
.sec06 .inner {
  padding: 0 5rem;
}
.sec06 .faq-list + .faq-list {
  margin-top: 3.5rem;
}
.sec06 .faq-list dt, .sec06 .faq-list dd {
  letter-spacing: -.01em;
}
.sec06 .faq-list dt {
  position: relative;
  font-size: 2rem;
  line-height: calc(32/20);
  font-weight: 700;
  color: #c3345f;
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 6.7rem;
  padding-bottom: 2.5rem;
}
.sec06 .faq-list dt::before {
  position: absolute;
  content: "";
  background: url("../img/icn_q.png") no-repeat center center/contain;
  width: 3.6rem;
  height: 3.6rem;
  left: 0;
  top: 0;
}
.sec06 .faq-list dd {
  font-size: 1.8rem;
  line-height: calc(32/18);
  padding-left: .2em;
}

@media screen and (max-width: 767px) {
  .sec06 {
    padding-bottom: 8%;
  }
  .sec06 .sec-ttl {
    height: auto;
    margin-bottom: 10%;
  }
  .sec06 .sec-ttl::before {
    width: 29.333vw;
    height: 4.8vw;
    bottom: -4.8vw;
  }
  .sec06 .sec-ttl .txt01::before {
    width: 21.333vw;
    height: 14.667vw;
    left: -19.2vw;
    top: -10.133vw;
  }
  .sec06 .inner {
    padding: 0 1.6%;
  }
  .sec06 .faq-list + .faq-list {
    margin-top: 8%;
  }
  .sec06 .faq-list dt {
    font-size: 4vw;
    padding-left: 40px;
    padding-bottom: 3.6%;
  }
  .sec06 .faq-list dt::before {
    width: 28px;
    height: 28px;
  }
  .sec06 .faq-list dd {
    font-size: 3.8vw;
  }
}
.sec-footer {
  background: #fff;
  padding: 7rem 0 8.3rem;
}
.sec-footer .nav {
  display: flex;
  align-content: center;
  justify-content: center;
  margin-top: 9rem;
}
.sec-footer .nav li {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.sec-footer .nav li:nth-child(n + 2)::after {
  position: absolute;
  content: "｜";
  left: -1.2em;
  top: .2em;
}
.sec-footer .nav li > a {
  font-size: 1.8rem;
  color: #111111;
  font-family: "Noto Sans JP", sans-serif;
}
.sec-footer .cta-btn {
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .sec-footer {
    padding: 8% 0;
  }
  .sec-footer .ttl {
    width: 86%;
    margin: auto;
  }
  .sec-footer .nav {
    margin-top: 10%;
    align-items: center;
  }
  .sec-footer .nav li {
    line-height: 1.2;
  }
  .sec-footer .nav li > a {
    font-size: 3.4vw;
    letter-spacing: normal;
    text-align: center;
  }
  .sec-footer .cta-btn {
    margin-top: 8%;
  }
}
/* 外部css調整 */
.content_title {
  display: none;
}

.content_form {
  max-width: 78.2rem;
  padding-bottom: 7rem;
}

.my_column.my_left {
  background: #eef5fb;
}

.content_form .input_unit {
  border-bottom: 1px solid #bfbfbf;
  margin-top: 0 !important;
  width: 100% !important;
}
.content_form .input_unit:first-of-type {
  border-top: 1px solid #bfbfbf;
}

form.myForm div.submit {
  margin-top: 5rem !important;
}
form.myForm div.submit input[type="submit"] {
  background: #231815;
  border-radius: 5px;
  padding: 0.8rem 4rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  height: 6rem;
  transition: opacity 0.3s;
  cursor: pointer;
}
form.myForm div.submit input[type="submit"]:hover {
  opacity: 0.7;
}

.content_form label {
  font-size: 1.4rem;
}

form.myForm select {
  padding: 0 4rem 0 1.5rem !important;
  font-size: 1.6rem;
  height: 4rem;
  font-size: 1.6rem;
  max-width: inherit !important;
  width: 100%;
}

form.myForm input[type="text"] {
  height: 4rem;
  font-size: 1.6rem;
  background: #ffdddd;
  width: calc(100% -  2.8px) !important;
}

.select_frame {
  position: relative;
  width: 100%;
  max-width: 30rem;
}
.select_frame::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0.4rem 0 0.4rem;
  border-color: #000 transparent transparent transparent;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
}

form.myForm .required .my_column.my_left label:first-child:after {
  padding-top: 2px !important;
  padding-bottom: 3px !important;
}

::-webkit-full-page-media, :future, :root form.myForm .required .my_column.my_left label:first-child:after {
  padding-bottom: 5px !important;
}

form.myForm .required .my_column.my_left label:first-child:after {
  padding-top: 1px !important;
  padding-bottom: 4px !important;
}

@media screen and (max-width: 800px) {
  .content_form {
    max-width: inherit;
    width: 100%;
    padding-bottom: 3%;
  }

  form.myForm div.submit {
    margin-top: 8% !important;
  }
  form.myForm div.submit input[type="submit"] {
    font-size: 4.8vw !important;
    padding: 3% 8% !important;
    height: 12vw !important;
    line-height: 1;
  }

  .select_frame,
  form.myForm input[type="text"] {
    max-width: inherit;
    height: 12vw !important;
  }

  form.myForm select {
    max-width: inherit !important;
    width: 100% !important;
    height: 12vw !important;
  }

  .content_form .input_unit .my_left.my_column {
    width: 100% !important;
    padding: 3% !important;
  }

  .content_form .input_unit {
    margin-bottom: 0 !important;
  }

  .content_form .input_unit .my_right.my_column {
    padding-top: 5% !important;
    padding-bottom: 5% !important;
    width: 100% !important;
  }

  .content_form label {
    font-size: 3.8vw !important;
  }

  form.myForm .required .my_column.my_left label:first-child:after {
    width: 8.2vw !important;
    height: 4.8vw !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    padding-left: 2% !important;
    padding-right: 2% !important;
    font-size: 3.2vw !important;
  }
}
/* ------------------------------
    responsive
------------------------------ */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
/* ------------------------------
*  fixbtn
------------------------------ */
.fixbtn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  max-width: 100%;
  z-index: 100;
}
.fixbtn > a {
  display: block;
  margin: auto;
  transition: opacity 0.3s;
  cursor: pointer;
  text-align: center;
}
.fixbtn > a:hover {
  opacity: 0.7;
}

.fixbtn img {
  max-width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .fixbtn {
    padding: 3% 0;
  }
}
/* ------------------------------
    clearfix
------------------------------ */
.cf {
  zoom: 1;
}
.cf::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

/* ------------------------------
*  thanks
------------------------------ */
.thanks {
  background: #fff;
  min-width: inherit;
}

.thanksWrap .wrap {
  width: 100%;
  margin: 0 auto;
  padding: 5rem 0 0;
}

.thanksWrap .ttl_wrap {
  padding: 3rem 0;
  background: #DA7684;
}

.thanksWrap .ttl {
  font-size: 4.8rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .075em;
  color: #fff;
}

.thanksWrap .sub_ttl {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 6rem;
  font-family: "Noto Sans JP", sans-serif;
}

.thanksWrap p {
  text-align: center;
}

.thanksWrap p + p {
  margin-top: 2.5rem;
}

.thanksWrap .btn {
  margin: 6rem auto 0;
  text-align: center;
}

.thanksWrap .btn a {
  width: 40rem;
  height: 6rem;
  background: #1E915B;
  border-radius: 9999px;
  color: #fff;
  font-weight: 700;
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .thanksWrap .wrap {
    padding: 6% 0 0;
    width: 94%;
  }

  .thanksWrap .ttl_wrap {
    padding: 3.5% 0%;
  }

  .thanksWrap .ttl {
    font-size: 6.8vw;
  }

  .thanksWrap .sub_ttl {
    font-size: 5.6vw;
    margin-bottom: 6%;
    text-align: center;
  }

  .thanksWrap p {
    white-space: nowrap;
  }

  .thanksWrap p + p {
    margin-top: 3%;
  }

  .thanksWrap .btn {
    margin: 10% auto 0;
  }

  .thanksWrap .btn a {
    width: 68%;
    height: auto;
    padding: 3% 0;
    font-size: 4.6vw;
  }
}
