@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@1,500&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@600&display=swap');
article, aside, footer, header, main, nav, article, section {display:block;}
img, picture, audio, canvas, video, svg {display:block; width:100%;height: auto;}
figure{ margin:0;}
br,hr {display:block;}
ol,ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:none;}
input,select {vertical-align:middle;}
*,
*::before,
*::after { box-sizing:border-box;}
* {
	border:0;
	margin:0;
	outline:0;
	padding:0;
	font:inherit;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	vertical-align:baseline;
}

/*** effect ***/
/* フェードイン(初期値) */
.js-fadeUp {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(5px); /* 下に5pxの位置から */
  transition: opacity .8s, transform .5s; /* 透過率と縦方向の移動を.5秒 */
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-show {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 5px上に移動する */
  transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}

body {
  color: #094a74;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-optical-sizing: auto;
	line-break:strict;
	overflow-wrap:break-word;
	word-break:normal;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}
  
a {
 display: block;
 text-decoration:none;
 color: #094a74;
 -webkit-tap-highlight-color:transparent;
 transition:.3s;
}
:hover {transition:.3s;}
a img { display: inline-block; text-align: center; vertical-align: top;}

:root {
  --sans_serif: 'Noto Sans JP', sans-serif;
  --serif:"Shippori Mincho", serif;
  --en: "Jost", sans-serif;
  --blue:#094a74;
  --yellow: #fcee21;
  --bg:#f8f7ee;
  --bg-head:#fcfbf5;
  --leading-trim: calc((1em - 1lh) / 2);
}

html { font-size: 62.5%; scroll-behavior: smooth;}
h1,h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.6;
  margin-block: var(--leading-trim);
}
p {
  line-height: 2;
  margin-block: var(--leading-trim);
}
.en {
  font-family: "Jost", sans-serif;
  font-style: italic;
  font-weight: 500;
  font-optical-sizing: auto;
}
/*** text color ***/
.has-red-color { color:#f23d3d;}
.has-navy-color{ color:var(--blue);}
.has-line-yellow-color { color:var(--blue); background-color:var(--yellow)!important;}
/* note -----------------------*/
.note {
  height: 24px;
  background: var(--yellow);
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  padding: 0 16px;
}
/* for overlay -----------------------*/
.wrapper {
  height: 100%;
  overflow: clip;
  position: relative;
}

/* header -----------------------*/
.header__logo { width: 100%; grid-column: 1 / span 3;}
.header__logo img { width: 112px;}
@media (min-width:480px) {
.header {grid-column: 1 / span 2;}
.header__wrap {
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(8, [col-start] 1fr);
  gap: 16px;
  }
}
@media (min-width: 768px){
.header { height: auto;}
.header__wrap { gap: 24px;}
}
@media (min-width: 980px){
a[href^="tel:"] { pointer-events: none; display: inline;}
.btn-contact {
  width: 160px;
  border-radius: 32px; 
  position: unset;
  text-indent:inherit;
  }
}
@media (min-width: 1120px){ .header__logo img { width: 160px;}}
/* side menu -----------------------*/
.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, .4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width : 100%;
  height: 100%;
  opacity: 1;
  transform: translateX(-290px);
}
.open a { color: #ffF;}

.menu-trigger {
  display: inline-block;
  width: 32px;
  height: 24px;
  vertical-align: middle;
  cursor: pointer;
  position: fixed;
  top: 40px;
  right: 16px;
  z-index: 100;
}
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--blue);
  transition: all .5s;
}
.menu-trigger.active span { background-color: #fff;}
.menu-trigger span:nth-of-type(1) { top: 0;}
.menu-trigger.active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg);}
.menu-trigger span:nth-of-type(2) { top: 11px;}
.menu-trigger.active span:nth-of-type(2) { opacity: 0;}
.menu-trigger span:nth-of-type(3) { bottom: 0;}
.menu-trigger.active span:nth-of-type(3) { transform: translateY(-12px) rotate(45deg);}
 
nav {
  width: 290px;
  height: 100%;
  padding-top: 100px;
  background-color: rgb(33, 50, 88, .7);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  transform: translate(290px);
  transition: all .5s;  
}
nav.open {
  transform: translateZ(0);
  overflow: auto;
  display: block;
}
.menu-ttl { font-family: var(--en); padding: 0 24px;}
.menu-ttl img { margin-bottom: 8px;}
.menu-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:center;
  height: 56px;
  background: var(--yellow);
  border-radius:28px;
  text-align:center;
  margin: 24px; padding:10px 0;
}
.menu-link span {
	display: block;
	font-size: .9333em;
	margin-top: 4px;
}
.menu-link a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width : 100%;
  height: 100%;
  border-radius: 28px;
  color : var(--blue);
