@charset "utf-8";
/* CSS Document */

/*--------------------------------------
　Main Index
---------------------------------------*/

/*共通*/


body {
  background: none;
}

body.modal-open {
  overflow: hidden;
  height: 100vh;
  width: 100vw;
}

#index .sec {
  margin: 0 auto;
  position: relative;
}

#contents .captionWrap {
  overflow: hidden;
  white-space: nowrap;
}

#contents .captionWrap .caption {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  /*height: calc(100% + 18px);*/
  /*overflow-x: scroll;*/
}

.caption::-webkit-scrollbar {
  height: 5px;
}

.caption::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: #ddd;
}

.caption::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}

#index .idxh2 {
  font-size: 4.4rem;
  margin-top: 0;
  margin-bottom: 40px;
  padding: 0;
  position: relative;
  background: none;
  letter-spacing: 0.2rem;
  border: none;
  line-height: 6rem;
  /* text-decoration: underline; */
  /* 下線 */
  /* text-decoration-thickness: 0.5em; */
  /* 線の太さ */
  /* text-decoration-color: #fff; */
  /* 線の色 */
  /* text-underline-offset: -0.2em; */
  /* 線の位置。テキストに重なるようにやや上部にする */
  /* text-decoration-skip-ink: none; */
  /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

#index #sec05_cont .idxh2 .fs_s {
  font-size: 2.4rem;
}

#index .idxh2 a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

#index .idxh2 a::after {
  content: "";
  background: url(img/arr_yellow.png) 50% 50% no-repeat;
  background-size: 4rem auto;
  width: 4rem;
  height: 4rem;
  display: inline-block;
  margin: 0 0 0 2.5rem;
}

#index .idxh2 a:hover {
  opacity: 0.7;
}

p {
  margin: 0 0 2rem 0;
}

/* Firefox */
@-moz-document url-prefix() {}



/*各セクション*/


/*keyArea*/

#keyArea {
  position: relative;
}

#keyArea .key_anime {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 3;
}

#keyArea .key_anime .mainTit_box {
  width: 50rem;
  padding: 0 4rem;
  line-height: 9rem;
  position: relative;
}

#keyArea .key_anime .mainTit_box .animeImg01 {
  position: absolute !important;
  bottom: 0;
  right: 5rem;
  display: table;
  padding: 17rem 0 0 0;
}

#keyArea .key_anime .mainTit_box span {
  color: #444;
  letter-spacing: .2rem;
  font-size: 5.6rem;
  font-weight: 700;
  opacity: 0;
  /* 初期状態で非表示 */
}


#keyArea .key_anime .mainTit_box .animeTxt01 {
  background: url(img/deco_shape_brown01.png) 50% 50% no-repeat;
  background-size: 16.8rem auto;
  color: #FFF;
  padding: 3rem 3rem 1.5rem 3rem;
  margin: 0 0 0 -2.5rem;
}

#keyArea .key_anime .mainTit_box .animeTxt03 {
  background: url(img/deco_shape_yel01.png) 50% 0 no-repeat;
  background-size: 5.6rem auto;
  padding: 3rem 0 0 0;
}

#keyArea .key {
background: url(img/keyimg01.png)50% 0 no-repeat, url(img/keyimg_bg.png) 50% 0 no-repeat;
    background-size: auto;
}

#keyArea .key .titArea {
     background-size: 90%;
    padding: 5rem 4rem 7rem 4rem;
    margin: -2rem 0 29rem 2rem;
}

#keyArea .key .titArea .enTit {
 background: url(img/deco_writing_bd_blue.png) right 65rem top 2rem no-repeat;
    background-size: auto .3rem;
    width: 100%;
    margin: 0 0 2.5rem 0.8rem;
}
#keyArea .key .titArea .idxh2 span {
     font-size: 4.6rem;
    padding: 0 0.3rem;
}
#keyArea .key .titArea .idxh2 {
font-size: 4.2rem;
    color: #6d4a3d;
    line-height: 6.6rem;
}

#keyArea .key .inner {
  padding: 0;
  width: 100rem;
  margin: 0 auto;
}

#keyArea .key .media_cont {
  background: #fde9cd;
  padding: 6rem 10rem;
  border-radius: 20rem 2rem 2rem 20rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

#keyArea .key .media_cont .enTit {
  width: 22.6rem;
  padding: 1rem 0 0 0;
}

#keyArea .key .media_cont p {
  width: calc(100% - 22.6rem);
  padding: 0 0 0 6rem;
  font-weight: 700;
  line-height: 3.8rem;
  margin: 0;
}


/*共通*/


/*sec01_cont*/

#sec01_cont {
  background: #fff9f0;
  padding: 10rem 0 12rem;
}

#sec01_cont .inner {
  position: relative;
}

#sec01_cont .inner:before {
  content: "";
  background: #FFF;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  position: absolute;
  top: -7rem;
  left: calc(50% - 22.5rem);
}

#sec01_cont .idxh2 {
  text-align: center;
  font-size: 2.4rem;
  line-height: 4.2rem;
  margin: 0 auto 4rem;
}

#sec01_cont .idxh2 .fs_s {
  font-size: 1.8rem;
}

#sec01_cont .subject_cont {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.6rem;
}

#sec01_cont .sCont {
border-radius: 13rem;
    border:2px solid #d9e6f1;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 3rem;
    width: 17rem;
    padding: 6rem 0.5rem 4rem;
    position: relative;
    background: #f2f8fd;
    text-align: center;
}

#sec01_cont .sCont:nth-child(1):before {
  content: "";
  position: absolute;
  top: calc(50% - 6.5rem);
    left: 6.5rem;
    width: 3.6rem;
    height: 4rem;
  background: url(img/icon_nav_green.png) 50% 50% no-repeat;
  background-size: contain;
}

#sec01_cont .sCont:nth-child(2):before {
content: "";
    position: absolute;
  top: calc(50% - 6.5rem);
    left: 6.5rem;
    width: 3.6rem;
    height: 4rem;
    background: url(img/icon_nav_yellow.png) 50% 50% no-repeat;
    background-size: contain;
}

#sec01_cont .sCont:nth-child(3):before {
  content: "";
  position: absolute;
  top: calc(50% - 6.5rem);
    left: 6.5rem;
    width: 3.6rem;
    height: 4rem;
  background: url(img/icon_nav_red.png) 50% 50% no-repeat;
  background-size: contain;
}

#sec01_cont .sCont:nth-child(4):before {
  content: "";
  position: absolute;
 top: calc(50% - 6.5rem);
    left: 6.5rem;
    width: 3.6rem;
    height: 4rem;
  background: url(img/icon_nav_blue.png) 50% 50% no-repeat;
  background-size: contain;
}

#sec01_cont .sCont:nth-child(5):before {
  content: "";
  position: absolute;
 top: calc(50% - 6.5rem);
    left: 6.5rem;
    width: 3.6rem;
    height: 4rem;
  background: url(img/icon_nav_green2.png) 50% 50% no-repeat;
  background-size: contain;
}



/*sec02_cont*/

#index #sec02_cont {
  background: #FFF;
  border-radius: 20rem 20rem 0 0;
  padding: 10rem 0 10rem;
}

#sec02_cont .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 5rem 0 15rem;
}

#sec02_cont .titArea {
  width: 22.4rem;
  background: url(img/illust_door.png) 50% 0 no-repeat;
  background-size: cover;
  padding: 4rem 1.5rem 0 1.5rem;
  min-height: 29.2rem;
  position: relative;
}

#sec02_cont .titArea:before {
  content: "";
    background: url(img/illust_human01.png) 50% 0 no-repeat;
    background-size: auto 20.6rem;
    width: 21.2rem;
    height: 20.6rem;
    position: absolute;
    bottom: -6rem;
    left:-10rem;
}

#sec02_cont .titArea .idxh2 {
  font-size: 2.6rem;
  text-align: center;
  line-height: 3.6rem;
}

#sec02_cont .titArea .idxh2 .fs_s {
  font-size: 1.8rem;
}

#sec02_cont .ancLink {
  width: 47rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  z-index: 1;
}

#sec02_cont .ancLink .sLink {
  background: #fff6ea;
  border-radius: 1rem;
  width: 38rem;
}

#sec02_cont .ancLink .sLink:nth-child(odd) {
  margin-left: 5rem;
}

#sec02_cont .ancLink .sLink a {
  font-size: 1.7rem;
  display: block;
  font-weight: 700;
  padding: 2rem 2rem 2rem 8rem;
  position: relative;
  text-decoration: none;
}

#sec02_cont .ancLink .sLink a:before {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  right: 2.5rem;
  width: 4.4rem;
  height: 4.4rem;
  background: url(img/arr_blue02_down.png) 50% 50% no-repeat;
  background-size: cover;
}

#sec02_cont .ancLink .sLink:nth-child(1) a {
  background: url(img/deconum01.svg) left 3rem top 50% no-repeat;
  background-size: auto 3rem;
}

#sec02_cont .ancLink .sLink:nth-child(2) a {
  background: url(img/deconum02.svg) left 3rem top 50% no-repeat;
  background-size: auto 3rem;
}

#sec02_cont .ancLink .sLink:nth-child(3) a {
  background: url(img/deconum03.svg) left 3rem top 50% no-repeat;
  background-size: auto 3rem;
}

#sec02_cont .ancLink .sLink:hover {
  transform: translateY(-1rem);
  transition: .3s all;
}

/*sec03_cont*/

#index #sec03_cont {
background: url(img/bg_sec03_cont.jpg) 0 0 no-repeat;
    background-size: contain;
    padding: 9rem 0 0 0;
    position: relative;
    margin: 0 auto 26rem;
}

#index #sec03_cont:before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 200rem);
  background: #e9f4fc;
  width: 200rem;
  height: 100%;
}

#index #sec03_cont:after {
  content: "";
  background: url(img/deco_shape_blue02.png) 50% 50% no-repeat;
  background-size: 49.6rem auto;
  width: 49.6rem;
  height: 39.6rem;
  position: absolute;
  top: -14rem;
  right: calc(50% - 85rem);
}

#index #sec03_cont .inner {
  padding: 0 0 0 44rem;
  display: flex;
}

#index #sec03_cont .detailArea {
  background: #FFF;
  border: 2px solid #8d776e;
  padding: 6rem 5rem 5rem;
  border-radius: 1rem;
  position: relative;
  z-index: 1;
  margin: 0 0 -16rem 0;
}

#index #sec03_cont .detailArea .icon_media {
  position: absolute;
  width: 10rem;
  height: 10.1rem;
  background: url(img/bgdeco_kanshu.png) 50% 50% no-repeat;
  background-size: cover;
  top: -5rem;
  left: calc(50% - 6rem);
  color: #FFF;
  font-weight: 700;
  text-align: center;
  z-index: 1;
  line-height: 2.6rem;
  padding: 2.5rem 0 0 0;
}

#index #sec03_cont .logo {
  width: 27.9rem;
  margin: 0 auto 3rem;
}

#index #sec03_cont .titArea {
  font-size: 1.8rem;
	color: #257ec7;
  text-align: center;
  margin: 0 0 2rem 0;
}

#index #sec03_cont .titArea .sponsored {
  font-weight: 700;
  border-right: 1px solid #333;
  padding: 0 2rem 0 0;
  margin: 0 2rem 0 0;
}

#index #sec03_cont .titArea .idxh2 {
  font-size: 1.8rem;
  line-height: 3rem;
  display: inline-block;
  margin: 0;
}

#index #sec03_cont .btn-web {
  margin: 4rem auto 0;
}

/*sec04_cont*/

#index #sec04_cont {
  background: #ffebd3;
  border-radius: 0 20rem 0 0;
  margin: 0 auto 16rem;
}

#index #sec04_cont .inner {
  padding: 8rem 0;
}

#index #sec04_cont .flBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 5rem;
}

#index #sec04_cont .idxh2 {
  writing-mode: vertical-rl;
  text-orientation: upright;
  order: 2;
  font-size: 6.2rem;
  letter-spacing: .6rem;
  margin: -11rem 0 0 0;
  font-family: "Zen Kaku Gothic New Vertical";
}

#index #sec04_cont .idxh2 .bg_white {
  border-radius: 1rem;
  color: #d97249;
  padding: 1rem 0;
}

#index #sec04_cont .idxh2 .hukiCont {
  writing-mode: horizontal-tb;
  background: #d97249;
  border-radius: 5rem;
  padding: 2rem;
  width: 20rem;
  position: relative;
  margin: 0 auto 3rem;
}

#index #sec04_cont .idxh2 .hukiCont:before {
  content: "";
  background: #d97249;
  position: absolute;
  bottom: -.9rem;
  left: calc(50% - 1rem);
  width: 2rem;
  height: 1rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#index #sec04_cont .idxh2 .hukiCont .huki_inner {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 2.4rem;
  display: block;
  letter-spacing: .2rem;
  color: #FFF;
}

