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

 brand.css

-- */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif);
@import url(https://fonts.googleapis.com/css?family=Amatic+SC&display=swap);
@import url("https://fonts.googleapis.com/css?family=Kosugi&display=swap");
@import url(https://fonts.googleapis.com/css?family=Playfair+Display);
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * layout-baseSize.....基本のコンテンツサイズ
 * layout-posMiddle....天地中央配置
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

-- */
/*-----------------------------------

 keyframes - アニメーションキーフレーム集

-----------------------------------*/
@-webkit-keyframes fade {
  100% {
    opacity: 1;
    padding: 0;
  }
}
@keyframes fade {
  100% {
    opacity: 1;
    padding: 0;
  }
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@-webkit-keyframes fadeinRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(80px);
            transform: translateX(80px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeinRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(80px);
            transform: translateX(80px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeinLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-80px);
            transform: translateX(-80px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeinLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-80px);
            transform: translateX(-80px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(33px);
            transform: translateY(33px);
  }
}
@-webkit-keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(33px);
            transform: translateY(33px);
  }
}
/*-----------------------------------

	$brand

-----------------------------------*/
/* --

 brand.css

-- */
/**======================================
	setting
======================================**/
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.brand .anime {
  opacity: 0;
}
.brand .active {
  -webkit-animation: fadeUp 1s ease 0.3s forwards;
          animation: fadeUp 1s ease 0.3s forwards;
}
.brand .mainvisual {
  width: 100%;
  aspect-ratio: 1366/900;
  background: #DAE7F8 url("../images/brand/contents-mv.jpg") no-repeat center top/cover;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .brand .mainvisual {
    aspect-ratio: 375/400;
    background-image: url("../images/brand/contents-mv-sp.jpg");
  }
}
.brand .mainvisual__title {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60.8345534407vw;
  margin: 0;
  padding: 0;
  opacity: 0;
}
.brand .mainvisual__title.active {
  -webkit-animation: fadeUp 2s ease 0.3s forwards;
          animation: fadeUp 2s ease 0.3s forwards;
}
.brand .mainvisual__title img {
  width: 100%;
  opacity: 0.8;
}
@media screen and (max-width: 1024px) {
  .brand .mainvisual__title {
    width: 102.1333333333vw;
    -webkit-animation: fadeUp 1s ease 0.5s forwards;
            animation: fadeUp 1s ease 0.5s forwards;
  }
}
.brand main {
  font-family: "游明朝体", "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS P明朝", "MS 明朝", serif;
  color: #0003A5;
}
.brand__lead {
  background: url("../images/brand/lead-bg.png") no-repeat center top/cover;
  padding: 9rem 0 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  position: relative;
  min-height: 44rem;
  z-index: 0;
}
.brand__lead::after {
  content: "";
  display: block;
  width: 44.6rem;
  aspect-ratio: 446/347;
  background: url("../images/brand/emblem.svg") no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: auto;
  opacity: 0.65;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .brand__lead {
    padding: 4rem 0;
    min-height: inherit;
    background-image: url("../images/brand/lead-bg-sp.png");
  }
  .brand__lead::after {
    width: 68.8vw;
  }
}
.brand__lead-txt.active {
  -webkit-animation: fadeUp 2s ease 1s forwards;
          animation: fadeUp 2s ease 1s forwards;
}
@media screen and (max-width: 640px) {
  .brand__lead-txt {
    -webkit-animation: fadeUp 1s ease 1s forwards;
            animation: fadeUp 1s ease 1s forwards;
  }
}
.brand__lead p {
  font-size: 2.3rem;
  line-height: 2.1739130435;
  font-weight: semibold;
}
@media screen and (max-width: 1024px) {
  .brand__lead p {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 640px) {
  .brand__lead p {
    font-size: 1.5rem;
    line-height: 2;
  }
}

.myself {
  background: url("../images/brand/myself-bg.jpg") no-repeat center top/cover;
  padding: 6.5rem 0 14rem;
  position: relative;
  overflow: hidden;
}
.myself::before, .myself::after {
  content: "";
  position: absolute;
  border-bottom: 14rem solid #fff;
  bottom: 0;
}
.myself::before {
  left: 0;
  border-right: 50vw solid transparent;
}
.myself::after {
  right: 0;
  border-left: 50vw solid transparent;
}
@media screen and (max-width: 640px) {
  .myself {
    background-image: url("../images/brand/myself-bg-sp.jpg");
    padding: 11.4666666667vw 0 22.4vw;
  }
  .myself::before, .myself::after {
    border-bottom-width: 22.4vw;
  }
}

.axia__title {
  margin: 0;
  padding: 0;
}
.axia__title img {
  width: 75.4rem;
  height: auto;
  display: block;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .axia__title img {
    width: 55.1976573939vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__title img {
    width: 84vw;
  }
}
.axia__title .sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .axia__title .sp {
    display: block;
  }
  .axia__title .pc {
    display: none;
  }
}
.axia__wrap {
  position: relative;
  margin: -1.4641288433vw auto 0;
  width: 98rem;
  aspect-ratio: 980/962;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .axia__wrap {
    width: 95.703125vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__wrap {
    width: 100%;
  }
}
.axia__diagram {
  width: 100%;
  aspect-ratio: 980/962;
}
.axia__diagram img {
  width: 100%;
  aspect-ratio: 980/962;
}
.axia__diagram-ttl {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 46.2rem;
  aspect-ratio: 2;
  z-index: 2;
}
.axia__diagram-ttl img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .axia__diagram-ttl {
    width: 45.1171875vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__diagram {
    width: 100%;
  }
  .axia__diagram-ttl {
    width: 50.1333333333vw;
    margin-top: 1%;
  }
}
.axia__block {
  position: absolute;
}
.axia__block#axia-01 {
  top: 3rem;
  left: 25.4rem;
}
@media screen and (max-width: 1024px) {
  .axia__block#axia-01 {
    top: 2.9296875vw;
    left: 24.8046875vw;
  }
}
.axia__block#axia-02 {
  bottom: 2.5rem;
  left: 2.9rem;
}
@media screen and (max-width: 1024px) {
  .axia__block#axia-02 {
    bottom: 2.44140625vw;
    left: 2.83203125vw;
  }
}
.axia__block#axia-03 {
  bottom: 2.5rem;
  right: 3rem;
}
@media screen and (max-width: 1024px) {
  .axia__block#axia-03 {
    bottom: 2.44140625vw;
    right: 1.953125vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__block#axia-01, .axia__block#axia-02, .axia__block#axia-03 {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.axia__box {
  background: #fff;
  border: 2px solid #029FAD;
  border-radius: 3.1rem;
  padding: 3.5rem 3.5rem 2.8rem;
  width: 45.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #029FAD;
  -webkit-box-shadow: 0 10px 20px 0 rgba(105, 182, 248, 0.43);
          box-shadow: 0 10px 20px 0 rgba(105, 182, 248, 0.43);
  position: absolute;
  z-index: -2;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media screen and (max-width: 1366px) {
  .axia__box {
    border-radius: 2.2693997072vw;
    padding: 2.5622254758vw 2.5622254758vw 2.0497803807vw;
    width: 33.2357247438vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box {
    padding: 3rem 2.8rem;
  }
}
.axia__box .btn-close {
  width: 2.5rem;
  height: 2.5rem;
  background: url("../images/brand/close.svg") no-repeat center center/cover;
  position: absolute;
  top: 1.8rem;
  right: 1.8rem;
}
.axia__box .btn-close span {
  display: none;
}
.axia__box .btn-close:hover {
  cursor: pointer;
  opacity: 0.7;
}
.is-open .axia__box {
  opacity: 1;
  z-index: 999;
}
#axia-01 .axia__box {
  top: 5rem;
  left: calc(100% - 7rem);
}
#axia-02 .axia__box {
  top: -8rem;
  left: calc(100% + 7.5rem);
}
#axia-03 .axia__box {
  top: -8rem;
  right: calc(100% + 4.4rem);
}
@media screen and (max-width: 640px) {
  #axia-01 .axia__box, #axia-02 .axia__box, #axia-03 .axia__box {
    top: 3.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 33.5rem;
  }
}
.axia__box .image {
  margin-bottom: 2.4rem;
}
.axia__box .image img {
  border-radius: 1.8rem;
}
.axia__box h4 {
  text-align: center;
  font-size: 3.5rem;
  line-height: 1;
  margin: 0 0 1.6rem;
  padding: 0;
  font-weight: 500;
}
@media screen and (max-width: 1366px) {
  .axia__box h4 {
    font-size: 2.5622254758vw;
    margin-bottom: 1.1713030747vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box h4 {
    font-size: 3rem;
    margin-bottom: 4.2666666667vw;
  }
}
.axia__box p {
  line-height: 1.875;
  font-size: 1.6rem;
}
@media screen and (max-width: 1366px) {
  .axia__box p {
    font-size: 1.1713030747vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box p {
    font-size: 1.5rem;
    line-height: 1.6666666667;
  }
}
.axia__box .compi {
  margin-top: 3rem;
}
@media screen and (max-width: 1366px) {
  .axia__box .compi {
    font-size: 2.196193265vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box .compi {
    margin-top: 2rem;
  }
}
.axia__box .compi dt {
  text-align: center;
  font-size: 2.3rem;
  line-height: 1;
  padding: 0;
  margin: 0 0 1.5rem;
}
@media screen and (max-width: 1366px) {
  .axia__box .compi dt {
    font-size: 1.6837481698vw;
    margin-bottom: 1.0980966325vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box .compi dt {
    font-size: 2rem;
    margin-bottom: 4vw;
  }
}
.axia__box .compi__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .axia__box .compi__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.axia__box .compi__list li {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.9rem;
  width: calc(50% - 1rem);
  background: #029FAD;
  color: #fff;
  border-radius: 10rem;
  text-align: center;
  padding: 0.75rem;
}
@media screen and (max-width: 1366px) {
  .axia__box .compi__list li {
    font-size: 1.3909224012vw;
    padding: 0.5490483163vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__box .compi__list li {
    width: 100%;
    font-size: 1.9rem;
  }
}
.axia__circle {
  width: 48rem;
  aspect-ratio: 1;
  opacity: 0;
  background: #FFBEFC;
  border-radius: 50%;
  -webkit-filter: blur(3rem);
          filter: blur(3rem);
  aspect-ratio: 1;
  mix-blend-mode: multiply;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .axia__circle {
    width: 46.875vw;
  }
}
@media screen and (max-width: 640px) {
  .axia__circle {
    width: 47.4666666667vw;
    position: absolute;
  }
  #axia-01 .axia__circle {
    top: 4vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  #axia-02 .axia__circle {
    bottom: 3.7333333333vw;
    left: 4.2666666667vw;
  }
  #axia-03 .axia__circle {
    bottom: 3.7333333333vw;
    right: 4vw;
  }
}
.is-open .axia__circle {
  opacity: 1;
}
.axia-trigger {
  width: 48rem;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  opacity: 0;
}
.axia-trigger:hover {
  cursor: pointer;
}
.axia-trigger:hover + .axia__circle {
  opacity: 0.68;
}
@media screen and (max-width: 1024px) {
  .axia-trigger {
    width: 46.875vw;
  }
}
@media screen and (max-width: 640px) {
  .axia-trigger {
    width: 47.4666666667vw;
  }
  #axia-01 .axia-trigger {
    top: 4vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  #axia-02 .axia-trigger {
    top: auto;
    right: auto;
    bottom: 3.7333333333vw;
    left: 4.2666666667vw;
  }
  #axia-03 .axia-trigger {
    top: auto;
    left: auto;
    bottom: 3.7333333333vw;
    right: 4vw;
  }
}

.step {
  text-align: center;
  color: #fff;
}
.step__title {
  font-size: 5rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 0.5em;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .step__title {
    font-size: 4rem;
  }
}
@media screen and (max-width: 640px) {
  .step__title {
    font-size: 3rem;
    line-height: 1.5;
  }
}
.step__text {
  font-size: 2.3rem;
  line-height: 2.1739130435;
}
@media screen and (max-width: 1024px) {
  .step__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .step__text {
    font-size: 1.5rem;
    line-height: 2;
  }
}

.program__intro {
  padding: 10rem 0 7rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .program__intro {
    padding: 5rem 0;
  }
}
.program__intro-ttl {
  margin-bottom: 5rem;
}
@media screen and (max-width: 640px) {
  .program__intro-ttl {
    margin-bottom: 3rem;
  }
}
.program__intro-ttl h3 {
  margin: 2rem auto;
}
.program__intro-ttl h3 img {
  width: 100%;
  max-width: 84rem;
  margin: auto;
}
.program__intro-ttl h3 .tb {
  display: none;
}
@media screen and (max-width: 1024px) {
  .program__intro-ttl h3 .tb {
    display: block;
  }
  .program__intro-ttl h3 .pc {
    display: none;
  }
  .program__intro-ttl h3 img {
    max-width: 36rem;
  }
}
@media screen and (max-width: 640px) {
  .program__intro-ttl h3 img {
    max-width: 26rem;
  }
}
.program__intro-ttl p:first-child {
  font-size: 3rem;
  line-height: 1.7666666667;
}
@media screen and (max-width: 640px) {
  .program__intro-ttl p:first-child {
    font-size: 2.5rem;
    line-height: 1.6;
  }
}
.program__intro-ttl p:last-child {
  font-size: 2.5rem;
  letter-spacing: -0.04em;
  line-height: 1.76;
}
@media screen and (max-width: 640px) {
  .program__intro-ttl p:last-child {
    font-size: 2rem;
  }
}
.program__intro-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}
.program__intro-txt p {
  font-size: 2rem;
  line-height: 1.7;
}
@media screen and (max-width: 640px) {
  .program__intro-txt p {
    font-size: 1.5rem;
    line-height: 1.7333333333;
  }
}
.program__intro-txt b {
  font-size: 3.5rem;
  font-weight: 500;
  color: #EB6EA5;
}
@media screen and (max-width: 1024px) {
  .program__intro-txt b {
    font-size: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .program__intro-txt b {
    font-size: 2.5rem;
    line-height: 1.6;
  }
}
.program__item#program-01, .program__item#program-02 {
  margin-bottom: 10rem;
}
@media screen and (max-width: 640px) {
  .program__item#program-01, .program__item#program-02 {
    margin-bottom: 8rem;
  }
}
.program__item#program-03 {
  margin-bottom: 8.6rem;
}
@media screen and (max-width: 640px) {
  .program__item#program-03 {
    margin-bottom: 5.5rem;
  }
}
.program__header {
  width: 100%;
  aspect-ratio: 1366/730;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1366px) {
  .program__header {
    aspect-ratio: auto;
    height: 73rem;
  }
}
@media screen and (max-width: 640px) {
  .program__header {
    height: auto;
    aspect-ratio: 375/500;
  }
}
#program-01 .program__header {
  background-image: url("../images/brand/program01/program-mv.jpg");
}
@media screen and (max-width: 640px) {
  #program-01 .program__header {
    background-image: url("../images/brand/program01/program-mv-sp.jpg");
  }
}
#program-02 .program__header {
  background-image: url("../images/brand/program02/program-mv.jpg");
}
@media screen and (max-width: 640px) {
  #program-02 .program__header {
    background-image: url("../images/brand/program02/program-mv-sp.jpg");
  }
}
#program-03 .program__header {
  background-image: url("../images/brand/program03/program-mv.jpg");
}
@media screen and (max-width: 640px) {
  #program-03 .program__header {
    background-image: url("../images/brand/program03/program-mv-sp.jpg");
  }
}
.program__title {
  position: absolute;
  left: 0;
  bottom: 0;
}
.program__title img {
  width: 100%;
  height: auto;
}
#program-01 .program__title {
  width: 33.3821376281vw;
  left: 6.9rem;
  bottom: 4.1rem;
}
@media screen and (max-width: 1366px) {
  #program-01 .program__title {
    width: 45.6rem;
  }
}
@media screen and (max-width: 640px) {
  #program-01 .program__title {
    left: 5%;
    bottom: 2%;
    width: 89.3333333333vw;
  }
}
#program-02 .program__title {
  width: 27.8184480234vw;
  left: 6.7rem;
  bottom: 4.3rem;
}
@media screen and (max-width: 1366px) {
  #program-02 .program__title {
    width: 38rem;
  }
}
@media screen and (max-width: 640px) {
  #program-02 .program__title {
    left: 4%;
    bottom: 4%;
    width: 68.8vw;
  }
}
#program-03 .program__title {
  width: 35.3587115666vw;
  left: 6.9rem;
  bottom: 4.1rem;
}
@media screen and (max-width: 1366px) {
  #program-03 .program__title {
    width: 48.3rem;
  }
}
@media screen and (max-width: 640px) {
  #program-03 .program__title {
    left: 4%;
    bottom: 3%;
    width: 85.3333333333vw;
  }
}
.program__title-sub {
  position: absolute;
}
.program__title-sub img {
  width: 100%;
  height: auto;
}
#program-01 .program__title-sub {
  width: 27.4524158126vw;
  top: 2.2rem;
  left: 3.5rem;
  mix-blend-mode: color-dodge;
}
@media screen and (max-width: 1366px) {
  #program-01 .program__title-sub {
    width: 37.5rem;
  }
}
@media screen and (max-width: 640px) {
  #program-01 .program__title-sub {
    top: 2%;
    left: 3%;
    width: 53.3333333333vw;
  }
}
#program-02 .program__title-sub {
  width: 27.5256222548vw;
  top: 2.48rem;
  left: 3.9rem;
  mix-blend-mode: color-dodge;
}
@media screen and (max-width: 1366px) {
  #program-02 .program__title-sub {
    width: 37.6rem;
  }
}
@media screen and (max-width: 640px) {
  #program-02 .program__title-sub {
    top: 2%;
    left: 3%;
    width: 54.9333333333vw;
  }
}
#program-03 .program__title-sub {
  width: 27.0863836018vw;
  top: 1.5rem;
  left: 3.5rem;
  mix-blend-mode: color-dodge;
}
@media screen and (max-width: 1366px) {
  #program-03 .program__title-sub {
    width: 37rem;
  }
}
@media screen and (max-width: 640px) {
  #program-03 .program__title-sub {
    top: 2%;
    left: 3%;
    width: 54.6666666667vw;
  }
}
.program__lead {
  position: relative;
  padding: 7rem 0 6rem;
  width: 90%;
  max-width: 108rem;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .program__lead {
    padding: 1.6rem 0 4rem;
  }
}
.program__lead-ttl {
  font-size: 3.5rem;
  line-height: 1.5142857143;
  text-align: center;
  font-weight: 500;
  margin: 0 0 4rem;
}
#program-01 .program__lead-ttl {
  margin-bottom: 1rem;
}
@media screen and (max-width: 1024px) {
  .program__lead-ttl {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 640px) {
  .program__lead-ttl {
    font-size: 2.5rem;
    line-height: 1.6;
    margin-bottom: 2.4rem;
  }
}
.program__lead-wrp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 640px) {
  .program__lead-wrp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.8rem;
  }
}
#program-01 .program__lead-txt {
  width: 45%;
  margin-right: -1.6rem;
}
@media screen and (max-width: 640px) {
  #program-01 .program__lead-txt {
    width: 100%;
    margin: 0;
  }
}
.program__lead-img {
  width: 52%;
  margin-left: -0.8rem;
}
.program__lead-img img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 640px) {
  .program__lead-img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 0 5%;
    overflow-x: scroll;
  }
  .program__lead-img img {
    width: 57.1rem;
  }
}
.program__inner {
  width: 90%;
  max-width: 108rem;
  margin: auto;
}
.program__skill {
  position: absolute;
}
.program__skill .sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .program__skill .sp {
    display: block;
  }
  .program__skill .pc {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .program__skill {
    position: static;
    margin: 0 auto 3.2rem;
  }
  #program-03 .program__skill {
    margin-bottom: 2.2rem;
  }
}
.program__skill img {
  width: 100%;
  height: auto;
}
#program-01 .program__skill {
  width: 39.9707174231vw;
  min-width: 54.6rem;
  top: -6.588579795vw;
  right: -3.6603221083vw;
}
@media screen and (max-width: 640px) {
  #program-01 .program__skill {
    width: 87.4666666667vw;
    min-width: auto;
    max-width: 48rem;
    -webkit-transform: translateX(-3%);
            transform: translateX(-3%);
  }
}
#program-02 .program__skill {
  width: 24.4509516837vw;
  min-width: 33.4rem;
  top: -6.588579795vw;
  right: -1.756954612vw;
}
@media screen and (max-width: 640px) {
  #program-02 .program__skill {
    width: 87.4666666667vw;
    min-width: auto;
    max-width: 48rem;
    -webkit-transform: translateX(-3%);
            transform: translateX(-3%);
  }
}
#program-03 .program__skill {
  width: 23.2064421669vw;
  min-width: 31.7rem;
  top: -6.588579795vw;
  right: 0;
}
@media screen and (max-width: 640px) {
  #program-03 .program__skill {
    width: 87.4666666667vw;
    min-width: auto;
    max-width: 48rem;
    -webkit-transform: translateX(-3%);
            transform: translateX(-3%);
  }
}
.program__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 6rem;
}
@media screen and (max-width: 640px) {
  .program__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 4rem;
  }
}
.col2 .program__unit {
  width: 45.5%;
}
.col3 .program__unit {
  width: 30%;
}
@media screen and (max-width: 1024px) {
  .col3 .program__unit {
    width: 45.9%;
  }
}
@media screen and (max-width: 640px) {
  .col2 .program__unit, .col3 .program__unit {
    width: 100%;
  }
  .program__unit:has(.balloon) {
    padding-top: 7%;
  }
}
.program__image {
  margin-bottom: 3.2rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .program__image {
    margin-bottom: 2rem;
  }
}
.program__image img {
  width: 100%;
  height: auto;
}
.program__image .balloon {
  width: 70%;
  max-width: 34.8rem;
  position: absolute;
  top: -6%;
  right: -5%;
}
@media screen and (max-width: 640px) {
  .program__image .balloon {
    width: 100%;
    max-width: 42rem;
    right: 0;
    left: 0;
    top: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    margin: auto;
  }
}
.program__text h6 {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
  margin: 0 0 2.8rem;
  padding: 0;
}
@media screen and (max-width: 640px) {
  .program__text h6 {
    font-size: 2.5rem;
    margin-bottom: 1.8rem;
  }
}
.program__text p {
  font-size: 1.7rem;
  line-height: 1.8823529412;
}
.program__text p:not(last-child) {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 640px) {
  .program__text p {
    font-size: 1.5rem;
    line-height: 2;
  }
  .program__text p:not(last-child) {
    margin-bottom: 0;
  }
}

.btn-top {
  text-align: center;
}
.btn-top a {
  display: inline-block;
  font-size: 1.5rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #0003A5;
  color: #fff;
  padding: 0.8em 0;
  border-radius: 10rem;
  width: 23.6rem;
  position: relative;
}
.btn-top a::after {
  content: "";
  display: block;
  width: 1.4rem;
  height: 0.8rem;
  background: url("../images/brand/icon-arrow.svg") no-repeat center center/cover;
  position: absolute;
  right: 2.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.btn-top a:hover {
  background: #EB6EA5;
}

/*-----------------------------------

    print - 印刷設定

-----------------------------------*/
@media print {
  [id=wrapper] {
    width: 1060px;
    overflow: hidden;
  }
  .header {
    position: static;
  }
}