　padding:10px 0;
  margin: auto;
}
.menu-link:hover {
    display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--blue);
  color:var(--yellow);
}
.menu-link a:hover{ color:var(--yellow);margin: auto;}

nav ul { margin: 16px 0 24px; }
nav li a{
  font-size: 1.4rem;
  color: #fff;
  text-indent: -56px;
  padding: 10px 24px 10px 56px;
  margin-block: var(--leading-trim);
}
nav a:hover{ display: block; color:var(--yellow);}
nav li:hover {
  display: block;
  background: var(--blue);
}
nav li:hover a:before,
nav p a:hover{ background: var(--blue);}
nav li a:before {
  display: inline-block;
  background: var(--blue);
  border-radius: 50% 50% 50% 0; 
  font-size: .85em;
  line-height: 18px;
  text-align: center;
  text-indent:0;
  width : 24px;
  height: 24px;
  padding-top: 3px;
  margin-left: 24px;
  margin-right: 8px;
}
nav li:first-child a:before {content:'01';}
nav li:nth-child(2) a:before{content:'02';}
nav li:nth-child(3) a:before{content:'03';}
nav li:nth-child(4) a:before{content:'04';}
nav li:nth-child(5) a:before{content:'05';}
nav li:nth-child(6) a:before{content:'06';}
nav li:last-child a:before{content:'07';}
nav li:last-child a:before{background: var(--yellow); color: var(--blue);}
nav p:before{
  content :'';
  display: block;
  width: 242px;
  height: 1px;
  border-top:1px solid #999;
  margin: auto auto 16px;
}
nav p a{
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.5;  
  padding: 16px 10px; 
  margin-block: var(--leading-trim);
}
@media (max-height:750px){ #menu { height: 100%; overflow-y: scroll;}}
/*** mv ***/
.mv {
  display: grid;
  grid-template-rows: auto;
  grid-gap: 16px;
  background-color: var(--blue);
  background-position:top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0 24px 64px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 64px));
}
.mv__wrap{
  max-width: 1120px;
  width: 100%;
  display: grid;
  gap:16px;
  grid-template-columns: repeat(8, [col-start] 1fr);
  margin: 16px auto 32px;
}

/* mv anime */
.curtain { position: relative;}
.curtain img { clip-path: inset(0 100% 0 0);}
.curtain.is-loaded img{
  transition: clip-path 1.0s cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
  clip-path: inset(0 0 0 0);
}

.mv__ttl h1 {
  font-size: clamp(2rem,2.6041666vw,2.6rem);
  font-weight: 600;
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .6);
}

@media (max-width: 480px) and (orientation: portrait){
.mv {
   background-image:url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-sp.jpg");
   background-image:image-set(url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-sp.jpg) 1x, url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-sp-2x.jpg) 2x);
   aspect-ratio: 9 / 16;
  }
  
.mv__ttl {
  display: contents;
  grid-column: 1 / span 6;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, .5);
  margin-top: auto;
 }
.curtain{
  display: inline-grid;
  grid-column: 1 / span 5;
  margin-left: -8px;
}
.mv__ttl-copy-img,
.mv__ttl-img{
  display: inline-grid;
  grid-column: 1 / span 5;
}
  .mv__ttl-copy-img {
    width: 100%;
    margin-top: 180px;
    margin-left: -2px;
  }
  .mv__ttl-img{ margin-bottom: -16px;}