#index #sec04_cont .qaBox {
  width: 75rem;
  order: 1;
  position: relative;
  padding: 7rem 0 0 0;
}

#index #sec04_cont .qaBox:after {
  content: "";
  background: #ffd954;
  width: 80rem;
  height: 24rem;
  border-radius: 1rem 15rem 15rem 1rem;
  position: absolute;
  top: 7rem;
  left: -5rem;
}

#index #sec04_cont .qaBox:before {
content: "";
    background: url(img/illust_human02.png) 50% 50% no-repeat;
    background-size: auto 30.4rem;
    position: absolute;
    width: 38.4rem;
    height: 29.4rem;
    top: -16.5rem;
    left: -3rem;
}

#index #sec04_cont .qaBox .qArea,
#index #sec04_cont .qaBox .aArea {
  position: relative;
  z-index: 1;
}

#index #sec04_cont .qaBox .qArea {
  padding: 5rem 5rem 4rem 5rem;
}

#index #sec04_cont .qaBox .qArea .catch {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: .2rem;
  line-height: 5rem;
  background: url(img/deco_q.svg) 0 50% no-repeat;
  background-size: auto;
  padding: 0 0 0 10rem;
}

#index #sec04_cont .qaBox .qArea .catch .fs_s {
  font-size: 2.2rem;
}

#index #sec04_cont .qaBox .qArea .catch .bg_white {
  border-radius: .5rem;
  margin: 0 .5rem;
  padding: 0 .8rem;
  color: #d97249;
}

#index #sec04_cont .qaBox .qArea .catch .bg_heart {
  background: url(img/deco_shape_brown01.png) 50% 50% no-repeat;
  background-size: cover;
  color: #FFF;
  padding: 1.2rem .8rem .5rem 1rem;
  margin: 0 0 0 -.5rem;
}

#index #sec04_cont .aArea {
  background: #FFF;
  border-radius: 1rem;
  width: 64rem;
  margin: 0 0 0 5rem;
}

#index #sec04_cont .aArea .catch {
  background: #257ec7 url(img/deco_a.svg) left 4rem top 50% no-repeat;
  background-size: auto;
  color: #FFF;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 4.4rem;
  padding: 2.5rem 3rem 2.5rem 11rem;
  letter-spacing: .2rem;
  border-radius: 1rem 1rem 0 0;
}

#index #sec04_cont .aArea .catch .bb_blue {
  background: linear-gradient(transparent 60%, #5198d2 60%);
  padding: 0 0 .2rem 0;
}

#index #sec04_cont .aArea .botArea {
  padding: 3rem 4rem;
}

#index #sec04_cont .profession_cont {
  padding: 0 0 0 5rem;
  width: 69rem;
  position: relative;
}

#index #sec04_cont .profession_cont .idxh3 {
  font-size: 2.5rem;
  background: url(img/deco_writing_bd_black.png) 0 100% repeat-x;
  background-size: auto .3rem;
  padding: 2rem 0 3rem 10rem;
  line-height: 3.6rem;
  position: relative;
  margin: 0 0 3rem 0;
}

#index #sec04_cont .profession_cont .idxh3:before {
  content: "";
  position: absolute;
  background: url(img/logo_icon_blue.png) 50% 50% no-repeat;
  background-size: 8rem auto;
  width: 8rem;
  height: 8rem;
  top: calc(50% - 4.5rem);
  left: 0;
}

#index #sec04_cont .profession_cont .ph {
  top: -15rem;
  right: -30em;
}

#index #sec04_cont .job_type {
  border-radius: 0 20rem 0 0;
  background: #e9f4fc url(img/bg_rep_shape_blue01.png) 50% 0 repeat-x;
  background-size: auto;
}

#index #sec04_cont .job_type .titArea {
  background: url(img/deco_shape_white.png) 50% 50% no-repeat;
  background-size: contain;
  margin: 0 auto 3rem;
  padding: 15.5rem 0 9.5rem;
}

#index #sec04_cont .job_type .titArea .idxh4 {
  font-size: 3rem;
  text-align: center;
  line-height: 4.6rem;
  position: relative;
}

#index #sec04_cont .job_type .titArea .idxh4:before {
  content: "";
  background: url(img/deco_shape_brown02.png) 50% 50% no-repeat;
  background-size: contain;
  width: 6rem;
  height: 4.4rem;
  position: absolute;
  top: -5.5rem;
  left: calc(50% - 3rem);
}

#index #sec04_cont .circleBox {
  width: 75rem;
  margin: 0 auto;
  background: url(img/illust_human04.png) left 52% bottom 10rem no-repeat, url(img/illust_circle.png) 50% 0 no-repeat;
  background-size: auto, auto;
  position: relative;
}

#index #sec04_cont .animeIcon {
  position: relative;
  width: 100%;
  height: 75rem;
  /* 適宜調整 */
}

/* 表示時のアニメーション */

#index #sec04_cont .anime {
  position: absolute;
  width: 26px;
  height: 26px;
  opacity: 0;
  transition: transform .3s ease-out, opacity .3s ease-out;
}

#index #sec04_cont .anime.show {
  opacity: 1;
  transform: scale(6);
  /* 30px → 180px */
}

#index #sec04_cont .anime01 {
  top: 14rem;
  left: calc(50% - 1.5rem);
}

#index #sec04_cont .anime02 {
  top: 26rem;
  left: calc(50% - 21rem);
}

#index #sec04_cont .anime03 {
  top: 26rem;
  right: calc(50% - 21rem);
}

#index #sec04_cont .anime04 {
  top: 50rem;
  left: calc(50% - 18rem);
}

#index #sec04_cont .anime05 {
  top: 50rem;
  right: calc(50% - 18rem);
}

#sec04_cont .circleBox .sBlock {
  background: #FFF;
  position: absolute;
  width: 24rem;
  border-radius: 1rem;
  border: 2px solid #257ec7;
  padding: 0 2rem;
}

#sec04_cont .circleBox .sBlock:nth-child(2) {
  top: -7rem;
  left: calc(50% - 12rem);
}

#sec04_cont .circleBox .sBlock:nth-child(3) {
  top: 14rem;
  left: calc(50% - 47rem);
}

#sec04_cont .circleBox .sBlock:nth-child(4) {
  top: 14rem;
  right: calc(50% - 47rem);
}

#sec04_cont .circleBox .sBlock:nth-child(5) {
  top: 42rem;
  left: calc(50% - 47rem);
}

#sec04_cont .circleBox .sBlock:nth-child(6) {
  top: 42rem;
  right: calc(50% - 47rem);
}

#sec04_cont .circleBox .sBlock .idxh5 {
  text-align: center;
  font-size: 2rem;
  color: #257ec7;
  background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
  background-size: auto .3rem;
  padding: 1.5rem 0 1.5rem 0;
  margin: 0 auto 1.5rem;
}

#sec04_cont .job_type .pointArea {
background: #ffffff;
    border-radius: 15rem 15rem 1rem 1rem;
    width: 74rem;
    margin: -10rem auto -22rem;
    border: 2px solid #257ec7;
    position: relative;
    padding: 3rem 7rem;
    z-index: 1;
}

#sec04_cont .job_type .pointArea .mTit {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 4rem;
  line-height: 5rem;
  letter-spacing: .2rem;
}

#sec04_cont .job_type .pointArea .mTit .fs_s {
  font-size: 2rem;
}

#sec04_cont .job_type .pointArea .bg_deco_blueback {
  background: url(img/bg_deco_blueback.png) 50% 50% no-repeat;
  background-size: contain;
  color: #FFF;
  padding: .15rem .8rem;
}


/*sec05_cont*/

#index #sec05_cont {
  background: #FFF;
  border-radius: 20rem 20rem 0 0;
  padding: 8rem 0 0 0;
  margin: 0 auto 8rem;
}

#index #sec05_cont .inner {
  padding: 0 5rem;
}

#index #sec05_cont .titArea {
  margin: 0 auto 6rem;
}

#index #sec05_cont .titArea .enTit {
  margin: 0 0 -1rem 0;
}

#index #sec05_cont .modalBtn_area .block01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto 0;
  width: 85.6rem;
}

#index #sec05_cont .modalBtn_area .block01 .sBox {
  width: 26rem;
  margin-right: 3.8rem;
  margin-bottom: 3rem;
  border: 2px solid #257ec7;
  border-radius: 1rem;
}

#index #sec05_cont .modalBtn_area .block01 .sBox:nth-child(3n) {
  margin-right: 0;
}

#index #sec05_cont .modalBtn_area .block01 .sBox .sTit {
  background: #257ec7;
	border-radius: 0.5rem 0.5rem 0 0;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #FFF;
  padding: 1.5rem;
}

#index #sec05_cont .modalBtn_area .block01 .sBox .botArea {
  padding:3rem 1.5rem 4rem;
  position: relative;
}

#index #sec05_cont .modalBtn_area .block01 .sBox .botArea .icon {
  display: block;
  width: 14rem;
  margin: 0 auto;
  transition: .4s all;
}

#index #sec05_cont .modalBtn_area .block01 .sBox:hover .botArea .icon {
  transform: scale(1.2, 1.2);
  transition: .4s all;
}

#index #sec05_cont .modalBtn_area .block01 .sBox .botArea button {
  width: 5rem;
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last {
  border: none;
  position: relative;
  padding: 4rem 0;
  display: table;
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last:hover {
  opacity: 1;
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last:before {
  content: "";
  background: #fff4e3;
  width: 15rem;
  height: 15rem;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 7.5rem);
  left: calc(50% - 7.5rem);
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last:after {
  content: "";
  background: url(img/icon_light.png) 50% 50% no-repeat;
  background-size: 6rem auto;
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 4rem;
  left: 4rem;
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last p {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  display: table-cell;
  vertical-align: middle;
}

#index #sec05_cont .modalBtn_area .block01 .sBox.last .bb_yel {
  background: linear-gradient(transparent 60%, #ffeb8c 60%);
  padding: 0 0 .2rem 0;
}
#index #sec05_cont .modalBtn_area .block01 .sBox:hover {
  opacity: 0.7;
}

/* モーダル */
#index #sec05_cont .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.5);
}

/* モーダルがactiveの時 */
#index #sec05_cont .modal.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
#index #sec05_cont .modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* モーダルのコンテンツ */
#index #sec05_cont .modal__content {
  border-radius: 1rem;
  /* overflow: hidden; */
  position: relative;
  width: 100%;
  max-width: 94rem;
  background: none;
  height: 90vh;
  overflow-y: scroll;
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 0 6rem;
}

#index #sec05_cont .modal__content::-webkit-scrollbar {
  height: 3px;
  width: 6px;
}

#index #sec05_cont .modal__content::-webkit-scrollbar-track {
  border-radius: 3px;
  background: #eee;
}

#index #sec05_cont .modal__content::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #bbb;
}

#index #sec05_cont .modal__content .swiper {
    background: #fff9f0;
    border-radius: 1rem;
}


/* モーダルを閉じるボタン */
#index #sec05_cont .modal__close-btn {
  position: absolute;
  right: 7rem;
  top: 2rem;
  width: 6rem;
  height: 6rem;
  cursor: pointer;
  z-index: 10;
}

#index #sec05_cont .modal__close-btn:hover {
  opacity: 0.7;
}

#index #sec05_cont .modal__content .swiper-button-next:hover,
#index #sec05_cont .modal__content .swiper-button-prev:hover {
  opacity: 0.7;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 0;
}

#index #sec05_cont .modal__content .swiper-button-next {
  position: absolute;
  top: calc(50% - 3rem);
  right: 26px;
  background: url(img/arr_slide_next.png) 50% 50% no-repeat;
  background-size: 6rem auto;
  width: 6rem;
  height: 6rem;
  z-index: 1;
}

#index #sec05_cont .modal__content .swiper-button-prev {
  position: absolute;
  top: calc(50% - 3rem);
  left: 26px;
  background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
  background-size: 6rem auto;
  width: 6rem;
  height: 6rem;
  z-index: 1;
}

#index #sec05_cont .modal__content .detailBox .sBox {
  padding: 2rem 4rem 4rem 4rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .idxh3 {
  text-align: center;
  font-size: 3rem;
  color: #257ec7;
  background: url(img/deco_writing_bd_blue.png) 0 100% repeat-x;
  background-size: auto .3rem;
  padding: 2rem 3rem 3rem 3rem;
  margin: 0 0 4rem 0;
}

#index #sec05_cont .modal__content .detailBox .sBox .flBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto 8rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .flBox .img {
  width: 20rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .flBox .img img {
  width: 70%;
  margin: 0 auto;
  display: block;
}