.mv__ttl h1 { grid-column: 1 / -1; margin-top: 16px;}
}
@media (min-width: 481px){
.mv {
  background-image:url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc_m.jpg");
  background-image:image-set(url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc_m.jpg) 1x, url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc.jpg) 2x);
  aspect-ratio:3 / 2;
  background-size: cover;
}
.mv__ttl {
    grid-column: 1 / span 6;
    display: grid;
    gap:8px;
    margin: auto 0 0;
  }
  .mv__ttl br{ display: none;}
}
@media (min-width: 481px) and (max-width: 767px){.mv__ttl-copy-img { width: 70%; margin-left: -8px;}}
@media (min-width: 768px){
.mv {
  background-image:url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc.jpg");
  background-image:image-set(url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc.jpg) 1x, url(https://www.raise-world.co.jp/wp-content/uploads/2025/09/mv-pc-2x.jpg) 2x);
  padding: 0 32px;
  }
.mv__wrap{
  grid-template-columns: repeat(12, [col-start] 1fr);
  gap: 24px;
  margin: 24px auto 64px;
  }
.mv__ttl { grid-column: 1 / span 9; gap: 16px; margin: auto 0 40px;}
  .mv__ttl h1 br { display: none;}
  .mv__ttl-copy-img { width: 70%; margin-left: -16px;}
}
@media (min-width: 1120px){
.mv {
  width: 100%;
  height: calc(100vh + 40px);
  aspect-ratio: 1280 / 730;
  position: relative;
  z-index: 5;
  background-color: #002a64;
  }
  .mv__wrap{
    gap: 32px;
    margin: 24px auto 64px;
  }
  .mv__ttl {
    grid-column: 1 / span 9;
    gap: 16px;
    margin: auto 0 64px;
  }
  .mv__ttl-copy-img {
    max-width: 556px;
    width: 100%;
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {body{ font-size: 1.3rem;}}
@media (min-width: 768px) {body{ font-size: 1.4rem;}}
@media (min-width: 1120px){body{ font-size: 1.5rem;}}

/*** Content ***/
.container {
  max-width: 1120px;
  width: 100%;
  margin: auto;
}
.rotate__cont {
  position: absolute;
  right: 8px;
  width: 156px;
  height: 156px;
  margin:-80px 0 0 auto;
  z-index: 50;
}
.rotate__inner-txt {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  width : 128px;
  height: 128px;
  background: var(--yellow);
  border-radius:50%;
  transform: translate(-50%,-50%);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  z-index: 1;/* 読み上げ機能などに反応するように円より上に配置 */
  margin: auto;
}
.rotate__inner-txt span {font-size: 12px;}
.rotate__float{
  animation: rotate 12s infinite linear;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;   
}
@keyframes rotate {
 from {transform: rotate(0deg);}
 to {  transform: rotate(360deg);}
}
@media (min-width:768px){
.rotate__cont {
  right:16px;
  width: 180px;
  height: 180px;
}
  .rotate__inner-txt {
    font-size: 16px;
    width : 148px;
    height: 148px;
  }
  .rotate__inner-txt span {font-size: 14px;}
}
@media (min-width:1120px){
.rotate__cont{
  right:24px;
  width: 200px;
  height: 200px;
  }
  .rotate__inner-txt {
    width : 168px;
    height: 168px;
    font-size: 18px;
    }
  .rotate__inner-txt span {font-size: 15px;}
}

/*** intro ***/
main { background: #fcfbf6;}

.guide {
  background-image: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/bg-guide_s.jpg");
	background-position:top center;
	background-size:cover;
	background-repeat:no-repeat;
  color: #fff;
  line-height: 2;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.7); 
  padding: 128px 24px 0;
  margin-top: -64px;
}
.guide__wrap {
  width: 100%;
  max-width: 1120px;
  display: grid;
  gap: 40px 16px;
  grid-template-columns: repeat(8, [col-start] 1fr);
  margin: 0 auto 48px;  
}
.guide__ttl {
  width: 13em;
  grid-column: 1 / -1;
  font-size: clamp(2.4rem,3.1290743vw,3.6rem);
  font-family: var(--serif);
  font-style : normal;
  font-weight: 600;
  margin-top : 24px;
}
  .guide__ttl span { display: block;}
.guide__list {
  grid-column: 1 / -1;
  font-family: var(--serif);
  font-size: 2rem;
  font-style: normal;
  font-weight: 600;
  display: grid;
  gap:40px; 
}
  .guide__list li {
    line-height: 1.6;
    margin-block:var(--leading-trim);
  }
  .guide__list li:before {
    content:'';
    display: inline-block;
    color: var(--blue);
    width: 24px;
    height: 24px;
    background-color:var(--yellow);
    border-radius: 50% 50% 0 50%;
    text-shadow: none;
    text-align: center;
    font-size : 18px;
    font-style: italic;
    line-height: 24px;
  }
  .guide__list li:first-child:before { content:'1';}
  .guide__list li:nth-child(2):before{ content:'2';}
  .guide__list li:nth-child(3):before{ content:'3';}
  .guide__list li:nth-child(4):before{ content:'4';}
  .guide__list li:last-child:before { content:'5';}
  .guide__list li span { font-size: .875em;}
  .guide__list li span + span {
    display: block;
    font-size: 1.3rem;
    font-family: var(--sans_serif)!important;
    font-weight: 500;
    margin-top: 4px;
    margin-left: 3em;
  }
  .guide__list li span + span:before{
    content: '';
    display: inline-block;
    width: 1em;
    height: 1px;
    background: #fff;
    margin: .5em 1em .5em 0;
  }
.guide__bg2 { position: relative; z-index:0;}
  .guide__bg2:before{
    position: absolute;
    content: '';
    background: rgb(33 50 88/.65);
    clip-path: polygon(0 64px, 100% 0, 100% 100%, 0 100%);
    grid-column: 1 / -1;
    width : 100vw;
    height: 100%;
    top: 8px;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
  }
.guide__ttl-second {
  font-family: var(--serif);
  font-size: clamp(2.2rem,2.8683181vw,3.4rem);
  text-align: right;
}
  .guide__ttl-second span{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    padding-right: 1em;
  }
  .guide__ttl-second span:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 1px;
    background: #fff;
    margin:.8em 16px .35em auto;
  }
.guide__ttl-second img { max-width: 448px; margin:8px 0 0 auto ;}
.guide__bg2-body,
.guide__txt {
  grid-column: 1 / -1;
  margin-block: var(--leading-trim);
}
.guide__txt { line-height: 2.13333; margin: 64px 0 128px;}
.guide__txt .u-right {
  display: flex;
  gap:24px;
  align-items: end;
  justify-content: flex-end;
  font-size: .93333em;
  margin-top: 40px;
}
.guide__bg2-body {
  height: auto;
  margin: 0 auto;
  animation: loading 1s;
}
.guide__logo-afd { width: 40px; margin:0;}
@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@media (min-width:480px){
.guide__ttl { width: 100%;}
.guide__ttl-second span:before { width: 60px; }
}
@media (min-width:600px){
.guide__list li span + span { display: inline-block; margin-left: 16px;}
.guide__list li + li { margin-left: 1em;}
.guide__list li + li + li { margin-left: 2em;}
.guide__list li + li + li + li{ margin-left: 3em;}
.guide__list li + li + li + li + li { margin-left: 4em;}
.guide__ttl-second span { display: contents;}
}
@media (min-width:768px){
.guide {
  background-image: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/bg-guide_m.jpg") ;
	}
.guide__wrap {
  grid-template-columns: repeat(12, [col-start] 1fr);
  gap: 48px 32px;
  }
.guide__ttl {
  width: 100%;
  font-size: 2.8rem;
  margin-top: 0;
  }
.guide__list { grid-column: 1 / -1; font-size: 2.2rem; }
  .guide__list li { display: flex; align-items: center;}
  .guide__list li span + span { font-size: 1.4rem;}
.guide__bg2-body { grid-column: 2 / span 10;}
.guide__ttl-second{ font-size: 2.8rem; margin-right: -32px;}
  .guide__ttl-second img {margin: 16px 0 0 auto;}
  .guide__ttl-second span:before { width: 60px; }
}
@media (min-width:820px){
.guide__list { grid-column: 2 / span 10;}
  .guide__list li::before {
    width: 32px;
    height: 32px;
    font-size: 20px;
    line-height: 32px;  
    margin-bottom: 10px;
  }
}
@media (min-width:1120px){
.guide {
  background-image: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/bg-guide_l.jpg") ;
	}
.guide__ttl {
  font-size: 3.6rem;
  text-indent: -1em;
  padding-left: 1em
  }
.guide__list {
  font-size: 2.4rem;
  margin-left: 40px;
}
  .guide__list li + li { margin-left: 2em;}
  .guide__list li + li + li { margin-left: 4em;}
  .guide__list li + li + li + li{ margin-left: 6em;}
  .guide__list li + li + li + li + li { margin-left: 8em;}
  .guide__list li span + span { font-size: 1.6rem; }
.guide__ttl-second{ font-size: 3.4rem; margin:8px 0 0;}
}

/* loop text */
.loop-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  width: 100vw;
  height: 74px;
  margin: 0 calc(50% - 50vw);
}
.content-menu .loop-wrap {
  position: absolute;
  left: 0; bottom: 0;
  z-index: 1;
}
.loop-area {
  display: flex;
  animation: loop-text 40s linear infinite;
}
.loop__txt {
  color: #e6e6dc;
  display: inline-block;
  font-size: 6.2rem;
  line-height: 1;
  white-space: nowrap;
}
@keyframes loop-text {
0% { transform: translateX(0%);}
100% { transform: translateX(-50%);}
}

/*** content-menu ***/
.content-menu {
  position: relative;
  top: -64px;  
  background: var(--bg);
  margin: 0 0 24px;
  padding: 64px 24px 96px;
}
.content-menu::before,
.content-menu::after{
  content: "";
  position: absolute;
  border-style: solid;
  border-color: transparent transparent transparent var(--bg);
}
  .content-menu::before {
    top: -64px;
    right: 0;
    border-width: 64px 0 0 100vw; 
  }
  .content-menu::after {
    bottom: -64px;
    left: 0;
    border-width: 0 0 64px 100vw ;
  }

.content-menu__tab {
  max-width: 1120px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  margin: auto;
}
.content-menu__tab > label {
  order: -1;
  background-color: var(--bg);
  color: #999;
  font-weight: 600;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
}
  .content-menu__tab > label:hover { opacity: .8;}
  .content-menu__tab input { display: none;}
  .content-menu__tab > div {
    display: none;
    width: 100%;
    padding-top: 32px;
    }
.content-menu__tab label:has(:checked) {
    position: relative;
    color: var(--blue);
}
.content-menu__tab label:has(:checked) + div {
  display: grid;
  grid-template-columns: repeat(8, [col-start] 1fr);
  gap:16px;
}
.content-menu__tab label:has(:checked)::after {
  position: absolute; /*positionをabsoluteに指定*/
  content: "";
  background-color: var(--blue); /*下線の色*/
  width: 80px; /*線の幅*/
  height: 2px; /*線の太さ*/
  bottom: -16px; /*線のタテ位置*/
  left: 50%;  /*線のヨコ位置*/
  transform: translateX(-50%);　/*線のヨコ位置*/
}
.content-menu__tab .content-menu__wrap {
  max-width: 536px;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  gap:32px;
  margin: auto;
}
.content-menu__item {
  max-width: 256px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--color-blue);
}
  .content-menu__item img:first-of-type {
    position: absolute;
    width: 56px;
    top: -8px;
    right: -8px;
  }
  .content-menu__item img:last-of-type {
    border-bottom-left-radius: 16px;
    margin-bottom: 16px;
  }
  .content-menu__item p { line-height: 1.5;}
  .content-menu__item a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    transition: .5s;
  }
.content-menu__item:hover{ opacity: .8;transition: .5s;}
@media (min-width: 480px){
.content-menu__tab .content-menu__wrap {
  grid-template-columns:repeat(2, 1fr);
  gap:32px 24px;
  }
}
@media (min-width: 768px){
.content-menu__tab .content-menu__wrap {
  max-width: 832px;
  grid-template-columns: repeat(3, 1fr);
  gap:32px;
}
  .content-menu__tab label:has(:checked) + div {
    grid-template-columns: repeat(12, [col-start] 1fr);
    gap:24px;
  }
.content-menu__wrap{
  display: grid;
  grid-template-columns: repeat(8, [col-start] 1fr);
}
}
@media (min-width: 1120px){.content-menu__item img:first-of-type { width: 64px;}}

/* section area */
section {padding: 100px 24px;}
section#run07 {padding: 100px 24px 164px;}
.sec__wrap,
.fun__wrap,
[class$="__container"]{
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(8, [col-start] 1fr);
  align-items: flex-start;
  margin:0 auto;
}
.sec__wrap { gap: 40px 16px;}
.fun__wrap { gap: 64px 16px;}
.sec__head { grid-column: 1 / -1; }
  .sec__head br {display: none;}
  .sec__head h2 { font-size: clamp(2rem, 2.6075619vw/*767*/, 2.4rem);}
  .sec__head h2:before{
    content:'';
    display:block;
    border-right:1px solid; 
    border-left:1px solid;
    width: 160px;
    height: 24px;
    margin-bottom: 16px;
  }
  #run01 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run01.svg") center / 102px no-repeat;}
  #run02 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run02.svg") center / 102px no-repeat;}
  #run03 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run03.svg") center / 102px no-repeat;}
  #run04 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run04.svg") center / 102px no-repeat;}
  #run05 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run05.svg") center / 102px no-repeat;}
  #run06 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run06.svg") center / 102px no-repeat;}
  #run07 .sec__head h2:before { background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/run07.svg") center / 102px no-repeat;}
  #run07 .sec__head h2{position:relative;}
  #run07 .sec__head h2:after {
    content:'通年 / 定期開催';
    display: inline-block;
    width: 8em;
    height: 24px;
    line-height: 24px;
    font-size: 15px;
    position: absolute;
    top:0;
    left:184px;
    margin-bottom: 16px;
    margin-right:auto;
  }