#index #sec05_cont .modal__content .detailBox .sBox .flBox .txtArea {
  width:85%;
	margin:auto;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner {
  background: #FFF;
  border-radius: 1rem;
  padding: 6rem 5rem 5rem;
  position: relative;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit {
  background: #257ec7;
  width: 15rem;
  padding: 2.4rem 2rem;
  border-radius: 5rem;
  position: absolute;
  top: -3rem;
  left: 3rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit:before {
  content: "";
  background: #257ec7;
  position: absolute;
  bottom: -.9rem;
  left: 4rem;
  width: 2rem;
  height: 1rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit img {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  margin: 0 auto;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .phArea {
  width: 12rem;
    border-radius: 1rem;
    overflow: hidden;
    background: #ecf5fc;
    position: absolute;
    top: -2rem;
    right: 5rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .phArea .name {
  display: block;
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
  padding: 1rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .q_tit {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: #d97249;
  padding: 0 0 0 5rem;
  margin: 0 0 2rem 0;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .q_tit:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(img/deco_q_brown.svg) 50% 50% no-repeat;
  background-size: 3.2rem auto;
  width: 3.2rem;
  height: 3.2rem;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .a_tit {
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 3rem;
  padding: 0 18rem 0 0;
  line-height: 4rem;
}

#index #sec05_cont .modal__content .detailBox .sBox p:last-child {
  margin: 0;
}

#index #sec05_cont .modal__content .detailBox .sBox .btn-internal {
  margin: 3rem auto 0;
}

#index #sec05_cont .modal__content .detailBox .sBox .inner .comingsoon {
  text-align: center;
  color: #257ec7;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 0 1rem;
}


/* Swiperの矢印部分 */
@media (max-width: 768px) {

  #index #sec05_cont .modal .swiper-button-next,
  #index #sec05_cont .modal .swiper-button-prev {
    display: none;
  }
}


/*#sec06_cont*/

#index #sec06_cont {
  background: #e9f4fc;
  border-radius: 0 20rem 0 0;
  padding: 16rem 0 40rem 0;
}

#index #sec06_cont .inner {
  position: relative;
}

#index #sec06_cont .inner:before {
  content: "";
  background: url(img/illust_human05.png) 50% 50% no-repeat;
  background-size: 34.3rem auto;
  width: 34.3rem;
  height: 41.2rem;
  position: absolute;
    top: -7rem;
    right: -11rem;
}

#index #sec06_cont .idxh3 {
  font-size: 6rem;
  font-weight: 700;
  line-height: 11rem;
  display: inline-block;
  position: relative;
}

#index #sec06_cont .h3Out {
  position: relative;
  margin: 0 auto 8rem;
  padding: 0 0 0 5rem;
}

#index #sec06_cont .h3Out:before {
  content: "";
  background: url(img/deco_shape_white02.png) 50% 50% no-repeat;
  background-size: auto;
  width: 35.6rem;
  height: 26.4rem;
  position: absolute;
  top: -8rem;
  left: -3rem;
}

#index #sec06_cont .h3Out .subTit {
  display: inline;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 0 -40rem;
}

#index #sec06_cont .contArea {
  position: relative;
}

#index #sec06_cont .icon_media {
  position: absolute;
  width: 10rem;
  height: 10.1rem;
  background: url(img/bgdeco_kanshu.png) 50% 50% no-repeat;
  background-size: cover;
  top: 0;
  left: 3rem;
  color: #FFF;
  font-weight: 700;
  text-align: center;
  z-index: 1;
  line-height: 2.6rem;
  padding: 2.5rem 0 0 0;
}

#index #sec06_cont .flBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  margin: 0 auto 4rem;
}

#index #sec06_cont .flBox .phArea {
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid #8d776e;
  width: 34rem;
  margin: 3rem -3rem 0 0;
  position: relative;
}

#index #sec06_cont .flBox .phArea img {
  width: 100%;
  height: 27rem;
  object-fit: cover;
}

#index #sec06_cont .flBox .phArea .name {
  text-align: center;
  font-size: 1.3rem;
  background: #fff4e3;
  font-weight: 700;
  padding: 1rem;
  line-height: 2.4rem;
}

#index #sec06_cont .flBox .txtArea {
  background: #FFF;
  border-radius: .5rem;
  width: 61rem;
  border: solid 2px #ecf5fc;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 8px #FFF;
  /* 外側の線になる5pxの一本線の枠線をひく*/
  outline-offset: 0px;
  /* 内側の線になる一本線の枠線をひく*/
  margin: 6px;
  /* outlineの値＋outline-offsetの値*/
  padding: 4rem 4rem 4rem 6rem;
}

#index #sec06_cont .btn_fl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 2rem;
  margin: 6rem auto 0;
}

#index #sec06_cont .btn_fl .btn-internal,
#index #sec06_cont .btn_fl .btn-web {
  width: 46%;
}

#index #sec06_cont .txtArea .titArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 0 2rem 0;
  padding: 0 0 3rem 0;
  position: relative;
  text-align: center;
}

#index #sec06_cont .txtArea .titArea:before {
  content: "";
  background: url(img/dot_rep_yel.png) 0 50% repeat-x;
  background-size: auto .7rem;
  width: 8rem;
  height: .7rem;
  position: absolute;
  bottom: 0;
  left: calc(50% - 4rem);
}

#index #sec06_cont .txtArea .titArea .sponsored {
  font-size: 1.8rem;
  font-weight: 700;
  color: #257ec7;
  width: 13rem;
  line-height: 1.8rem;
  text-align: left;
  border-right: 1px solid #257ec7;
  margin: 0 2rem 0 0;
}

#index #sec06_cont .txtArea .titArea .idxh2 {
  font-size: 1.8rem;
  color: #257ec7;
  line-height: 1.8rem;
  margin: 0;
}

#index #sec06_cont .btn_fl {
  padding: 0 6rem;
  margin: 0 auto;
}

#index #sec06_cont .btn_fl .btn-internal,
#index #sec06_cont .btn_fl .btn-line {
  margin: 0;
  width: 47%;
}

/*#sec07_cont*/

#index #sec07_cont {
  border-radius: 20rem 20rem 0 0;
  background-color: #fff9f0;
  padding: 10rem 0 0 0;
  margin: -25rem auto 12rem;
  background-image: url(img/bg_rep01.png);
  /* 画像を指定 */
  background-size: auto;
  /* 背景画像の高さを適宜調整 */
  background-repeat: repeat;
  /* 繰り返し */
  animation: scrollBackground 15s linear infinite;
}

@keyframes scrollBackground {
  0% {
    background-position: 0 100vh;
  }

  100% {
    background-position: 0 0;
  }
}

#index #sec07_cont .titArea {
  text-align: center;
  position: relative;
  margin: 0 auto 6rem;
}

#index #sec07_cont .titArea:before {
      content: "";
    background: url(img/illust_human06.png) 50% 50% no-repeat;
    background-size: 22rem auto;
    width: 21rem;
    height: 21.8rem;
    position: absolute;
    top: 8rem;
    left: 4rem;
}

#index #sec07_cont .titArea .idxh2 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .2rem;
  line-height: 5rem;
}

#index #sec07_cont .titArea .subTit {
  display: inline-block;
    background: #FFF;
    border: 2px solid #257ec7;
    border-radius: 1rem;
    padding: .4rem 3rem;
    font-size: 2rem;
    font-weight: 700;
    color: #257ec7;
    letter-spacing: .2rem;
    margin: 0 0 2rem 0;
    line-height: 3rem;
}


#index #sec07_cont .idxh3 {
  text-align: center;
  font-size: 2.6rem;
  line-height: 4.2rem;
}

#index #sec07_cont .pointCont {
  margin: 0 auto 11rem;
}

#index #sec07_cont .pointCont .idxh3_out {
  margin: 0 auto 8rem;
}

#index #sec07_cont .pointCont .enTit {
  width: 34rem;
  margin: 0 auto 2rem;
  text-align: center;
  position: relative;
}

#index #sec07_cont .pointCont .enTit:before {
  content: "";
  position: absolute;
  top: calc(50% - 0.5rem);
  left: 0;
  background: url(img/deco_writing_bd_brown.png) 50% 50% no-repeat;
  background-size: contain;
  width: 10rem;
  height: 0.3rem;
}

#index #sec07_cont .pointCont .enTit:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0;
  background: url(img/deco_writing_bd_brown.png) 50% 50% no-repeat;
  background-size: contain;
  width: 10rem;
  height: 0.3rem;
}

#index #sec07_cont .box2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6rem;
  width: 78rem;
  margin: 0 auto 5rem;
}

#index #sec07_cont .box2 .sCont {
  border: 2px solid #8d776e;
  border-radius: 1rem;
  background: #FFF;
  width: 46%;
  padding: 6rem 3rem 4rem 3rem;
  position: relative;
}

#index #sec07_cont .box2 .sCont .icon {
  position: absolute;
  top: -4.5rem;
  left: calc(50% - 4.5rem);
}

#index #sec07_cont .box2 .sCont p {
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 3.4rem;
  color: #d97249;
}

#index #sec07_cont .box2 .sCont p:last-child {
  margin: 0;
}

#index #sec07_cont .botCont {
  padding: 0 7rem;
}

#index #sec07_cont .botCont p {
  padding: 0 4rem;
}

#index #sec07_cont .botCont .btn_fl {
  padding: 0;
}

#index #sec07_cont .botCont .btn-internal,
#index #sec07_cont .botCont .btn-line {
  width: 46%;
  margin: 0;
}

#index #sec07_cont .pointCont02 {
  margin: 0 auto 20rem;
}

#index #sec07_cont .pointCont02 .idxh3_out {
  position: relative;
  margin: 0 auto 14rem;
}

#index #sec07_cont .pointCont02 .idxh3_out:before {
  content: "";
    background: url(img/illust_human07.png) 50% 50% no-repeat;
    background-size: 22.6rem auto;
    width: 21.6rem;
    height: 21.3rem;
    position: absolute;
    top: 0;
    right: 3rem;
}

#index #sec07_cont .pointCont02 .flBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 10rem;
}

#index #sec07_cont .pointCont02 .flBox .phArea {
 width: 38rem;
    position: relative;
    padding: 0 0 0 8rem;
}

#index #sec07_cont .pointCont02 .flBox .phArea img {
  position: relative;
}

#index #sec07_cont .pointCont02 .flBox .phArea:before {
  content: "";
  background: #ffd954;
  border-radius: 2rem 50rem 50rem 2rem;
  width: 58rem;
  height: calc(100% + 16rem);
  position: absolute;
  top: -8rem;
  left: -10rem;
}

#index #sec07_cont .pointCont02 .flBox .txtArea {
  width: 50rem;
  padding: 0 8rem 0 2rem;
}

#index #sec07_cont .scheCont {
  width: 110rem;
  margin: 0 auto 14rem;
  margin-left: -5rem;
  margin-right: -5rem;
  background: #fde9cd;
  border-radius: 20rem 20rem 1rem 1rem;
}

#index #sec07_cont .scheCont .inner {
  background: #fde9cd url(img/bg_rep_shape_beige01.png) 50% 0 no-repeat;
  background-size: auto;
  border-radius: 20rem 20rem 1rem 1rem;
  padding: 8rem 10rem 0 10rem;
}

#index #sec07_cont .scheCont .inner .enTit {
  width: 55rem;
  margin: -11rem auto 3rem;
}

#index #sec07_cont .scheCont .inner .titArea {
  text-align: center;
  position: relative;
  margin: 0 auto 6rem;
}

#index #sec07_cont .scheCont .inner .titArea:before {
  display: none;
}

#index #sec07_cont .scheCont .inner .titArea .idxh2 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .2rem;
}

#index #sec07_cont .scheCont .inner .titArea .subTit {
  display: inline-block;
  background: #FFF;
  border: 2px solid #257ec7;
  border-radius: 1rem;
  padding: .6rem 3rem;
  font-size: 2.2rem;
  font-weight: 700;
  color: #257ec7;
  letter-spacing: .2rem;
  margin: 0 0 2rem 0;
}

#index #sec07_cont .scheCont .inner .detailOut {
  background: url(img/illust_circle2.png) 50% 0 no-repeat;
  background-size: auto;
  border-radius: 20rem 20rem 1rem 1rem;
  padding: 12rem 20rem 0 20rem;
  position: relative;
}

#index #sec07_cont .scheCont .inner .detailOut .icon01 {
  top: -4rem;
    width: 15%;
  left: calc(50% - 9rem);
}

#index #sec07_cont .scheCont .inner .detailOut .icon02 {
  top: 10rem;
	 width: 15%;
  left: calc(50% - 40rem);
}

#index #sec07_cont .scheCont .inner .detailOut .icon03 {
  top: 10rem;
	 width: 15%;
  right: calc(50% - 40rem);
}

#index #sec07_cont .scheCont .inner .detailOut .icon04 {
  top: 38rem;
	 width: 15%;
  left: calc(50% - 50rem);
}

#index #sec07_cont .scheCont .inner .detailOut .icon05 {
  top: 38rem;
	 width: 15%;
  right: calc(50% - 50rem);
}