.sec__ttl-sub {
  font-family: var(--en);
  font-style: italic;
  font-size: clamp(1.4rem, 1.8252933vw/*767*/, 1.6rem);
  font-weight: 500;
  color: #999;
  padding-top:8px;
}
.sec__body { 
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap:32px;
}
.sec__body h3 {
  font-size: clamp(1.8rem, 2.3468057vw/*767*/, 2.2rem);
  font-weight: 500;
  word-break: keep-all;
}
  .sec__body h3 + p { margin-top: -16px;}

/* youtube */
.wp-block-embed iframe {　
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: auto;
  display: block;
}
.slide__list,
.slick-track {
  margin-left :calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  height: auto;
  overflow: hidden;
}
.slick-slide,
.slick-slide img{
  width: 327px!important;
  height:auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  margin: 0 12px;
  border-radius:0 16px 0 16px;
}
/* table */
.wp-block-table { margin:0;}
.wp-block-table thead,
.wp-block-table td { border:0!important;}
.wp-block-table thead th {
  width: 96px;
  display:inline-block;
  background: var(--blue);
  border: var(--blue);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  color: var(--yellow);
  font-weight:600;
  text-align:center;
  padding: 16px 0;
  margin-block: var(--leading-trim);
}
.wp-block-table tr td:first-child {
  width: 96px;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  padding:16px 10px!important;
  margin-block: var(--leading-trim);
}
  #run07 .wp-block-table tr td:first-child {width: 112px; line-height: 1.5;}