#index #sec07_cont .scheCont .inner .detailOut .txt02 {
  background: #257ec7;
  width: 15rem;
  padding: 1.2rem 1.5rem;
  border-radius: 5rem;
  position: absolute;
  top: 4.6rem;
  right: 19rem;
  color: #FFF;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 2.2rem;
  z-index: 1;
}

#index #sec07_cont .scheCont .inner .detailOut .txt02:before {
  content: "";
  background: #257ec7;
  position: absolute;
  bottom: -.9rem;
  left: 5rem;
  width: 2rem;
  height: 1rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#index #sec07_cont .scheCont .inner .detailArea {
  padding: 0;
  max-height: 54rem;
  overflow: hidden;
}

#index #sec07_cont .scheCont .inner .detailArea .scroll {
  height: 100%;
	margin: 0 2rem;
}

#index #sec07_cont .scheCont #detailAreaWrap {
  overflow-y: scroll;
  /* padding: 0 .3rem 0 0; */
}

#index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar {
  height: 3px;
  width: 6px;
}

#index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar-track {
  border-radius: 3px;
  background: #eee;
}

#index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #bbb;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock {
  margin: 0 auto 4rem;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock .sTit {
  font-size: 2rem;
  font-weight: 700;
  color: #257ec7;
  letter-spacing: .2rem;
  text-align: center;
  position: relative;
  background: #ecf5fc;
  padding: 1rem 2rem;
  border-radius: 1rem 1rem 0 0;
  margin: 0 auto 7rem;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock .sTit:before {
  background: #0087cd;
  font-size: 2rem;
  width: 6rem;
  height: 100%;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1rem 0 0 0;
  padding: 1rem 0 0 0;
  text-align: center;
  box-sizing: border-box;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(odd) .sTit:before {
  content: "AM";
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(even) .sTit:before {
  content: "PM";
}

#index #sec07_cont .scheCont .inner .detailArea .botArea {
  border: 2px solid #257ec7;
  border-radius: 1rem;
  padding: 2rem 3rem;
  position: relative;
  margin: 0 auto 7rem;
}

#index #sec07_cont .scheCont .inner .detailArea .botArea:last-child {
  margin: 0 auto;
}

#index #sec07_cont .scheCont .inner .detailArea .botArea .position {
  font-size: 1.5rem;
  font-weight: 700;
  background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
  background-size: 10rem auto;
  padding: 0 0 1.5rem 0;
  margin: 0 0 2rem 0;
}

#index #sec07_cont .scheCont .inner .detailArea .botArea .illust_list {
  position: absolute;
  top: -5.2rem;
  font-size: 0;
}

#index #sec07_cont .scheCont .inner .detailArea .botArea .illust_list .il_list_img {
  width: auto;
  height: 5rem;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(odd) .botArea .illust_list {
  left: 6px;
	    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(odd) .botArea .illust_pos {
    font-size: 1.5rem;
    font-weight: 700;
    margin: auto;
	color: #d97249;
    padding: 0 1rem;
}

#index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(even) .botArea .illust_list {
  right: 6px;
}

#contents #index #sec07_cont .scheCont .inner .detailArea ul {
  margin: 0;
  padding: 0;
}


/*スライダー*/

#contents #index #sec07_cont .dockCont {
  padding: 0 0 20rem 0;
}

#contents #index #sec07_cont .dockCont .titArea {
  width: 100rem;
  margin: 0 auto 6rem;
  padding: 0 5rem;
}

#contents #index #sec07_cont .dockCont .titArea::before {
  display: none;
}

#contents #index #sec07_cont .dockCont .titArea .enTit {
  text-align: left;
  position: relative;
  margin: 0 0 2rem 0;
}

#contents #index #sec07_cont .dockCont .titArea .enTit:before {
  content: "";
  position: absolute;
  background: url(img/deco_writing_bd_blue.png) 50% 50% repeat-x;
  background-size: 10rem auto;
  width: 140rem;
  height: .3rem;
  top: calc(50% - .3rem);
  left: 11em;
}

#contents #index #sec07_cont .dockCont .titArea .idxh3 {
  text-align: left;
  font-size: 3rem;
  margin: 0 0 4rem 0;
}

#contents #index #sec07_cont .dockCont .titArea p {
  text-align: left;
}

#contents #index #sec07_cont .dockCont .slider {
  width: 100rem;
  margin: auto;
  padding: 9rem 0 0 8rem;
}

#contents #index #sec07_cont .dockCont .sliderArea {
  position: relative;
  width: 100rem;
  margin: 0 auto;
}

#contents #index #sec07_cont .dockCont .sliderArea:before {
  content: "";
  background: #FFF;
  width: 150rem;
  height: calc(100% - 16rem);
  border-radius: 30rem 0 0 30rem;
  position: absolute;
  top: 24rem;
  left: 0;
}

#contents #index #sec07_cont .dockCont .sliderArea .captionTxt {
  position: relative;
  font-size: 1.1rem;
  color: #999;
  text-align: center;
  margin: 3rem 0 4rem 0;
}

#contents #index #sec07_cont .dockCont .sliderArea .captionTxt a {
  color: #999;
}

#contents #index #sec07_cont .dockCont .sliderArea .btn_fl {
  margin: 0 auto;
  padding: 0 8rem;
}

#contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-internal,
#contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-web,
#contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-line {
  margin: 0;
}

#contents #index #sec07_cont .dockCont .slider .slick-list {
  overflow: visible;
}

#contents #index #sec07_cont .dockCont .slider .slick-list .thumnSize {
      aspect-ratio: 16 / 9;
    border: #fef4e6 solid 3px;
    overflow: hidden;
    border-radius: 0.5rem;
}

#contents #index #sec07_cont .dockCont .slider .slick-list .thumnSize .youtube-thumbnail {
  transition: .3s all;
}

#contents #index #sec07_cont .dockCont .slider .slick-list .thumnSize:hover {
  opacity: 0.7;
}

#contents #index #sec07_cont .dockCont .slider .slick-list .thumnSize:hover .youtube-thumbnail {
  transform: scale(1.1, 1.1);
  transition: .3s all;
}

#contents #index #sec07_cont .dockCont .slider .slide_item {
  width: 40rem;
  padding: 3rem;
  background: #FFF;
  border-radius: 1rem;
  border:2px solid #8d776e;
  margin: 0 2rem;
}

#contents #index #sec07_cont .dockCont .slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
}

#contents #index #sec07_cont .dockCont .slider .slide_item .movTit {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.5rem 1.5rem .5rem 1.5rem;
}

/*矢印*/
#contents #index #sec07_cont .dockCont .slider .slick-arrow {
  width: 6rem;
  height: 6rem;
  position: absolute;
}

#contents #index #sec07_cont .dockCont .slider .slick-arrow:hover {
  opacity: 0.7;
}

#contents #index #sec07_cont .dockCont .slider .prev {
  background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
  background-size: cover;
  z-index: 1;
  top: 0;
  left: 8rem;
}

#contents #index #sec07_cont .dockCont .slider .next {
  background: url(img/arr_slide_next.png) 50% 50% no-repeat;
  background-size: cover;
  z-index: 1;
  top: 0;
  left: 17rem;
}

#contents #index #sec07_cont .dockCont .modal {
  display: none;
  /* 初期状態では非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 10;
}

/* モーダルが開いたら表示 */
#contents #index #sec07_cont .dockCont .modal.active {
  display: flex;
}

/* 動画コンテンツのスタイル */
#contents #index #sec07_cont .dockCont .modal-content {
  position: relative;
  width: 80%;
  max-width: 800px;
}

#contents #index #sec07_cont .dockCont .modal-content .caption {
  font-size: 1.5rem;
  color: #eee;
}

/* YouTube動画サイズの調整 */
#contents #index #sec07_cont .dockCont .modal iframe {
  width: 100%;
  height: 450px;
  max-width: 800px;
  max-height: 450px;
}

#contents #index #sec07_cont .dockCont .close-btn {
  position: absolute;
  top: -5rem;
  right: 0;
  font-size: 4rem;
  color: #eee;
  cursor: pointer;
}


/*#sec08_cont*/

#index #sec08_cont {
  margin: 0 auto 12rem;
}

#index #sec08_cont .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#index #sec08_cont .titArea .idxh2 .fs_s {
  font-size: 2.4rem;
}

#index #sec08_cont .leftCont {
  width: 50rem;
  padding: 0 2rem 0 5rem;
}

#index #sec08_cont .rightCont {
  width: 50rem;
  padding: 0 0 0 2rem;
}

#index #sec08_cont .rightCont .sBlock {
  border:.2rem solid #CCC;
  border-radius: 1rem;
  margin: 0 auto 3rem;
  overflow: hidden;
}

#index #sec08_cont .rightCont .sBlock:last-child {
  margin: 0 auto;
}

#index #sec08_cont .rightCont .tglBtn {
  padding: 2.5rem 8rem 2.5rem 3rem;
  background: #e8f6f0 url(img/icon_check_green.png) right 2rem top 50% no-repeat;
  background-size: 5rem auto;
}

#index #sec08_cont .rightCont .tglBtn.open {
  background: #e8f6f0 url(img/icon_close_green.png) right 2rem top 50% no-repeat;
  background-size: 5rem auto;
}

#index #sec08_cont .rightCont .tglBtn:hover {
  opacity: 0.7;
}

#index #sec08_cont .rightCont .idxh3 {
  font-size: 1.8rem;
}

#index #sec08_cont .rightCont .tglCont {
  padding: 2rem 3rem;
  display: none;
}


/*#sec09_cont*/

#index #sec09_cont {
  background: url(img/bg_rep01.png) 50% 0 repeat-y;
  background-size: 150rem auto;
}

#index #sec09_cont .idxh2 {
  text-align: center;
}

#index #sec09_cont .idxh2 .fs_s {
  font-size: 2.4rem;
}

#index #sec09_cont .idxh2 .deco_bg {
  background: url(img/bg_deco_greenback.png) 50% 50% no-repeat;
  background-size: contain;
  padding: .5rem 1.2rem;
  color: #FFF;
}

#index #sec09_cont .titArea {
  margin: 0 auto 6rem;
}

#index #sec09_cont .titArea p {
  padding: 0 10rem;
}

#index #sec09_cont .detailArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4rem;
  padding: 0 5rem;
}

#index #sec09_cont .detailArea .sBox {
  width: 47.6%;
  border: 2px solid #17aa6c;
  padding: 1.5rem 3rem 2rem 3rem;
  border-radius: 1rem;
  overflow: hidden;
  background: #FFF;
  position: relative;
}

#index #sec09_cont .detailArea .sBox:before {
  content: "";
  background: #17aa6c;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  position: absolute;
  top: -2.5rem;
  left: 3rem;
}

#index #sec09_cont .detailArea .sBox .idxh3 {
  background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
  background-size: 10rem auto;
  margin: 0 0 2rem 0;
}

#index #sec09_cont .detailArea .sBox .idxh3 a {
  font-size: 1.8rem;
  padding: 1rem 4rem 1.8rem 0;
  background: url(img/arr_yellow.png) right 0 top 50% no-repeat;
  background-size: 3rem auto;
  display: block;
  text-decoration: none;
}





@media screen and (max-width: 599px) {

  /*共通*/

  body {
    /* padding: 0; */
  }

  p {
    margin: 0 0 1rem 0;
  }

  .wi1100 {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .sitename_wrap {
    padding: 1rem 1rem 0 1rem;
    background: none;
  }

  #contents .captionWrap {
    overflow: hidden;
    white-space: nowrap;
  }

  #contents .captionWrap .caption {
    /* overflow-x: scroll; */
    /*height: calc(100% + 18px);*/
  }

  #index .sec {
    margin: 0 auto;
  }

  #index .idxh2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    background: none;
    line-height: 3.8rem;
    letter-spacing: 0.1rem;
  }

  #index .idxh2 a::after {
    content: "";
    background: url(img/arr_yellow.png) 50% 50% no-repeat;
    background-size: 2.4rem auto;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    margin: 0 0 0 1.5rem;
  }

  /* Firefox */
  @-moz-document url-prefix() {}

  /*各セクション*/


  #keyArea {
    margin: 0 auto;
  }

  #keyArea .key .logo {
    width: 18rem;
    float: right;
    margin: 1.5rem 1.5rem 0 0;
  }

  #keyArea .key .logo img {
    margin: 0 auto 1rem;
  }

  #keyArea .key .logo .subTxt {
    font-size: 1.1rem;
    display: block;
    text-align: center;
    line-height: 1.8rem;
  }

  #keyArea .key_anime {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 3;
  }

  #keyArea .key_anime .mainTit_box {
    width: 26rem;
    padding:0 1.5rem 0 3.6rem;
    line-height: 5.5rem;
    position: relative;
  }

  #keyArea .key_anime .mainTit_box .animeImg01 {
    position: absolute !important;
    bottom: 0;
    right: 1rem;
    display: table;
    padding: 9rem 0 0 0;
    width: 5.5rem;
  }

  #keyArea .key_anime .mainTit_box span {
    letter-spacing: .2rem;
    font-size: 2.8rem;
    opacity: 0;
    /* 初期状態で非表示 */
  }


  #keyArea .key_anime .mainTit_box .animeTxt01 {
    background: url(img/deco_shape_brown01.png) 50% 50% no-repeat;
    background-size: contain;
    color: #FFF;
    padding: 2rem 1.5rem 1.5rem 2rem;
    margin: 0 0 0 -1.5rem;
  }

  #keyArea .key_anime .mainTit_box .animeTxt03 {
    background: url(img/deco_shape_yel01.png) 50% 0 no-repeat;
    background-size: contain;
    padding: 2.5rem 0 0 0;
  }

  #keyArea .key {
    background: url(img/keyimg01_sp.png) left 50% top 30rem no-repeat,url(img/keyimg_bg_sp.png) 50% 0 no-repeat;
	  background-size: 100% auto;
        padding: 0;
  }
	#keyArea .key .titArea .idxh2 span {
    font-size: 2.4rem;
}

 #keyArea .key .titArea {
         background: url(img/deco_shape_blue01.png) 76% 61% no-repeat;
        background-size: 81%;
        padding: 6rem 0 7rem 7rem;
        width: 100%;
        height: 24rem;
        margin: 0 0 20rem -4rem;
        position: relative;
        top: -4rem;
  }

  #keyArea .key .titArea .enTit {
    background: url(img/deco_writing_bd_white.png) right 6rem top 2.2rem no-repeat;
    background-size: auto .15rem;
    margin: 0 0 1em 0;
  }

  #keyArea .key .titArea .enTit img {
    width: auto;
	  margin: 0 0 0 0.4rem;
    height: 3rem;
  }

   #keyArea .key .titArea .idxh2 {
    font-size: 2rem;
    line-height: 3.4rem;
  }

  #keyArea .key .inner {
    overflow: visible;
    padding: 0;
    width: 100%;
    margin: 0 auto;
    clear: both;
  }

  #keyArea .key .media_cont {
    padding: 2rem 1.5rem 4rem;
        border-radius: 5rem 5rem 5rem 5rem;
        display: block;
  }

  #keyArea .key .media_cont p {
    width: 100%;
    padding: 0;
    line-height: 3.8rem;
    margin: 0;
  }

  #keyArea .key .media_cont .subTxt01 {
    color: #999;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.8rem;
    font-weight: 400;
    margin: 0 0 1rem 0;
  }



  /*sec01_cont*/

  #index #sec01_cont {
    padding: 5rem 1.5rem 10rem;
  }

  #sec01_cont .inner {
    position: relative;
  }

  #sec01_cont .inner:before {
    content: "";
    background: #FFF;
    width: 43rem;
    height: 43rem;
    border-radius: 50%;
    position: absolute;
    top: -3rem;
    left: calc(50% - 21.5rem);
  }

  #sec01_cont .idxh2 {
    text-align: center;
    font-size: 2rem;
    line-height: 3.6rem;
    margin: 0 auto 2rem;
  }

  #sec01_cont .idxh2 .fs_s {
    font-size: 1.5rem;
  }

  #sec01_cont .subject_cont {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem 1rem;
  }

  #sec01_cont .sCont {
   border-radius: 8rem;
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.4rem;
        width: 48%;
        padding: 5rem 1.5rem 1.5rem 1.5rem;
        position: relative;
        background: #f2f8fd;
  }

  #sec01_cont .sCont:nth-child(1):before {
    content: "";
    position: absolute;
   top: 0.6rem;
        left: calc(50% - 1.6rem);
        width: 3.6rem;
        height: 4rem;
    background: url(img/icon_nav_green.png) 50% 50% no-repeat;
    background-size: contain;
  }

  #sec01_cont .sCont:nth-child(2):before {
    content: "";
    position: absolute;
   top: 0.6rem;
       left: calc(50% - 1.6rem);
        width: 3.6rem;
        height: 4rem;
    background: url(img/icon_nav_yellow.png) 50% 50% no-repeat;
    background-size: contain;
  }

  #sec01_cont .sCont:nth-child(3):before {
    content: "";
    position: absolute;
    top: 0.6rem;
       left: calc(50% - 1.6rem);
        width: 3.6rem;
        height: 4rem;
    background: url(img/icon_nav_red.png) 50% 50% no-repeat;
    background-size: contain;
  }

  #sec01_cont .sCont:nth-child(4):before {
    content: "";
    position: absolute;
    top: 0.6rem;
       left: calc(50% - 1.6rem);
        width: 3.6rem;
        height: 4rem;
    background: url(img/icon_nav_blue.png) 50% 50% no-repeat;
    background-size: contain;
  }

  #sec01_cont .sCont:nth-child(5):before {
    content: "";
    position: absolute;
    top: 0.6rem;
        left: calc(50% - 1.6rem);
        width: 3.6rem;
        height: 4rem;
    background: url(img/icon_nav_green2.png) 50% 50% no-repeat;
    background-size: contain;
  }


  /*sec02_cont*/

  #index #sec02_cont {
    background: #FFF;
    border-radius: 5rem 5rem 0 0;
    padding: 5rem 1.5rem 6rem;
    margin: -5rem auto 0;
  }

  #sec02_cont .inner {
    display: block;
    padding: 0 0 0 0;
  }

  #sec02_cont .titArea {
    width: 20rem;
    margin: 0 auto;
    background: url(img/illust_door.png) 50% 0 no-repeat;
    background-size: contain;
    padding: 3.5rem 1.5rem 0 1.5rem;
    min-height: 26rem;
    position: relative;
  }

  #sec02_cont .titArea:before {
    content: "";
        background: url(img/illust_human01.png) 50% 0 no-repeat;
        background-size: auto 12rem;
        width: 12rem;
        height: 15rem;
        position: absolute;
        bottom: 2rem;
        left: -6rem;
  }

  #sec02_cont .titArea .idxh2 {
    font-size: 2.2rem;
    text-align: center;
    line-height: 3.2rem;
  }

  #sec02_cont .titArea .idxh2 .fs_s {
    font-size: 1.6rem;
  }

  #sec02_cont .ancLink {
    width: 100%;
    margin: -7rem auto 0;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    position: relative;
    padding: 0 1.5rem;
  }

  #sec02_cont .ancLink .sLink {
    border-radius: 1rem;
    width: 100%;
  }

  #sec02_cont .ancLink .sLink:nth-child(odd) {
    margin-left: 0;
  }

  #sec02_cont .ancLink .sLink a {
    font-size: 1.6rem;
    padding: 2rem 1.5rem 2rem 5.5rem;
    position: relative;
  }

  #sec02_cont .ancLink .sLink a:before {
    content: "";
    position: absolute;
    bottom: -1.5rem;
    right: 2rem;
    width: 4.4rem;
    height: 4.4rem;
    background: url(img/arr_blue02_down.png) 50% 50% no-repeat;
    background-size: cover;
  }

  #sec02_cont .ancLink .sLink:nth-child(1) a {
    background: url(img/deconum01.svg) left 1.5rem top 50% no-repeat;
    background-size: auto 2.6rem;
  }

  #sec02_cont .ancLink .sLink:nth-child(2) a {
    background: url(img/deconum02.svg) left 1.5rem top 50% no-repeat;
    background-size: auto 2.6rem;
  }

  #sec02_cont .ancLink .sLink:nth-child(3) a {
    background: url(img/deconum03.svg) left 1.5rem top 50% no-repeat;
    background-size: auto 2.6rem;
  }


  /*sec03_cont*/

  #index #sec03_cont {
    background: url(img/bg_sec03_cont_sp.jpg) 0 0 no-repeat;
    background-size: contain;
    padding: 9rem 0 0 0;
    position: relative;
    margin: 0 auto 63rem;
  }

  #index #sec03_cont:before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(50% - 202rem);
    background: #e9f4fc;
    width: 200rem;
    height: 100%;
  }

  #index #sec03_cont:after {
    content: "";
    background: url(img/deco_shape_blue02.png) 50% 50% no-repeat;
    background-size: contain;
    width: 32rem;
    height: 20rem;
    position: absolute;
    top: -3rem;
    right: calc(50% - 30rem);
  }

  #index #sec03_cont .inner {
    padding: 0 1.5rem;
    display: flex;
  }

  #index #sec03_cont .detailArea {
    background: #FFF;
    border: 2px solid #8d776e;
    padding: 4rem 2.5rem 4rem 2.5rem;
    border-radius: 1rem;
    position: relative;
    z-index: 1;
    margin: 0 auto -50rem;
  }

  #index #sec03_cont .detailArea .icon_media {
    position: absolute;
        width: 8rem;
        height: 8rem;
        background: url(img/bgdeco_kanshu.png) 50% 50% no-repeat;
        background-size: cover;
        top: -5rem;
        left: calc(50% - 16.5rem);
        font-size: 1.4rem;
        z-index: 1;
        line-height: 2rem;
        padding: 2.2rem 0 0 0;
  }

  #index #sec03_cont .logo {
         width: 21rem;
        margin: 1rem auto 3rem;
  }

  #index #sec03_cont .titArea {
    font-size: 1.6rem;
    text-align: left;
    margin: 0 0 2rem 0;
  }

  #index #sec03_cont .titArea .sponsored {
    font-weight: 700;
    border-right: none;
    padding: 0 2rem 0 0;
    margin: 0 2rem 0 0;
  }

  #index #sec03_cont .titArea .idxh2 {
    font-size: 1.6rem;
    line-height: 3.2rem;
    display: inline-block;
    margin: 0;
  }

  #index #sec03_cont .btn-web {
    margin: 3rem auto 0;
    width: 97%;
  }


  /*sec04_cont*/

  #index #sec04_cont {
    margin: 0 auto 16rem;
    border-radius: 0;
  }

  #index #sec04_cont .inner {
    padding: 4rem 1.5rem 6rem;
    position: relative;
  }

  #index #sec04_cont .worldCont.inner:before {
    content: "";
        background: url(img/illust_human02.png) 50% 50% no-repeat;
        background-size: contain;
        position: absolute;
        width: 20rem;
        height: 20rem;
        top: -11rem;
        left: 1rem;
  }

  #index #sec04_cont .flBox {
    display: block;
    margin: 0 auto 3rem;
  }

  #index #sec04_cont .idxh2 {
    writing-mode: horizontal-tb;
    font-family: "Zen Kaku Gothic New";
    /* writing-mode: vertical-rl; */
    /* text-orientation: upright; */
    order: 1;
    font-size: 3rem;
    letter-spacing: .2rem;
    margin: 0 0 4rem 0;
  }

  #index #sec04_cont .idxh2 .bg_white {
   border-radius: .5rem;
        color: #d97249;
        padding: 0 .5rem;
        margin-right: 0.5rem;
  }

  #index #sec04_cont .idxh2 .hukiCont {
    display: inline-block;
    writing-mode: horizontal-tb;
    background: #d97249;
    border-radius: 5rem;
    padding: 1rem 2rem;
    width: auto;
    position: relative;
    margin: 0 auto 2rem;
  }

  #index #sec04_cont .idxh2 .hukiCont:before {
    content: "";
    background: #d97249;
    position: absolute;
    bottom: -.9rem;
    left: 5rem;
    width: 2rem;
    height: 1rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  #index #sec04_cont .idxh2 .hukiCont .huki_inner {
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    line-height: 2.4rem;
    display: block;
    letter-spacing: .2rem;
    color: #FFF;
  }

  #index #sec04_cont .qaBox {
    width: 100%;
    order: 2;
    position: relative;
    padding: 0;
  }

  #index #sec04_cont .qaBox:after {
    display: none;
  }

  #index #sec04_cont .qaBox:before {
    display: none;
  }

  #index #sec04_cont .qaBox .qArea,
  #index #sec04_cont .qaBox .aArea {
    position: relative;
    z-index: 1;
  }

  #index #sec04_cont .qaBox .qArea {
    padding: 0;
    margin: 0 0 -3rem 0;
  }

  #index #sec04_cont .qaBox .qArea .catch {
    font-size: 1.7rem;
    letter-spacing: .1rem;
    line-height: 3rem;
    background: #ffd954 url(img/deco_q.svg) left 1.5rem top 3rem no-repeat;
    background-size: 3.2rem auto;
    padding: 2rem 1rem 5rem 5.5rem;
    border-radius: 1rem 15rem 15rem 1rem;
    margin: 0 0 0 -1.5rem;
  }

  #index #sec04_cont .qaBox .qArea .catch .fs_s {
    font-size: 1.5rem;
  }

  #index #sec04_cont .qaBox .qArea .catch .bg_white {
    border-radius: .5rem;
    margin: 0 .5rem;
    padding: 0 .8rem;
    color: #d97249;
  }

  #index #sec04_cont .qaBox .qArea .catch .bg_heart {
    background: url(img/deco_shape_brown01.png) 50% 50% no-repeat;
    background-size: contain;
    padding: 1rem .8rem .6rem .5rem;
    margin: 0 0 0 -.5rem;
  }

  #index #sec04_cont .aArea {
    width: 100%;
    margin: 0;
  }

  #index #sec04_cont .aArea .catch {
    background: #257ec7 url(img/deco_a.svg) left 1.5rem top 50% no-repeat;
    background-size: 2.4rem;
    font-size: 1.6rem;
    line-height: 3rem;
    padding: 2rem 1.5rem 2rem 5rem;
    letter-spacing: .1rem;
    border-radius: 1rem 1rem 0 0;
  }

  #index #sec04_cont .aArea .catch .bb_blue {
    background: linear-gradient(transparent 60%, #5198d2 60%);
    padding: 0 0 .2rem 0;
  }

  #index #sec04_cont .aArea .botArea {
    padding: 2rem 2.5rem;
  }

  #index #sec04_cont .profession_cont {
    padding: 0;
    width: 100%;
    position: relative;
  }

  #index #sec04_cont .profession_cont .idxh3 {
    font-size: 1.8rem;
    background: url(img/deco_writing_bd_black.png) 0 100% repeat-x;
    background-size: 10rem auto;
    padding: 1rem 0 1.5rem 5.5rem;
    line-height: 3.2rem;
    position: relative;
    margin: 0 0 2rem 0;
  }

  #index #sec04_cont .profession_cont .idxh3:before {
    content: "";
    position: absolute;
    background: url(img/logo_icon_blue.png) 50% 50% no-repeat;
    background-size: 4rem auto;
    width: 5rem;
    height: 5rem;
    top: calc(50% - 2.5rem);
    left: 0;
  }

  #index #sec04_cont .profession_cont .fl_area .ph {
    float: right;
    width: 11rem;
    padding: 0 0 0 1rem;
    margin: 0 0 .5rem 0;
  }

  #index #sec04_cont .profession_cont .ph {
    position: inherit;
    top: inherit;
    right: inherit;
  }

  #index #sec04_cont .job_type {
    border-radius: 0;
    background: #e9f4fc url(img/bg_rep_shape_blue01.png) 50% 0 repeat-x;
    background-size: 100% auto;
  }

  #index #sec04_cont .job_type .titArea {
    background: url(img/deco_shape_white.png) 50% 50% no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
    padding: 7rem 0 2rem;
  }

  #index #sec04_cont .job_type .titArea .idxh4 {
    font-size: 2.4rem;
    line-height: 3.6rem;
    position: relative;
  }

  #index #sec04_cont .job_type .titArea .idxh4:before {
    content: "";
    background: url(img/deco_shape_brown02.png) 50% 50% no-repeat;
    background-size: contain;
    width: 4rem;
    height: 3.4rem;
    position: absolute;
    top: -4rem;
    left: calc(50% - 2rem);
  }

  #index #sec04_cont .job_type .modal_info_txt {
    margin: 0 auto 7rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2rem;
    background: #257ec7;
    width: 20rem;
    padding: 1.2rem 0;
    border-radius: 5rem;
    color: #FFF;
    font-weight: 700;
    position: relative;
  }

  #index #sec04_cont .job_type .modal_info_txt:before {
    content: "";
    background: #257ec7;
    position: absolute;
    bottom: -.9rem;
    left: calc(50% - 1rem);
    width: 2rem;
    height: 1rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  #index #sec04_cont .circleBox {
    /* width: 75rem; */
   width:100%;
        margin: 0 auto 2rem;
        background: url(img/illust_human04.png) left 57% bottom 20% no-repeat, url(img/illust_circle.png) 50% 0 no-repeat;
        background-size: 13.4rem auto, contain;
        position: relative;
  }

  #index #sec04_cont .animeIcon {
    position: relative;
    width: 100%;
    height: 37rem;
    /* width: 100%; */
    /* height: 75rem; */
    /* 適宜調整 */
  }

  /* 表示時のアニメーション */

  #index #sec04_cont .anime {
    position: absolute;
    width: 2rem;
    height: 2rem;
    opacity: 0;
    transition: transform .3s ease-out, opacity .3s ease-out;
    z-index: 1;
  }

  #index #sec04_cont .anime.show {
    opacity: 1;
    transform: scale(4);
    /* 30px → 180px */
  }

  #index #sec04_cont .anime01 {
   top: 3rem;
        left: calc(50% + -1rem);
  }

  #index #sec04_cont .anime02 {
  top: 16rem;
        left: calc(50% - 12.5rem);
  }

  #index #sec04_cont .anime03 {
            top: 16rem;
        right: calc(50% + -12.5rem);
  }

  #index #sec04_cont .anime04 {
    top: 32rem;
    left:calc(50% - 7rem);
  }

  #index #sec04_cont .anime05 {
            top: 32rem;
        right: calc(50% - 7rem);
  }

  #sec04_cont .circleBox .sBlock {
    position: absolute;
    width: 12.5rem;
    border-radius: 1rem;
    border: 2px solid #257ec7;
    padding: 0;
  }

  #sec04_cont .circleBox .sBlock .modalOpen {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  #sec04_cont .circleBox .sBlock:nth-child(2) {
    top: -4rem;
        left: calc(50% - 6.5rem);
  }

  #sec04_cont .circleBox .sBlock:nth-child(3) {
    top: 7rem;
    left: calc(50% - 18.5rem);
  }

  #sec04_cont .circleBox .sBlock:nth-child(4) {
   top: 25rem;
        left: calc(50% - -4.5rem);
    right: inherit;
  }

  #sec04_cont .circleBox .sBlock:nth-child(5) {
   top: 7rem;
        left: calc(50% - -6rem);
  }

  #sec04_cont .circleBox .sBlock:nth-child(6) {
    top: 24rem;
    left: calc(50% - 18rem);
    right: inherit;
  }

  #sec04_cont .circleBox .sBlock .idxh5 {
    font-size: 1.6rem;
    background: none;
    padding: 1.2rem 0 1.2rem 0;
    margin: 0 auto;
	  line-height: 1.3em;
  }

  #sec04_cont .circleBox .sBlock .modal-box .idxh5 {
    background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
    background-size: auto .3rem;
    padding: 0 0 1.2rem 0;
    margin: 0 0 1.5rem 0;
    font-weight: 700;
  }

  #sec04_cont .job_type .pointArea {
    border-radius: 5rem 5rem 1rem 1rem;
    width: 100%;
    margin: 0 auto -22rem;
    position: relative;
    padding: 3rem 2.5rem 2.6rem;
    z-index: 1;
  }

  #sec04_cont .job_type .pointArea .mTit {
    font-size: 1.7rem;
    margin: 0 auto 3rem;
    line-height: 3.4rem;
    letter-spacing: 0;
  }

  #sec04_cont .job_type .pointArea .mTit .fs_s {
    font-size: 1.6rem;
  }

  #sec04_cont .job_type .pointArea .bg_deco_blueback {
    background: url(img/bg_deco_blueback.png) 50% 50% no-repeat;
    background-size: contain;
    color: #FFF;
	   font-size: 2.2rem;
    padding: .13rem .5rem .16rem .5rem;
  }


  /* モーダルの基本スタイル */
  #sec04_cont .inner .sBlock .modal {
    display: flex;
    /* `display: none;` を削除し、アニメーション用に opacity を制御 */
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  /* モーダルボックスのスタイル */
  #sec04_cont .inner .sBlock .modal-box {
    background: #fff;
    width: 300px;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    position: relative;
    transform: translateY(-20px);
    transition: transform 0.3s ease;
  }

  /* モーダルがアクティブな時の表示 */
  #sec04_cont .inner .sBlock .modal.active {
    opacity: 1;
    visibility: visible;
  }

  #sec04_cont .inner .sBlock .modal.active .modal-box {
    transform: translateY(0);
  }

  #sec04_cont .inner .sBlock .modal.active .modal-box p {
    text-align: left;
  }

  #sec04_cont .inner .sBlock .modal.active .modal-box .modalClose {
    border: 2px solid #333;
    border-radius: 1rem;
    padding: 1rem 2rem 1rem 3rem;
    width: 60%;
    margin: 1.5rem auto 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2.4rem;
  }

  #sec04_cont .inner .sBlock .modalBtn {
    position: absolute;
    bottom: -.5rem;
    right: -.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #000;
    background: #FFF;
    border-radius: 50%;
    padding: .5rem;
  }



  /*sec05_cont*/

  #index #sec05_cont {
    background: #FFF;
    border-radius: 20rem 20rem 0 0;
    padding: 5rem 0 0 0;
    margin: 0 auto 6rem;
  }

  #index #sec05_cont .inner {
    padding: 0 1.5rem;
  }

  #index #sec05_cont .titArea {
    margin: 0 auto 4rem;
  }

  #index #sec05_cont .titArea .enTit {
    margin: 0;
    width: auto;
    height: 1.8rem;
  }

  #index #sec05_cont .titArea .enTit img {
    height: 100%;
  }

  #index #sec05_cont .idxh2 .fs_s {
    font-size: 1.7rem;
  }

  #index #sec05_cont .modalBtn_area .block01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 0;
    width: 100%;
    gap: 0 1.5rem;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox {
    width: calc((100% - 1.5rem) / 2);
    margin-right: 0;
    margin-bottom: 2rem;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox:nth-child(3n) {
    margin-right: 0;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox .sTit {
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding: 1rem 1rem;
    border-radius: .5rem .5rem 0 0;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox .botArea {
    padding: 1rem 1.5rem 2rem;
    position: relative;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox .botArea .icon {
    display: block;
    width: 9rem;
    margin: 0 auto;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox .botArea button {
    width: 4rem;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox .botArea button:hover {
    opacity: 0.7;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox.last {
    margin: 1rem auto 0;
    width: 85%;
    border: none;
    position: relative;
    padding: 1.5rem 1.5rem;
    content: "";
    display: table;
    background: #fff4e3;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox.last:before {
    display: none;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox.last:after {
    content: "";
    background: url(img/icon_light.png) 50% 50% no-repeat;
    background-size: contain;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: -1rem;
    left: -1rem;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox.last p {
    font-size: 1.5rem;
    font-weight: 700;
    text-align: left;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    line-height: 2.6rem;
    padding: 0 2rem;
  }

  #index #sec05_cont .modalBtn_area .block01 .sBox.last .bb_yel {
    background: linear-gradient(transparent 60%, #ffeb8c 60%);
    padding: 0 0 .2rem 0;
  }


  /* モーダル */
  #index #sec05_cont .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 5rem 1.5rem 3rem 1.5rem;
    display: block;
    /* display: flex;
  align-items: center;
  justify-content: center; */
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 100;
    /* background-color: rgba(0, 0, 0, 0.5); */
  }

  /* モーダルがactiveの時 */
  #index #sec05_cont .modal.is-active {
    opacity: 1;
    pointer-events: auto;
  }

  /* モーダル背景のオーバーレイ部分 */
  #index #sec05_cont .modal__overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
    top: 0;
    left: 0;
  }

  /* モーダルのコンテンツ */
  #index #sec05_cont .modal__content {
    border-radius: 1rem;
    overflow: inherit;
    border: none;
    position: relative;
    background-color: inherit;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .idxh3 {
    font-size: 1.8rem;
    background: url(img/deco_writing_bd_blue.png) 0 100% repeat-x;
    background-size: auto .3rem;
    padding: 0 4.5rem 1.5rem 3rem;
    margin: 0 0 1.5rem 0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .flBox {
    display: block;
    margin: 0 auto 4rem;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .flBox .img {
    width: auto;
    height: 12rem;
    display: block;
    margin: 0 auto 2rem;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .flBox .img img {
    width: auto;
    height: 100%;
    /* object-fit: cover; */
    margin: 0 auto;
    display: block;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .flBox .txtArea {
    width: 90%;
  }

  #index #sec05_cont .modal__content .swiper {
    overflow: inherit;
  }

  #index #sec05_cont .modal__content .swiper-wrapper {
    height: 85vh;
  }

  #index #sec05_cont .modal__content .swiper-wrapper .swiper-slide {
    overflow-y: scroll;
    border-radius: 1rem;
  }


  /* モーダルを閉じるボタン */
  #index #sec05_cont .modal__close-btn {
    position: absolute;
    right: 1rem;
    top: -3rem;
    width: 4.5rem;
    height: 4.5rem;
    cursor: pointer;
    z-index: 10;
  }

  #index #sec05_cont .modal__close-btn:hover {
    opacity: 0.7;
  }

  #index #sec05_cont .modal__content .titOut {
    padding: 1.5rem 1.5rem 1.5rem 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  #index #sec05_cont .modal__content .titOut img {
    width: 4rem;
    height: auto;
  }

  #index #sec05_cont .modal__content .titOut .mTit {
    width: calc(100% - 4rem);
    font-size: 1.8rem;
    line-height: 2.6rem;
    padding: 0 0 0 1.5rem;
  }

  #index #sec05_cont .modal__content .swiper-button-next,
  #index #sec05_cont .modal__content .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) / 44* 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px -(var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    position: absolute;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 0;
  }

  #index #sec05_cont .modal__content .swiper-button-next {
    background: url(img/arr_slide_next.png) 50% 50% no-repeat;
    background-size: 3.2rem auto;
    width: 3.2rem;
    height: 3.2rem;
    right: -1.5rem;
    top: 12.5rem;
  }

  #index #sec05_cont .modal__content .swiper-button-prev {
    background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
    background-size: 3.2rem auto;
    width: 3.2rem;
    height: 3.2rem;
    left: -1.5rem;
    top: 12.5rem;
  }


  #index #sec05_cont .modal__content .detailBox .sBox {
    padding: 2rem 1.5rem;
    background: #fff9f0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner {
    border-radius: 1rem;
    padding: 4rem 1.5rem 2rem;
    position: relative;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit {
    width: 11rem;
    padding: 1.2rem 2.4rem;
    border-radius: 5rem;
    top: -2.2rem;
    left: calc(50% - 5.5rem);
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit:before {
    content: "";
    bottom: -.9rem;
    left: calc(50% - 1rem);
    width: 2rem;
    height: 1rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .hukiTit img {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    margin: 0 auto;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .phArea {
    width: 11rem;
    margin: 0 auto 2rem;
    border-radius: 1rem;
    overflow: hidden;
    background: #ecf5fc;
    position: inherit;
    top: inherit;
    right: inherit;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .phArea .name {
    font-size: 1.3rem;
    line-height: 2rem;
    padding: 1rem;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .q_tit {
    position: relative;
    font-size: 1.8rem;
    line-height: 2.4rem;
    padding: 0 0 0 4.5rem;
    margin: 0 0 1.5rem 0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .q_tit:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(img/deco_q_brown.svg) 50% 50% no-repeat;
    background-size: 3.2rem auto;
    width: 3.2rem;
    height: 3.2rem;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .a_tit {
    font-size: 1.8rem;
    line-height: 3rem;
    margin: 0 0 2rem;
    padding: 0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox p:last-child {
    margin: 0;
  }

  #index #sec05_cont .modal__content .detailBox .sBox .inner .comingsoon {
    padding: 0 0 2rem;
  }


  /* Swiperの矢印部分 */
  @media (max-width: 768px) {

    #index #sec05_cont .modal .swiper-button-next,
    #index #sec05_cont .modal .swiper-button-prev {
      /* display: none; */
    }
  }





  /*#sec06_cont*/

  #index #sec06_cont {
    background: #e9f4fc;
    border-radius: 0 5rem 0 0;
    padding: 6rem 0 14rem 0;
  }

  #index #sec06_cont .inner {
    position: relative;
    padding: 0 1.5rem;
  }

  #index #sec06_cont .inner:before {
    content: "";
    background: url(img/illust_human05.png) 50% 50% no-repeat;
    background-size: contain;
    width: 15rem;
    height: 19rem;
         top: -5rem;
        right: -4rem;
  }

  #index #sec06_cont .idxh3 {
    font-size: 2.5rem;
    line-height: 4rem;
    position: relative;
  }

  #index #sec06_cont .h3Out {
    position: relative;
    margin: 0 auto 4rem;
    padding: 0;
  }

  #index #sec06_cont .h3Out:before {
    content: "";
    background: url(img/deco_shape_white02.png) 50% 50% no-repeat;
    background-size: contain;
    width: 15.6rem;
    height: 11.4rem;
    position: absolute;
    top: -4rem;
    left: -3rem;
  }

  #index #sec06_cont .h3Out .subTit {
    display: inline;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 0 4rem;
  }

  #index #sec06_cont .contArea {
    position: relative;
  }

  #index #sec06_cont .flBox {
    background: #FFF;
    border-radius: .5rem;
    width: calc(100% - 1.5rem);
    border: solid 2px #ecf5fc;
    /* 内側の線になる一本線の枠線をひく*/
    outline: solid 8px #FFF;
    /* 外側の線になる5pxの一本線の枠線をひく*/
    outline-offset: 0px;
    /* 内側の線になる一本線の枠線をひく*/
    margin: 6px;
    /* outlineの値＋outline-offsetの値*/
    padding: 2rem 1.5rem 3rem 1.5rem;
    display: block;
    margin: 0 auto 6rem;
  }

  #index #sec06_cont .flBox .titleBox {
    margin: 0 auto 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  #index #sec06_cont .icon_media {
    position: inherit;
    width: 7.5rem;
    height: 7.5rem;
    background: url(img/bgdeco_kanshu.png) 50% 50% no-repeat;
    background-size: cover;
    font-size: 1.2rem;
    line-height: 1.8rem;
    padding: 2rem 0 0 0;
    margin: 0 1rem 0 0;
  }

  #index #sec06_cont .flBox .title {
    font-size: 1.6rem;
    color: #257ec7;
    font-weight: 700;
  }

  #index #sec06_cont .flBox .phArea {
    border-radius: 1rem;
    overflow: hidden;
    width: 100%;
    margin: 0 auto 3rem;
    position: relative;
  }

  #index #sec06_cont .flBox .phArea img {
    width: 100%;
    height: 20rem;
    object-fit: cover;
  }

  #index #sec06_cont .flBox .phArea .name {
    text-align: center;
    font-size: 1.3rem;
    background: #fff4e3;
    font-weight: 700;
    padding: 0.5rem 1rem;
    line-height: 2.4rem;
  }

  #index #sec06_cont .flBox .subTit {
    margin: 0 0 2rem 0;
    font-weight: 700;
    font-size: 1.6rem;
  }

  #index #sec06_cont .flBox .txtArea {
    background: none;
    border-radius: 0;
    width: 100%;
    border: none;
    outline: inherit;
    outline-offset: 0px;
    margin: 0 auto;
    padding: 0;
  }

  #index #sec06_cont .txtArea .titArea .idxh2 {
    font-size: 1.8rem;
    color: #257ec7;
    line-height: 1.8rem;
    margin: 0;
  }

  #index #sec06_cont .btn_fl {
    display: block;
    padding: 0;
    margin: 3rem auto 0;
  }

  #index #sec06_cont .btn_fl .btn-internal,
  #index #sec06_cont .btn_fl .btn-line {
    margin: 0 auto 1.5rem;
    width: 95%;
  }

  /*#sec07_cont*/

  #index #sec07_cont {
    border-radius: 5rem 5rem 0 0;
    background-color: #fff9f0;
    padding: 5rem 1.5rem 0 1.5rem;
    margin: -12rem auto 6rem;
    background-image: url(img/bg_rep01.png);
    /* 画像を指定 */
    background-size: 60rem auto;
    /* 背景画像の高さを適宜調整 */
    background-repeat: repeat;
    /* 繰り返し */
    animation: scrollBackground 15s linear infinite;
  }

  @keyframes scrollBackground {
    0% {
      background-position: 50% 100vh;
    }

    100% {
      background-position: 50% 0;
    }
  }

  #index #sec07_cont .titArea {
    text-align: center;
    position: relative;
    margin: 0 auto 2.5rem;
  }

  #index #sec07_cont .titArea:before {
    content: "";
        background: url(img/illust_human06.png) 50% 50% no-repeat;
        background-size: contain;
        width: 9rem;
        height: 11rem;
        position: absolute;
        top: 7rem;
        left: -1rem;
  }

  #index #sec07_cont .titArea .idxh2 {
    font-size: 2rem;
    letter-spacing: .1rem;
    line-height: 4rem;
    margin: 0 auto 4rem;
  }

  #index #sec07_cont .titArea .subTit {
    display: inline-block;
        padding: .2rem 1.5rem;
        font-size: 1.4rem;
        letter-spacing: .1rem;
        margin: 0 0 1.5rem 0;
        line-height: 2.6rem;
  }


  #index #sec07_cont .idxh3 {
    font-size: 1.8rem;
    line-height: 3.2rem;
  }

  #index #sec07_cont .pointCont {
    margin: 0 auto 6rem;
  }

  #index #sec07_cont .pointCont .idxh3_out {
    margin: 0 auto 5rem;
  }

  #index #sec07_cont .pointCont .enTit {
    width: auto;
    height: 1.5rem;
    margin: 0 auto 1.5rem;
    text-align: center;
    position: relative;
  }

  #index #sec07_cont .pointCont .enTit img {
    height: 100%;
  }

  #index #sec07_cont .pointCont .enTit:before {
    content: "";
    position: absolute;
    top: calc(50% - .2rem);
    left: 5rem;
    background: url(img/deco_writing_bd_brown.png) 50% 50% repeat-x;
    background-size: auto .3rem;
    width: 7rem;
    height: 0.3rem;
  }

  #index #sec07_cont .pointCont .enTit:after {
    content: "";
    position: absolute;
    top: calc(50% - .2rem);
    right: 5rem;
    background: url(img/deco_writing_bd_brown.png) 50% 50% repeat-x;
    background-size: auto .3rem;
    width: 7rem;
    height: 0.3rem;
  }

  #index #sec07_cont .box2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5rem 1rem;
    width: 100%;
    margin: 0 auto 3rem;
  }

  #index #sec07_cont .box2 .sCont {
    border: 2px solid #888;
    border-radius: 1rem;
    width: 48%;
    padding: 3.5rem 1.5rem 2rem 1.5rem;
    position: relative;
    margin: 0;
  }

  #index #sec07_cont .box2 .sCont .icon {
    position: absolute;
    width: 6rem;
    height: 6rem;
    top: -3rem;
    left: calc(50% - 3rem);
  }

  #index #sec07_cont .box2 .sCont p {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }

  #index #sec07_cont .box2 .sCont p:last-child {
    margin: 0;
  }

  #index #sec07_cont .botCont {
    padding: 0;
  }

  #index #sec07_cont .botCont p {
    padding: 0;
  }

  #index #sec07_cont .botCont .btn_fl {
    padding: 0;
  }

  #index #sec07_cont .botCont .btn-internal,
  #index #sec07_cont .botCont .btn-line {
    width: 95%;
    margin: 0 auto 2rem;
  }

  #index #sec07_cont .pointCont02 {
    margin: 0 auto 8rem;
  }

  #index #sec07_cont .pointCont02 .idxh3_out {
    position: relative;
    margin: 0 auto 4rem;
  }

  #index #sec07_cont .pointCont02 .idxh3_out:before {
            content: "";
        background: url(img/illust_human07.png) 50% 50% no-repeat;
        background-size: contain;
        width: 9rem;
        height: 12rem;
        position: absolute;
        top: 4rem;
        right: -1rem;
  }

  #index #sec07_cont .pointCont02 .flBox {
    display: block;
    margin: 0 auto;
  }

  #index #sec07_cont .pointCont02 .flBox .phArea {
    width: calc(100% + 1.5rem);
    position: relative;
    padding: 4rem 0;
    margin: 0 0 3rem -1.5rem;
    background: #ffd954;
    border-radius: 2rem 50rem 50rem 2rem;
  }

  #index #sec07_cont .pointCont02 .flBox .phArea img {
    position: relative;
    width: auto;
    height: 24rem;
    display: block;
    margin: 0 auto;
  }

  #index #sec07_cont .pointCont02 .flBox .phArea:before {
    display: none;
  }

  #index #sec07_cont .pointCont02 .flBox .txtArea {
    width: 100%;
    padding: 0;
  }

  #index #sec07_cont .scheCont {
    width: 100%;
    margin: 0 auto 6rem;
    margin-left: inherit;
    margin-right: inherit;
    background: none;
    border-radius: 5rem 5rem 1rem 1rem;
  }

  #index #sec07_cont .scheCont .inner {
    background: #fde9cd url(img/bg_rep_shape_beige01.png) 50% 0 no-repeat;
    background-size: auto;
    border-radius: 5rem 5rem 1rem 1rem;
    padding: 3rem 1.5rem 1rem 1.5rem;
  }

  #index #sec07_cont .scheCont .inner .enTit {
    width: 90%;
    margin: -4.5rem auto 2rem;
  }

  #index #sec07_cont .scheCont .inner .titArea {
    text-align: center;
    position: relative;
    margin: 0 auto 4rem;
  }

  #index #sec07_cont .scheCont .inner .titArea:before {
    content: "";
    background: url(img/icon_human01.png) 50% 50% no-repeat;
    background-size: 18rem auto;
    width: 18rem;
    height: 18rem;
    position: absolute;
    top: -6rem;
    left: calc(50% - 40rem);
  }

  #index #sec07_cont .scheCont .inner .titArea .idxh2 {
    font-size: 2rem;
    line-height: 3.6rem;
    letter-spacing: .1rem;
  }

  #index #sec07_cont .scheCont .inner .titArea .subTit {
    display: inline-block;
    padding: .2rem 1rem;
    font-size: 1.4rem;
    letter-spacing: 0;
  }

  #index #sec07_cont .scheCont .inner .detailOut {
    background: #FFF;
    border-radius: 5rem 5rem 1rem 1rem;
    padding: 4rem 1.5rem 0 1.5rem;
    position: relative;
  }

  #index #sec07_cont .scheCont .inner .detailOut .icon01,
  #index #sec07_cont .scheCont .inner .detailOut .icon02,
  #index #sec07_cont .scheCont .inner .detailOut .icon03,
  #index #sec07_cont .scheCont .inner .detailOut .icon04,
  #index #sec07_cont .scheCont .inner .detailOut .icon05 {
    display: none;
  }

  #index #sec07_cont .scheCont .inner .detailOut .txt02 {
    width: 13rem;
    padding: .5rem 1rem;
    border-radius: 5rem;
    position: absolute;
    top: -1.5rem;
    right: -.5rem;
    font-size: 1.2rem;
    line-height: 2rem;
    z-index: 1;
  }

  #index #sec07_cont .scheCont .inner .detailOut .txt02:before {
    content: "";
    background: #257ec7;
    position: absolute;
    bottom: -.9rem;
    left: 5rem;
    width: 2rem;
    height: 1rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  #index #sec07_cont .scheCont .inner .detailArea {
    padding: 0;
    max-height: 40rem;
    overflow: hidden;
  }

  #index #sec07_cont .scheCont .inner .detailArea .scroll {
    height: 100%;
	  margin: 0 1rem;
  }

  #index #sec07_cont .scheCont #detailAreaWrap {
    overflow-y: scroll;
    /* padding: 0 .3rem 0 0; */
  }

  #index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar {
    height: 3px;
    width: 6px;
  }

  #index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar-track {
    border-radius: 3px;
    background: #eee;
  }

  #index #sec07_cont .scheCont #detailAreaWrap::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background: #bbb;
  }

  #index #sec07_cont .scheCont .inner .detailArea .sBlock {
    margin: 0 auto 4rem;
  }

  #index #sec07_cont .scheCont .inner .detailArea .sBlock .sTit {
    font-size: 1.5rem;
    letter-spacing: .2rem;
    position: relative;
    padding: .5em 2rem;
    margin: 0 auto 5rem;
    border-radius: 1rem 1rem 0 0;
  }

  #index #sec07_cont .scheCont .inner .detailArea .sBlock .sTit:before {
    font-size: 1.5rem;
    width: 5rem;
    height: 100%;
    padding: .8rem 0 0 0;
    box-sizing: border-box;
  }

  #index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(odd) .sTit:before {
    content: "AM";
  }

  #index #sec07_cont .scheCont .inner .detailArea .sBlock:nth-child(even) .sTit:before {
    content: "PM";
  }

  #index #sec07_cont .scheCont .inner .detailArea .botArea {
    padding: 1.5rem 1.5rem;
    position: relative;
    margin: 0 auto 5rem;
  }

  #index #sec07_cont .scheCont .inner .detailArea .botArea:last-child {
    margin: 0 auto;
  }

  #index #sec07_cont .scheCont .inner .detailArea .botArea .position {
    font-size: 1.5rem;
    background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
    background-size: 10rem auto;
    padding: 0 0 1rem 0;
    margin: 0 0 1.5rem 0;
  }

  #index #sec07_cont .scheCont .inner .detailArea .botArea .illust_list {
    position: absolute;
    top: -4.2rem;
    font-size: 0;
  }

  #index #sec07_cont .scheCont .inner .detailArea .botArea .illust_list .il_list_img {
    width: auto;
    height: 4rem;
  }

  #contents #index #sec07_cont .scheCont .inner .detailArea ul {
    margin: 0;
    padding: 0;
  }

  #contents #index #sec07_cont .scheCont .inner .detailArea ul li {
           font-size: 1.4rem;
        margin: 0 0 10px 0;
        line-height: 1.4;
	  background: url(./img/listicon.png) 2px 0.5rem no-repeat;
        background-size: 1rem auto;
  }


  /*スライダー*/

  #contents #index #sec07_cont .dockCont {
    padding: 0 0 6rem 0;
  }

  #contents #index #sec07_cont .dockCont .titArea {
    width: 100%;
    margin: 0 auto 4rem;
    padding: 0;
  }

  #contents #index #sec07_cont .dockCont .titArea::before {
    display: none;
  }

  #contents #index #sec07_cont .dockCont .titArea .enTit {
    text-align: left;
    position: relative;
    margin: 0 0 1.5rem 0;
    height: 1.5rem;
    width: auto;
  }

  #contents #index #sec07_cont .dockCont .titArea .enTit img {
    height: 100%;
  }

  #contents #index #sec07_cont .dockCont .titArea .enTit:before {
    content: "";
    position: absolute;
    background: url(img/deco_writing_bd_blue.png) 50% 50% repeat-x;
    background-size: 5rem auto;
    width: 70rem;
    height: .3rem;
    top: calc(50% - .3rem);
    left: 11rem;
  }

  #contents #index #sec07_cont .dockCont .titArea .idxh3 {
    font-size: 2rem;
    line-height: 3.4rem;
    margin: 0 0 2rem 0;
  }

  #contents #index #sec07_cont .dockCont .titArea p {
    text-align: left;
  }

  #contents #index #sec07_cont .dockCont .slider {
    width: 100%;
    margin: auto;
    padding: 7rem 0 0 0;
  }

  #contents #index #sec07_cont .dockCont .sliderArea {
    position: relative;
    width: 100%;
    margin: 0 auto;
  }

  #contents #index #sec07_cont .dockCont .sliderArea .txt02 {
    width: 13rem;
    padding: .5rem 1rem;
    border-radius: 5rem;
    background: #257ec7;
    color: #FFF;
    text-align: center;
    font-weight: 700;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.2rem;
    line-height: 2rem;
    z-index: 1;
  }

  #contents #index #sec07_cont .dockCont .sliderArea .txt02:before {
    content: "";
    background: #257ec7;
    position: absolute;
    bottom: -.9rem;
    left: 5rem;
    width: 2rem;
    height: 1rem;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  #contents #index #sec07_cont .dockCont .sliderArea:before {
    content: "";
    background: #FFF;
    width: 150rem;
    height: calc(100% - 38rem);
    border-radius: 30rem 0 0 30rem;
    position: absolute;
    top: 15rem;
    left: -1.5rem;
  }

  #contents #index #sec07_cont .dockCont .sliderArea .captionTxt {
    position: relative;
    font-size: 1.2rem;
    line-height: 2rem;
    color: #999;
    text-align: center;
    margin: 2rem 0 6rem 0;
  }

  #contents #index #sec07_cont .dockCont .sliderArea .btn_fl {
    margin: 0 auto;
    padding: 0;
  }

  #contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-internal,
  #contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-web,
  #contents #index #sec07_cont .dockCont .sliderArea .btn_fl .btn-line {
    margin: 0 auto 1.5rem;
    width: 95%;
  }

  #contents #index #sec07_cont .dockCont .slider .slick-list {
    overflow: visible;
  }

  #contents #index #sec07_cont .dockCont .slider .slide_item {
           width: 26rem;
        padding: 1.5rem 2rem;
    margin: 0 1rem;
  }

  #contents #index #sec07_cont .dockCont .slider .slide_item .movTit {
    font-size: 1.5rem;
    padding: 1.5rem 1.5rem .5rem 1.5rem;
  }

  /*矢印*/
  #contents #index #sec07_cont .dockCont .slider .slick-arrow {
    width: 4rem;
    height: 4rem;
    position: absolute;
  }

  #contents #index #sec07_cont .dockCont .slider .slick-arrow:hover {
    opacity: 0.7;
  }

  #contents #index #sec07_cont .dockCont .slider .prev {
    background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
    background-size: cover;
    z-index: 1;
    top: 0;
    left: 0;
  }

  #contents #index #sec07_cont .dockCont .slider .next {
    background: url(img/arr_slide_next.png) 50% 50% no-repeat;
    background-size: cover;
    z-index: 1;
    top: 0;
    left: 6rem;
  }

  #contents #index #sec07_cont .dockCont .modal {
    display: none;
    /* 初期状態では非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 10;
  }

  /* モーダルが開いたら表示 */
  #contents #index #sec07_cont .dockCont .modal.active {
    display: flex;
  }

  /* 動画コンテンツのスタイル */
  #contents #index #sec07_cont .dockCont .modal-content {
    position: relative;
    width: 90%;
    max-width: 800px;
  }

  #contents #index #sec07_cont .dockCont .modal-content .caption {
    font-size: 1.5rem;
    color: #ccc;
  }

  /* YouTube動画サイズの調整 */
  #contents #index #sec07_cont .dockCont .modal iframe {
    width: 100%;
    height: auto;
    max-width: 800px;
    max-height: 450px;
    aspect-ratio: 16/9;
  }

  #contents #index #sec07_cont .dockCont .close-btn {
    position: absolute;
    top: -5rem;
    right: 0;
    font-size: 4rem;
    color: #eee;
    cursor: pointer;
  }


  /*#sec08_cont*/

  #index #sec08_cont {
    margin: 0 auto 6rem;
  }

  #index #sec08_cont .inner {
    display: block;
    padding: 0 1.5rem;
  }

  #index #sec08_cont .inner .enTit {
    height: 1.5rem;
    width: auto;
  }

  #index #sec08_cont .inner .enTit img {
    height: 100%;
    width: auto;
  }

  #index #sec08_cont .titArea .idxh2 .fs_s {
    font-size: 1.5rem;
  }

  #index #sec08_cont .leftCont {
    width: 100%;
    padding: 0;
    margin: 0 auto 3rem;
  }

  #index #sec08_cont .rightCont {
    width: 100%;
    padding: 0;
  }

  #index #sec08_cont .rightCont .sBlock {
    margin: 0 auto 3rem;
    overflow: hidden;
  }

  #index #sec08_cont .rightCont .sBlock:last-child {
    margin: 0 auto;
  }
	#index #sec08_cont .rightCont .sBlock .btn-link a{
    padding: 0.5rem 2.2rem 0.5rem 2rem;
  }

  #index #sec08_cont .rightCont .tglBtn {
    padding: 1.5rem 6rem 1.5rem 1.5rem;
    background: #e8f6f0 url(img/icon_check_green.png) right 1.5rem top 50% no-repeat;
    background-size: 4rem auto;
  }

  #index #sec08_cont .rightCont .tglBtn.open {
    background: #e8f6f0 url(img/icon_close_green.png) right 1.5rem top 50% no-repeat;
    background-size: 4rem auto;
  }

  #index #sec08_cont .rightCont .tglBtn:hover {
    opacity: 0.7;
  }

  #index #sec08_cont .rightCont .idxh3 {
    font-size: 1.8rem;
  }

  #index #sec08_cont .rightCont .tglCont {
    padding: 2rem 2rem;
    display: none;
  }


  /*#sec09_cont*/

  #index #sec09_cont {
    background: url(img/bg_rep01.png) 50% 0 repeat-y;
    background-size: 60rem auto;
    margin: 0 auto 5rem;
  }

  #index #sec09_cont .idxh2 .fs_s {
    font-size: 1.6rem;
  }

  #index #sec09_cont .idxh2 .deco_bg {
    background: url(img/bg_deco_greenback.png) 50% 50% no-repeat;
    background-size: contain;
    padding: .5rem .7rem;
    color: #FFF;
  }

  #index #sec09_cont .titArea {
    margin: 0 auto 4rem;
  }

  #index #sec09_cont .titArea p {
    padding: 0 1.5rem;
  }

  #index #sec09_cont .detailArea {
    display: block;
    padding: 0 1.5rem;
  }

  #index #sec09_cont .detailArea .sBox {
    width: 100%;
    padding: 1rem 2rem 2rem 2rem;
    border-radius: 1rem;
    overflow: hidden;
    margin: 0 auto 3rem;
  }

  #index #sec09_cont .detailArea .sBox:before {
    width: 3rem;
    height: 3rem;
    top: -1.7rem;
    left: 2rem;
  }

  #index #sec09_cont .detailArea .sBox .idxh3 {
    background: url(img/deco_writing_bd_gray.png) 0 100% repeat-x;
    background-size: 10rem auto;
    margin: 0 0 1.5rem 0;
  }

  #index #sec09_cont .detailArea .sBox .idxh3 a {
    font-size: 1.6rem;
    padding: 1rem 4rem 1.8rem 0;
    background: url(img/arr_yellow.png) right 0 top 50% no-repeat;
    background-size: 3rem auto;
    display: block;
  }
	#contents #index #sec07_cont .dockCont .slider .slick-list .thumnSize {
    aspect-ratio: 16 / 8.6;
}


}