.wp-block-table tbody tr:first-child{ border-top:1px solid var(--blue);}
.wp-block-table tr { border-bottom:1px solid var(--blue);}
.wp-block-table td {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-height: 1.5;
  padding:16px 0!important;
}
.wp-block-table td td {
  border-left :0;
  border-right:0;
  margin-block:var(--leading-trim:);
}
#run07 .wp-block-table th {
 width:100%!important;
 max-width:736px;
 background:none;
 border: 1px solid transparent;
 border-top-left-radius: 8px;
 border-top-right-radius: 8px;
 color:var(--blue);
 font-weight:600;
 padding: 16px;
 position: relative;
}
  #run07 .wp-block-table th:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid var(--blue);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    transform: translate(-50%,-50%);
  }

section {
  padding-left : 24px;
  padding-right: 24px;
  }
.sec:nth-child(2n) { background: #fff;}
.sec.fun{
  position: relative;
  top: -64px;
  background: #eff6f8;
  margin: 64px auto -128px;
  padding-top: 0;
}
.sec.fun:before{
  content: "";
  position: absolute;  
  top: -64px;
  right: 0;
  border-style: solid;
  border-color: transparent transparent transparent #eff6f8;
  border-width: 64px 0 0 100vw;
}
.fun__img-top { width: 160px; margin-bottom: 24px;}
.fun .wp-block-group__inner-container { display: contents !important;}
.fun__head {
  display: grid;
  grid-template-columns: repeat(8, [col-start] 1fr);
  align-items: flex-start;
  max-width: 1120px;
  margin: 0 auto;
}
  .fun__head h2 { grid-column: 1 / 8; margin-left: -16px;}
  .fun__head .u-right { grid-column:3 / -1;	margin-bottom: 32px;}
  .fun__head .u-right figure { width:224px; margin: 0 0 16px auto;}
  .fun__head .u-right figure img{ width:224px;}
.fun__item {
  max-width: 536px;
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap:24px;
  margin: auto;
}
.fun__item-main { position: relative;}
  .fun__item-main figure:first-of-type{
     width: 80px;
     position: absolute;
     top:-16px;
     left: 16px;
     border-radius: 0;
   }
  .fun__item-main figure:last-of-type { width:100%; height: auto;}
.fun__item-body {
  display: flex;
  flex-direction: column;
  gap:24px;
}
  .fun__item-body h3 {
    font-family: var(--serif);
    font-size: clamp(2rem, 2.6075619vw/*767*/, 2.4rem);
  }
  .fun__item-body h3 span { display: block; font-size: .8em;}
  .fun__item-body p { color: #333;}
  .fun__item-main figure +  figure img,
  .fun__item-body + figure img { border-radius: 0 16px 0 16px;}
  .fun__item .fun__item-body + figure { width:160px; margin-left: auto; }
  .fun__item + .fun__item .fun__item-body + figure { margin-left:0; margin-right: auto;}
.fun__img-bottom {
  position: absolute;
  bottom: 24px;
  right:0;
  width: 256px;
}
@media (min-width:600px){
.sec.fun { padding-bottom: 152px;}
.fun__head h2 {grid-column: 1 / span 5;}
.fun__head .u-right br{ display:none;}
.sec__body { grid-column: col-start 2 / span 6; gap:40px;}
.fun__item {
  grid-column:2 / span 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 24px;
}
.fun__item-main { grid-area: 1 / 1 / 2 / 4; }
.fun__item-body { grid-area: 2 / 1 / 3 / 3; }
.fun__item .fun__item-body + figure { grid-area: 2 / 3 / 3 / 4; }
.fun__item:last-of-type .fun__item-body + figure img { margin-left: auto; }
	.slick-slide{ width:462px;}
	.wp-block-embed iframe { width: 80%;max-width: 544px!important;}
}
@media (min-width:768px) {
section {
  padding-left: 40px;
  padding-right: 40px;
}
.sec__wrap,
.fun__wrap{
  grid-template-columns: repeat(12, [col-start] 1fr);
  gap: 40px 24px;
  }
  .fun__wrap {gap: 64px 24px;}
.sec__body { grid-column: col-start 2 / span 10; gap:40px;}
	.slick-slide { display: flex;}
	.slick-slide,
	.slick-slide img { width:385px!important; height: 256px!important;}
.wp-block-table thead th,
.wp-block-table tr td:first-child { width: 160px;}
.fun__img-top { width: 256px;}
.fun__head .u-right,
.fun__item { grid-column: 3 / span 8;}
.fun__head{
    grid-template-columns: repeat(12, [col-start] 1fr);
    gap: 0 24px;
  }
  .fun__head h2 {grid-column: 1 / span 7;}
  .fun__head .u-right { margin-top: -16px;}
  .fun__head .u-right figure img{ width:224px;}
.fun__item-main figure:first-of-type  { width: 88px; height: 88px;}
.fun__item-body { gap:32px;}
.fun__img-bottom { margin-right: 24px;}
}
@media (min-width:980px){
.sec__head {
  position: sticky;
  top:32px;
  grid-column: col-start / span 4;
  padding-bottom: 32px;
  }
  .sec__head br { display: block;}
  .sec__head h3 {padding-top: 24px;}
  .sec__head h3 + figure {margin-right: 0;}
  .sec__body { grid-column: col-start 5 / -1; gap: 40px; margin-top: 48px;}
.slide__list { margin-left: 0; margin-right: calc(50% - 50vw);}
	.slick-slide,
	.slick-slide img { width:421px!important; height: 280px!important;}
  .fun__head { grid-template-rows: 1fr; }
.fun__head h2 { grid-area: 1 / 1 / 2 / 7;} 
.fun__head .u-right { grid-area: 1 / 7 / 2 / 13; margin:24px 0 0; }
.fun__item:first-of-type {
  grid-column: 1 / span 6;
  background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/fun-safari-animal.png") top right / 30% no-repeat;
  padding-top: 72px;
  margin-top: -16px;
  }
.fun__item:last-of-type { grid-column: 7 / -1;margin-top: 32px;}
.fun__img-bott0o { bottom: 40px;}
}
@media (min-width:1120px){
.sec__wrap { gap:40px 32px;}
.slick-slide,.slick-slide img { width:544px!important; height:362px!important;}
.fun__wrap { gap:40px 48px; margin-top: -24px;}
.fun__head {
  max-width: 1120px;
  display: flex;
  gap:24px;
  margin: 0 auto;
  }
 .fun__head h2, .fun__head .u-right { flex:1;}
.fun__head h2 { margin-left: -16px;}
.fun__head .u-right figure {margin: 0 0 24px auto;}
.fun__item:first-of-type{ margin-top: 32px;}
.fun__item:last-of-type { margin-top: 48px;}
}

/*** footer ***/
.footer {
  background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/footer-bg_s.jpg") center /cover no-repeat var(--bg);
  padding: 128px 24px 0;
  clip-path: polygon(0 64px, 100% 0, 100% 100%, 0 100%);
}
.footer__wrap {
  max-width: 1120px;
  width: 100%;
  display: grid;
  gap: 40px 16px;
  grid-template-columns: repeat(8, 1fr);
  margin: 0 auto 48px;
}
.footer__logo {
  grid-area: 1 / 3 / 2 / 7;
  margin: auto;
}
.footer__body { 
  grid-area: 2 / 1 / 3 / 9;
  text-align: center;
  margin-top: -16px;
 }
.footer h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem,2.8683181vw,3.2rem);
}
.footer h2 + p { padding-top: 24px;}
.footer .btn { grid-area: 3 / 1 / 4 / 9; }
.footer .loop-wrap { margin-bottom: 8px;}
.footer-logo {
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap:32px;
  background: rgb(9 74 116/.65);
  padding: 24px;
  margin: 0 calc(50% - 50vw)
}
.footer-logo a:first-of-type{ width: 22px;}
.footer-logo a:last-of-type { width: 128px;}

@media (min-width:480px){.footer .btn { grid-area:3 / 2 / 4 / 8;}}
@media (min-width:768px){
.footer {
  background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/footer-bg_m.jpg") center /cover no-repeat var(--bg);}
.footer__wrap {
  grid-template-columns: repeat(12, [col-start] 1fr);
  gap: 40px 24px;
  }
.footer__logo { grid-area: 1 / 5 / 2 / 9;width:100%;}
.footer__body { grid-area: 2 / 3 / 3 / 11; margin-top: -8px;}
.footer h2 + p {padding-top: 40px;}
.footer .btn { grid-area: 3 / 4 / 4 / 10; grid-column: 3 / span 8;} 
}
@media (min-width:980px){ .footer .btn {grid-column: 4 / span 6;}}
@media (min-width:1120px){
.footer {
  background: url("https://www.raise-world.co.jp/wp-content/uploads/2025/09/footer-bg_l.jpg") center /cover no-repeat var(--bg);}
}
.copy-right {
  background: var(--bg);
  font-size: 8px;
  font-weight: 500;
  text-align:center;
  line-height: 24px;
}

/*** btn ***/
.btn{
  grid-column: 1 / -1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 56px;
  background:var(--yellow);
  border: 1px solid var(--blue);
  border-radius: 56px;
  text-align: center;
  line-height: 56px; 
  margin:16px auto 0;
}
  .btn span {
    position: relative;
    right:24px;
    display: inline-block;
    width: 48px;
    height: 1px;
    background-color: var(--blue);
    border-radius: 9999px;
    margin-top: 4px;
  }
  .btn span:before {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 8px;
    height: 1px;
    border-radius: 9999px;
    background-color: var(--blue);
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .btn:after {
   content: " ";
   width: 0%;
   height: 100%;
   background: var(--blue);
   border-radius: 9999px;
   position: absolute;
   right: 0;
   transition: all .4s ease-in-out;
  }
  .btn:hover::after {
   width: 100%;
   right: auto;
   left: 0;
   border-radius: 56px;
  }
  .btn a {
   width: 100%;
   text-align: center;
   text-decoration: none;
   border-radius: 9999px;
   padding-left: 3em;
   transition: all .3s ease-in-out;
   z-index: 20;
  }
  .btn:hover a {
   animation: scaleUp 0 ease-in-out;
   border-radius: 9999px;
   color:var(--yellow);
  }
@media (min-width: 480px){.btn { grid-column: 2 / span 6;}}
@media (min-width: 768px){
 .btn {
   grid-column: 3 / span 8;
   height: 64px;
   border-radius: 9999px;
   line-height: 64px; 
   margin: 16px auto 0;}
}
@media (min-width: 980px){ .btn { grid-column: 6 / span 6;}}
/*** utility ***/
.u-sp {display: block;}
.u-pc { display: none;}
.u-mt16 { margin-top: 16px;}
.u-mt24 { margin-top: 24px;}
.u-mt32 { margin-top: 32px;}
.u-small { font-size: .93333em;}
.u-large { font-size: 1.125em;}
.u-bold { font-weight: 500;}
.u-center { text-align: center;}
.u-right { text-align: right;}

@media (min-width: 768px){
.u-sp { display: none;}
.u-pc { display: block;}
}
@media print and (width: 210mm) and (width: 297mm) {
  body {
    width: 1120px;
    margin: 0 auto;
    font-size: 16px;
	animation: none;
	transform: none;
	transition: unset;
  }
  .js-fadeUp,.curtain {
	opacity:1;
    }
}
