@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
.res-pc {
  display: none !important;
}

@media print, screen and (min-width: 769px) {
  .res-pc {
    display: block !important;
  }
}

.res-sp {
  display: block !important;
}

@media print, screen and (min-width: 769px) {
  .res-sp {
    display: none !important;
  }
}

.res-pc-il {
  display: none !important;
}

@media print, screen and (min-width: 769px) {
  .res-pc-il {
    display: inline !important;
  }
}

.res-sp-il {
  display: inline !important;
}

@media print, screen and (min-width: 769px) {
  .res-sp-il {
    display: none !important;
  }
}

img {
  width: 100%;
  height: auto;
}

/*----------------------- BREAK POINT ------------------------------------
Tablet Layout
------------------------- BREAK POINT ----------------------------------*/
/*----------------------- BREAK POINT ------------------------------------
SP Layout
------------------------- BREAK POINT ----------------------------------*/
#container {
  padding-top: 0 !important;
}

@media print, screen and (min-width: 769px) {
  #container {
    max-width: none;
    width: 100% !important;
    padding: 0 !important;
  }
}

@media print, screen and (max-width: 768px) {
  #container {
    max-width: none;
    width: 100% !important;
  }
}

#container .main_inner {
  width: 100%;
}

@media print, screen and (min-width: 769px) {
  #container .main_inner {
    max-width: calc(1224px + (24px * 2));
    width: calc(100 * 1224vw / 1300);
    min-width: 960px;
    margin: 0 auto;
  }
}

#main.mainWide #breadcrumb {
  border: none;
}

#main.mainWide.pavilion #breadcrumb {
  background: #fff;
}

#main {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 769px) {
  #main {
    background: url(/-/media/cojp/expo2025/mv_bg_01.jpg) no-repeat center top, url(/-/media/cojp/expo2025/mv_bg_03.jpg) repeat top center;
    background-size: 100% auto;
  }
}

#main.challenge {
  background: url(/-/media/cojp/expo2025/challenge/mv_bg_s.jpg) no-repeat center top;
  background-size: 100% auto;
}

#main .mainIn {
  padding: 0 !important;
  width: 100% !important;
}

#expo_Footer {
  padding: 1.5rem 0;
  background: #005aab !important;
}

#expo_Footer .g-siteFooter {
  border: none !important;
  padding: 0 !important;
}

#expo_Footer .footerCopy {
  color: #ffffff !important;
  width: 100%;
  border: none !important;
}

@media print, screen and (min-width: 769px) {
  #expo_Footer .footerCopy {
    max-width: calc(1024px + (24px * 2));
    width: calc(100 * 1024vw / 1300);
    min-width: 960px;
    margin: 0 auto;
  }
}

#expo_Footer .footerCopy p {
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
}

#expo_Footer .footerCopy p.expo_copy {
  width: 100%;
  display: block;
  line-height: 1;
}

@media print, screen and (min-width: 769px) {
  #expo_Footer .footerCopy p.expo_copy {
    width: auto;
    margin-top: .5em;
  }
}

#footer {
  display: none;
}

#mainvisual {
  position: relative;
  padding: calc(100 * 75vw / 750) 0 calc(100 * 186vw / 750);
  margin: 0;
  background: url(/-/media/cojp/expo2025/mv_bg_s_01.jpg) no-repeat center top, url(/-/media/cojp/expo2025/mv_bg_s_02.jpg) no-repeat center bottom;
  background-size: 100% auto !important;
}

@media print, screen and (min-width: 769px) {
  #mainvisual {
    padding: calc(100 * 40vw / 1300) 0 calc(100 * 150vw / 1300);
    margin: 0;
    background: url(/-/media/cojp/expo2025/mv_bg_02.png) no-repeat center bottom;
    background-size: 100% auto;
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual {
    padding: 40px 0 calc(100 * 150vw / 1300);
  }
}

@media print, screen and (min-width: 769px) {
  #mainvisual .main_inner {
    position: relative;
  }
}

#mainvisual h1 {
  width: calc(100 * 706vw / 750);
  margin: 0 auto calc(100 * -50vw / 750);
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 769px) {
  #mainvisual h1 {
    position: absolute;
    top: calc(100 * 170vw / 1300);
    left: 0;
    width: calc(100 * 716% / 1300);
    margin: 0;
    z-index: 2;
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual h1 {
    top: 182px;
    width: 688px;
  }
}

#mainvisual .mv {
  width: 100%;
  position: relative;
}

@media print, screen and (min-width: 769px) {
  #mainvisual .mv {
    text-align: right;
    width: calc(100 * 879% / 1224);
    margin-left: auto;
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual .mv {
    width: 879px;
  }
}

#mainvisual .mv::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100 * 116vw / 750);
  height: calc(100 * 166vw / 750);
  background: url(/-/media/cojp/expo2025/mv_obj_01_s.png) no-repeat center center;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  #mainvisual .mv::after {
    display: none;
  }
}

#mainvisual p.catch {
  width: 100%;
  text-align: center;
  font-size: calc(100 * 20vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
}

@media print, screen and (min-width: 769px) {
  #mainvisual p.catch {
    font-size: 14px;
    margin: 0 auto calc(100 * 50% / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual p.catch {
    margin: 0 auto 50px;
  }
}

#mainvisual p.catch img {
  width: calc(100 * 424vw / 750);
  margin: 0 auto 10px;
}

@media print, screen and (min-width: 769px) {
  #mainvisual p.catch img {
    width: calc(100 * 349% / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual p.catch img {
    width: 349px;
  }
}

#mainvisual p.offer {
  text-align: center;
  font-size: calc(100 * 22vw / 750);
}

@media print, screen and (max-width: 480px) {
  #mainvisual p.offer {
    margin: calc(100 * 30vw / 750) 0 calc(100 * 60vw / 750);
  }
}

@media print, screen and (min-width: 769px) {
  #mainvisual p.offer {
    text-align: right;
    font-size: 12px;
    position: absolute;
    right: 0;
    bottom: calc(100 * 60vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #mainvisual p.offer {
    bottom: 60px;
  }
}

#mainvisual p.product-link a {
  display: block;
  width: calc(100 * 700vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  #mainvisual p.product-link a {
    width: 700px;
    margin: 0 auto;
  }
}

#mainvisual p.product-link a:hover {
  opacity: 0.8;
}

#about {
  background: url(/-/media/cojp/expo2025/about_bg_02_s.jpg) no-repeat center bottom #f8fbfc;
  background-size: 100% auto;
  padding-bottom: calc(100 * 120vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about {
    background: url(/-/media/cojp/expo2025/about_bg_02.jpg) no-repeat center bottom #f8fbfc;
    background-size: 100% auto;
    padding-bottom: calc(100 * 120vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #about {
    padding-bottom: 120px;
  }
}

#about .about-inner {
  background: url(/-/media/cojp/expo2025/about_bg_01_lt_s.png) no-repeat left top, url(/-/media/cojp/expo2025/about_bg_01_rt_s.png) no-repeat right top, url(/-/media/cojp/expo2025/about_bg_01_lb_s.png) no-repeat left bottom, url(/-/media/cojp/expo2025/about_bg_01_rb_s.png) no-repeat right bottom;
  background-size: calc(100 * 60vw / 750) auto;
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
  padding: calc(100 * 50vw / 750) calc(100 * 47vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: calc(100 * 54% / 1224) calc(100 * 80% / 1224);
    background: url(/-/media/cojp/expo2025/about_bg_01_lt_s.png) no-repeat left top, url(/-/media/cojp/expo2025/about_bg_01_rt_s.png) no-repeat right top, url(/-/media/cojp/expo2025/about_bg_01_lb_s.png) no-repeat left bottom, url(/-/media/cojp/expo2025/about_bg_01_rb_s.png) no-repeat right bottom;
    background-size: calc(100 * 60vw / 1300) auto;
    width: 100%;
    margin: 0 auto calc(100 * 60vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #about .about-inner {
    padding: 54px 80px;
    background: url(/-/media/cojp/expo2025/about_bg_01_lt_s.png) no-repeat left top, url(/-/media/cojp/expo2025/about_bg_01_rt_s.png) no-repeat right top, url(/-/media/cojp/expo2025/about_bg_01_lb_s.png) no-repeat left bottom, url(/-/media/cojp/expo2025/about_bg_01_rb_s.png) no-repeat right bottom;
    background-size: 60px auto;
    margin: 0 auto 60px;
  }
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .title {
    width: calc(100 * 365% / 1098);
  }
}

@media print, screen and (min-width: 1400px) {
  #about .about-inner .title {
    width: 365px;
  }
}

#about .about-inner .title h2 {
  width: calc(100 * 438vw / 750);
  margin: 0 auto calc(100 * 42vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .title h2 {
    width: 100%;
    margin: 0 auto calc(100 * 60vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #about .about-inner .title h2 {
    margin: 0 auto 60px;
  }
}

#about .about-inner .title .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: calc(100 * 438vw / 750);
  margin: 0 auto calc(100 * 42vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .title .logo {
    width: 100%;
    margin: 0 auto;
  }
}

#about .about-inner .title .logo p.pavi {
  width: calc(100 * 178vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .title .logo p.pavi {
    width: calc(100 * 148% / 365);
  }
}

#about .about-inner .title .logo p.rohto {
  width: calc(100 * 205vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .title .logo p.rohto {
    width: calc(100 * 196% / 365);
  }
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .detail {
    width: calc(100 * 615% / 1098);
  }
}

@media print, screen and (min-width: 1400px) {
  #about .about-inner .detail {
    width: 615px;
  }
}

#about .about-inner .detail p {
  font-size: calc(100 * 26vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .about-inner .detail p {
    font-size: calc(100 * 16vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #about .about-inner .detail p {
    font-size: 16px;
  }
}

#about .youtube {
  aspect-ratio: 16 / 9;
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 100vw / 750);
}

@media print, screen and (min-width: 769px) {
  #about .youtube {
    width: 100%;
    margin: 0 auto 80px;
  }
}

#about .youtube iframe {
  width: 100%;
  height: 100%;
}

#next {
  background: #f8fbfc;
}

@media print, screen and (min-width: 769px) {
  #next {
    background: url(/-/media/cojp/expo2025/next_bg_02.png) no-repeat center bottom, url(/-/media/cojp/expo2025/next_bg_01.jpg) no-repeat center top, #f9fafc;
    background-size: 100% auto;
  }
}

#next .main_inner {
  padding-bottom: calc(100 * 200vw / 750);
  background: url(/-/media/cojp/expo2025/next_bg_02_s.jpg) no-repeat center bottom;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  #next .main_inner {
    background: none;
    padding-bottom: 100px;
  }
}

#next .next_upper {
  background: url(/-/media/cojp/expo2025/next_bg_01_s.jpg) no-repeat center bottom;
  background-size: 100% auto;
  padding-top: calc(100 * 90vw / 750);
  padding-bottom: calc(100 * 695vw / 750);
}

@media print, screen and (min-width: 769px) {
  #next .next_upper {
    background: none;
    padding-top: 0;
    padding-bottom: calc(100 * 40vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #next .next_upper {
    padding-bottom: 40px;
  }
}

#next .next_upper h2 {
  width: calc(100 * 650vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
}

@media print, screen and (min-width: 769px) {
  #next .next_upper h2 {
    width: calc(100 * 650% / 1224);
    margin: 0 auto calc(100 * 25vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #next .next_upper h2 {
    width: 650px;
    margin: 0 auto 25px;
  }
}

#next .next_upper p.text {
  font-size: calc(100 * 26vw / 750);
  text-align: center;
}

@media print, screen and (min-width: 769px) {
  #next .next_upper p.text {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 769px) {
  #next .next_upper p.image {
    width: calc(100 * 435% / 1224);
    margin: calc(100 * 40vw / 1300) auto calc(100 * 75vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #next .next_upper p.image {
    margin: 40px auto 75px;
    width: 435px;
  }
}

#next h3 {
  text-align: center;
  font-size: calc(100 * 40vw / 750);
  font-weight: bold;
  font-style: italic;
  letter-spacing: -0.04em;
  margin-top: -2em;
  color: #000000;
}

@media print, screen and (min-width: 769px) {
  #next h3 {
    font-size: 40px;
  }
}

#next h3 span {
  color: #005aab;
}

#theme {
  background: #f8fbfc;
}

@media print, screen and (max-width: 480px) {
  #theme {
    padding-top: calc(100 * 50vw / 750);
  }
}

#theme h3 {
  width: calc(100 * 422vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme h3 {
    width: calc(100 * 340% / 1060);
    max-width: 340px;
    margin: 0 auto 25px;
  }
}

#theme .next_lower {
  padding-bottom: calc(100 * 60vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower {
    margin-top: 0;
    padding-bottom: calc(100 * 90vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower {
    padding-bottom: 90px;
  }
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1060px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

#theme .next_lower .flex-inner .box {
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
  background: #ebf3f8;
  border-radius: calc(100 * 30vw / 750);
  padding: calc(100 * 70vw / 750) calc(100 * 46vw / 750) calc(100 * 65vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box {
    width: calc(100 * 510% / 1060);
    margin: 0;
    padding: 40px 60px 60px;
    border-radius: 20px;
  }
}

#theme .next_lower .flex-inner .box:last-child {
  margin-bottom: 0;
}

#theme .next_lower .flex-inner .box h4 {
  margin: 0 auto calc(100 * 40vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box h4 {
    margin: 0 auto calc(100 * 30vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box h4 {
    margin: 0 auto 30px;
  }
}

#theme .next_lower .flex-inner .box p.num {
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: calc(100 * 84vw / 750);
  text-align: center;
  position: relative;
  width: calc(100 * 68vw / 750);
  margin: 0 auto calc(100 * 45vw / 750);
  line-height: 1.5;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.num {
    width: calc(100 * 60% / 380);
    font-size: calc(100 * 50vw / 1300);
    margin: 0 auto calc(100 * 25vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box p.num {
    font-size: 50px;
  }
}

#theme .next_lower .flex-inner .box p.num::before, #theme .next_lower .flex-inner .box p.num::after {
  content: "";
  display: block;
  height: calc(100 * 8vw / 750);
  width: 100%;
  background-color: #f00;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.num::before, #theme .next_lower .flex-inner .box p.num::after {
    height: calc(100 * 4vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box p.num::before, #theme .next_lower .flex-inner .box p.num::after {
    height: 4px;
  }
}

#theme .next_lower .flex-inner .box p.num::after {
  background-color: #005aab;
  position: absolute;
  width: 50%;
  right: 0;
  bottom: 0;
}

#theme .next_lower .flex-inner .box p.thumb {
  margin-bottom: calc(100 * 45vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.thumb {
    margin-bottom: calc(100 * 40vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box p.thumb {
    margin-bottom: 40px;
  }
}

#theme .next_lower .flex-inner .box p.text {
  font-size: calc(100 * 26vw / 750);
  line-height: 1.9;
  text-align: center;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.text {
    font-size: calc(100 * 16vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box p.text {
    font-size: 16px;
  }
}

#theme .next_lower .flex-inner .box p.text span {
  display: block;
  margin-top: 1em;
  font-size: calc(100 * 22vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.text span {
    font-size: calc(100 * 14vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box p.text span {
    font-size: 14px;
  }
}

#theme .next_lower .flex-inner .box p.btn {
  width: calc(100 * 567vw / 750);
  margin: 0 auto;
  font-size: calc(100 * 40vw / 750);
  color: #005aab;
  font-weight: bold;
  text-align: center;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box p.btn {
    width: calc(100 * 329vw / 505);
    max-width: 329px;
    font-size: 20px;
    min-height: 62px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

#theme .next_lower .flex-inner .box p.btn a:hover {
  opacity: 0.8;
}

#theme .next_lower .flex-inner .box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: calc(100 * 45vw / 750);
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box ul {
    margin-bottom: calc(100 * 20vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box ul {
    margin-bottom: 20px;
  }
}

#theme .next_lower .flex-inner .box ul li {
  margin-left: calc(100 * 30vw / 750);
  border-bottom: 2px solid #f00;
  color: #005aab;
  font-size: calc(100 * 26vw / 750);
  font-weight: bold;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower .flex-inner .box ul li {
    margin-left: calc(100 * 20vw / 1300);
    font-size: calc(100 * 14vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #theme .next_lower .flex-inner .box ul li {
    font-size: 14px;
  }
}

#theme .next_lower .flex-inner .box ul li:first-child {
  margin-left: 0;
}

#theme .next_lower p.product-link a {
  display: block;
  width: calc(100 * 658vw / 750);
  margin: calc(100 * 100vw / 750) auto 0;
}

@media print, screen and (min-width: 769px) {
  #theme .next_lower p.product-link a {
    width: 800px;
    margin: 90px auto 0;
  }
}

#theme .next_lower p.product-link a:hover {
  opacity: 0.8;
}

#ft_link {
  padding: calc(100 * 130vw / 750) 0 calc(100 * 173vw / 750);
  background: url(/-/media/cojp/expo2025/link_bg_01_s.jpg) no-repeat center top, url(/-/media/cojp/expo2025/link_bg_02_s.jpg) no-repeat center bottom, url(/-/media/cojp/expo2025/link_bg_03_s.jpg) repeat center top;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  #ft_link {
    padding: calc(100 * 45vw / 1300) 0;
    background: url(/-/media/cojp/expo2025/link_bg_01.jpg) no-repeat center top, url(/-/media/cojp/expo2025/link_bg_02.jpg) repeat-y center top;
    background-size: 100% auto;
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link {
    padding: 50px 0;
  }
}

#ft_link .main_inner .ft_link_inner {
  width: calc(100 * 658vw / 750);
  margin: 0 auto;
  background: #fff;
  border-radius: calc(100 * 20vw / 750);
  position: relative;
  padding: calc(100 * 60vw / 750) 0 calc(100 * 80vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner {
    border-radius: calc(100 * 10vw / 1300);
    width: calc(100 * 850% / 1224);
    padding: calc(100 * 20vw /1300) calc(100 * 60vw / 1300) calc(100 * 15vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner .ft_link_inner {
    border-radius: 10px;
    padding: 30px 60px 25px;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

#ft_link .main_inner .ft_link_inner a {
  color: #000000;
  -webkit-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all;
}

#ft_link .main_inner .ft_link_inner a:hover {
  opacity: 0.6;
  text-decoration: none;
}

#ft_link .main_inner .ft_link_inner h3 {
  text-align: center;
  font-weight: bold;
  font-size: calc(100 * 28vw / 750);
  line-height: 1.4;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner h3 {
    text-align: left;
  }
}

#ft_link .main_inner .ft_link_inner h3 span {
  display: block;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner h3 span {
    font-size: calc(100 * 20vw / 1300);
    line-height: 2;
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner .ft_link_inner h3 span {
    font-size: 20px;
  }
}

#ft_link .main_inner .ft_link_inner h3 span.roboto {
  font-family: 'Roboto', sans-serif;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner h3 span.roboto {
    line-height: 1.1;
    font-size: calc(100 * 26vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner .ft_link_inner h3 span.roboto {
    font-size: 26px;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner h3 span.ja {
    font-size: calc(100 * 16vw / 1300);
    line-height: 2.4;
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner .ft_link_inner h3 span.ja {
    font-size: 16px;
  }
}

#ft_link .main_inner .ft_link_inner p.logo {
  width: calc(100 * 325vw / 750);
  margin: 0 auto calc(100 * 50vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner p.logo {
    width: calc(100 * 210% / 850);
    margin: 0;
    margin-right: calc(100 * 65% / 850);
  }
}

#ft_link .main_inner .ft_link_inner p.btn {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: calc(100 * 24vw / 750);
  font-weight: bold;
  color: #fff;
  background: #f00;
  border-top-left-radius: calc(100 * 20vw / 750);
  border-bottom-right-radius: calc(100 * 20vw / 750);
  padding: 0 calc(100 * 20vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner .ft_link_inner p.btn {
    font-size: calc(100 * 16vw / 1300);
    border-top-left-radius: calc(100 * 10vw / 1300);
    border-bottom-right-radius: calc(100 * 10vw / 1300);
    padding: 0 calc(100 * 20vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner .ft_link_inner p.btn {
    font-size: 16px;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 0 20px;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100 * 850% / 1060);
    max-width: 1060px;
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner {
    border-radius: 10px;
    width: calc(100 * 405% / 850);
    padding: 38px 0 48px;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner .flex {
    display: block;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner a {
  color: #000000;
  -webkit-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all;
}

#ft_link .main_inner.expo_top .ft_link_inner a:hover {
  opacity: 0.6;
  text-decoration: none;
}

#ft_link .main_inner.expo_top .ft_link_inner h3 {
  text-align: center;
  font-weight: bold;
  font-size: calc(100 * 28vw / 750);
  line-height: 1.4;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 {
    text-align: center;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner h3 span {
  display: block;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span {
    font-size: calc(100 * 20vw / 1300);
    line-height: 2;
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span {
    font-size: 20px;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner h3 span.roboto {
  font-family: 'Roboto', sans-serif;
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span.roboto {
    line-height: 1.1;
    font-size: calc(100 * 26vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span.roboto {
    font-size: 26px;
  }
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span.ja {
    font-size: calc(100 * 16vw / 1300);
    line-height: 2.4;
  }
}

@media print, screen and (min-width: 1400px) {
  #ft_link .main_inner.expo_top .ft_link_inner h3 span.ja {
    font-size: 16px;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner p.logo {
  width: calc(100 * 325vw / 750);
  margin: 0 auto calc(100 * 50vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner p.logo {
    width: calc(100 * 192% / 405);
    margin: 0 auto 10px;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner.challeng {
  margin-bottom: calc(100 * 60vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner.challeng {
    margin-bottom: 0;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner.challeng h3 {
  font-size: calc(100 * 32vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner.challeng h3 {
    font-size: 2.6rem;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner.challeng h3 span.sub {
  font-size: calc(100 * 24vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner.challeng h3 span.sub {
    font-size: 1.6rem;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner.challeng h3 span.roboto {
  display: inline;
  font-size: calc(100 * 32vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner.challeng h3 span.roboto {
    font-size: 2.6rem;
  }
}

#ft_link .main_inner.expo_top .ft_link_inner.challeng p.logo {
  width: calc(100 * 406vw / 750);
}

@media print, screen and (min-width: 769px) {
  #ft_link .main_inner.expo_top .ft_link_inner.challeng p.logo {
    width: calc(100 * 279% / 405);
  }
}

.challenge {
  background: none !important;
}

.challenge p.link-btn {
  width: calc(100 * 650vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .challenge p.link-btn {
    max-width: 330px;
    width: 100%;
  }
}

.challenge p.link-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 10000px;
  position: relative;
  letter-spacing: 0.1em;
  font-weight: 500;
  background: #005aab;
  width: 100%;
  height: calc(100 * 123vw / 750);
  font-size: 1.6rem;
  color: #fff;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  .challenge p.link-btn a {
    font-size: 1.8rem;
    height: 70px;
  }
}

.challenge p.link-btn a::after {
  content: '';
  display: block;
  width: calc(100 * 22vw / 750);
  height: calc(100 * 38vw / 750);
  position: absolute;
  top: 50%;
  right: calc(100 * 20vw / 750);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(/-/media/cojp/expo2025/icon_arrow_right_white_01.png) no-repeat center center;
  background-size: 100% auto;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .challenge p.link-btn a::after {
    width: 11px;
    height: 20px;
    right: 19px;
  }
}

.challenge p.link-btn a:hover {
  opacity: 0.8;
}

.challenge #catch {
  background: url(/-/media/cojp/expo2025/challenge/catch_bg_01_s.jpg) no-repeat center top, url(/-/media/cojp/expo2025/challenge/catch_bg_02_s.jpg) no-repeat center bottom, url(/-/media/cojp/expo2025/challenge/catch_bg_03_s.jpg) repeat-y center top;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .challenge #catch {
    background: url(/-/media/cojp/expo2025/challenge/catch_bg_01.jpg) no-repeat center top, url(/-/media/cojp/expo2025/challenge/catch_bg_02.jpg) no-repeat center bottom, url(/-/media/cojp/expo2025/challenge/catch_bg_03.jpg) repeat-y center top;
    background-size: 100% auto;
  }
}

.challenge #catch .catch-inner {
  width: calc(100 * 650vw / 750);
  margin: 0 auto;
  padding: calc(100 * 150vw / 750) 0;
}

@media print, screen and (min-width: 769px) {
  .challenge #catch .catch-inner {
    width: 100%;
    max-width: 1060px;
    padding: 77px 0 65px;
  }
}

.challenge #catch .catch-inner h1 {
  width: calc(100 * 650vw / 750);
  margin: 0 auto calc(100 * 70vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #catch .catch-inner h1 {
    width: calc(100 * 647% / 1060);
    max-width: 647px;
    margin: 0 auto 40px;
  }
}

.challenge #catch .catch-inner p.catch {
  width: calc(100 * 406vw / 750);
  margin: 0 auto calc(100 * 80vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #catch .catch-inner p.catch {
    width: calc(100 * 185% / 1060);
    max-width: 185px;
    margin: 0 auto 32px;
  }
}

.challenge #catch .catch-inner p.txt {
  font-size: calc(100 * 28vw / 750);
  line-height: 1.8;
  color: #4d4d4d;
  margin-bottom: calc(100 * 80vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #catch .catch-inner p.txt {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
}

.challenge #challenge {
  background: url(/-/media/cojp/expo2025/challenge/challenge_bg_01_s.jpg) no-repeat center top, url(/-/media/cojp/expo2025/challenge/challenge_bg_02_s.jpg) no-repeat center bottom;
  background-size: 100% auto;
  padding: calc(100 * 140vw / 750) 0 calc(100 * 120vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge {
    background: url(/-/media/cojp/expo2025/challenge/challenge_bg_01.png) no-repeat center top, url(/-/media/cojp/expo2025/challenge/challenge_bg_02.png) no-repeat center bottom, url(/-/media/cojp/expo2025/challenge/challenge_bg_03.png) repeat-y center top;
    background-size: 100% auto;
    padding: 140px 0 120px;
  }
}

.challenge #challenge .challenge-inner h2 {
  width: calc(100 * 462vw / 750);
  margin: 0 auto calc(100 * 45vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner h2 {
    width: calc(100 * 401% / 1060);
    max-width: 401px;
    margin: 0 auto 20px;
  }
}

.challenge #challenge .challenge-inner .mv {
  width: calc(100 * 650vw / 750);
  margin: 0 auto calc(100 * 45vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .mv {
    width: calc(100 * 634% / 1060);
    max-width: 634px;
    margin: 0 auto 40px;
  }
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1060px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box {
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 60vw / 750);
  background: #ebf3f8;
  border-radius: calc(100 * 30vw / 750);
  padding: calc(100 * 45vw / 750) calc(100 * 46vw / 750) calc(100 * 65vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box {
    width: calc(100 * 510% / 1060);
    margin: 0;
    padding: 40px 60px 60px;
    border-radius: 20px;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box:last-child {
  margin-bottom: 0;
}

.challenge #challenge .challenge-inner .flex-inner .box h3 {
  font-size: calc(100 * 40vw / 750);
  font-weight: bold;
  color: #005aab;
  margin: 0 auto calc(100 * 30vw / 750);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box h3 {
    font-size: 2.8rem;
    margin: 0 auto 25px;
    text-align: center;
  }
}

@media print, screen and (min-width: 1400px) {
  .challenge #challenge .challenge-inner .flex-inner .box h3 {
    margin: 0 auto 30px;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box h3 span {
  color: #d81419;
}

.challenge #challenge .challenge-inner .flex-inner .box p.num {
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: calc(100 * 84vw / 750);
  text-align: center;
  position: relative;
  width: calc(100 * 68vw / 750);
  margin: 0 auto calc(100 * 45vw / 750);
  line-height: 1.5;
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.num {
    width: calc(100 * 60% / 380);
    font-size: calc(100 * 50vw / 1300);
    margin: 0 auto calc(100 * 25vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.num {
    font-size: 50px;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box p.num::before, .challenge #challenge .challenge-inner .flex-inner .box p.num::after {
  content: "";
  display: block;
  height: calc(100 * 8vw / 750);
  width: 100%;
  background-color: #f00;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.num::before, .challenge #challenge .challenge-inner .flex-inner .box p.num::after {
    height: calc(100 * 4vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.num::before, .challenge #challenge .challenge-inner .flex-inner .box p.num::after {
    height: 4px;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box p.num::after {
  background-color: #005aab;
  position: absolute;
  width: 50%;
  right: 0;
  bottom: 0;
}

.challenge #challenge .challenge-inner .flex-inner .box p.thumb {
  margin-bottom: calc(100 * 45vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.thumb {
    margin-bottom: calc(100 * 20vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.thumb {
    margin-bottom: 20px;
  }
}

.challenge #challenge .challenge-inner .flex-inner .box p.text {
  font-size: calc(100 * 26vw / 750);
  line-height: 1.9;
}

@media print, screen and (min-width: 769px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.text {
    font-size: calc(100 * 16vw / 1300);
  }
}

@media print, screen and (min-width: 1400px) {
  .challenge #challenge .challenge-inner .flex-inner .box p.text {
    font-size: 16px;
  }
}

.challenge #csv {
  background: url(/-/media/cojp/expo2025/challenge/csv_bg_01_s.jpg) no-repeat center top, url(/-/media/cojp/expo2025/challenge/csv_bg_02_s.jpg) no-repeat center bottom, url(/-/media/cojp/expo2025/challenge/csv_bg_03_s.jpg) repeat-y center top;
  background-size: 100% auto;
  padding: calc(100 * 140vw / 750) 0 calc(100 * 120vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv {
    padding: 120px 0;
    background: url(/-/media/cojp/expo2025/challenge/csv_bg_02.png) no-repeat center bottom, url(/-/media/cojp/expo2025/challenge/csv_bg_01.png) no-repeat center top, url(/-/media/cojp/expo2025/challenge/csv_bg_03.png) repeat-y center top;
    background-size: 100% auto;
  }
}

.challenge #csv .csv-inner h3 {
  width: calc(100 * 587vw / 750);
  margin: 0 auto calc(100 * 30vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner h3 {
    width: calc(100 * 900% / 1060);
    max-width: 900px;
    margin: 0 auto 25px;
  }
}

.challenge #csv .csv-inner p.en {
  font-size: calc(100 * 40vw / 750);
  font-weight: bold;
  text-align: center;
  color: #d81419;
  text-align: center;
  font-weight: bold;
  margin-bottom: calc(100 * 10vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.en {
    font-size: 3.0rem;
    margin-bottom: 20px;
  }
}

.challenge #csv .csv-inner p.more-project {
  text-align: center;
  padding: calc(100 * 50vw / 750) 0 calc(100 * 100vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.more-project {
    padding: 30px 0  45px;
  }
}

.challenge #csv .csv-inner p.more-project a {
  color: #005aab;
  font-size: calc(100 * 30vw / 750);
  border-bottom: 1px solid #005aab;
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.more-project a {
    font-size: 1.6rem;
  }
}

.challenge #csv .csv-inner p.link-btn {
  margin-bottom: calc(100 * 150vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.link-btn {
    margin-bottom: 70px;
    width: calc(100 * 450% / 1060);
    max-width: 450px;
  }
}

.challenge #csv .csv-inner p.link-btn a {
  font-size: calc(100 * 32vw / 750);
  letter-spacing: 0;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.link-btn a {
    font-size: 2.0rem;
  }
}

.challenge #csv .csv-inner p.back-btn {
  width: calc(100 * 566vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.back-btn {
    max-width: 290px;
    width: 100%;
  }
}

.challenge #csv .csv-inner p.back-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 10000px;
  position: relative;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 100%;
  height: calc(100 * 123vw / 750);
  font-size: 1.6rem;
  border: 1px solid #005aab;
  color: #005aab;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.back-btn a {
    font-size: 1.8rem;
    height: 70px;
  }
}

.challenge #csv .csv-inner p.back-btn a::after {
  content: '';
  display: block;
  width: calc(100 * 22vw / 750);
  height: calc(100 * 38vw / 750);
  position: absolute;
  top: 50%;
  left: calc(100 * 40vw / 750);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(/-/media/cojp/expo2025/icon_arrow_leftt_blue_01.png) no-repeat center center;
  background-size: 100% auto;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner p.back-btn a::after {
    width: 11px;
    height: 20px;
    left: 19px;
  }
}

.challenge #csv .csv-inner p.back-btn a:hover {
  opacity: 0.8;
}

.challenge #csv .csv-inner .csv-item {
  width: calc(100 * 660vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item {
    width: calc(100 * 800% / 1060);
    max-width: 800px;
  }
}

.challenge #csv .csv-inner .csv-item a {
  display: block;
  background: #ffffff;
  border: 2px solid #005aab;
  border-radius: calc(100 * 20vw / 750);
  position: relative;
  padding: calc(100 * 60vw / 750) calc(100 * 45vw / 750) calc(100 * 100vw / 750);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  overflow: hidden;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item a {
    border: 1px solid #005aab;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 40px 60px 60px;
    border-radius: 10px;
  }
}

.challenge #csv .csv-inner .csv-item a:hover {
  opacity: 0.6;
  text-decoration: none;
}

.challenge #csv .csv-inner .csv-item a:hover p {
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item .word {
    width: calc(100 * 360% / 680);
  }
}

.challenge #csv .csv-inner .csv-item h4 {
  width: calc(100 * 375vw / 750);
  margin: 0 auto 0 0;
  margin-bottom: calc(100 * 30vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item h4 {
    width: calc(100 * 225% / 360);
    max-width: 225px;
    margin-bottom: 30px;
  }
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item p.thumb {
    width: calc(100 * 300% / 680);
    max-width: 300px;
  }
}

.challenge #csv .csv-inner .csv-item p.txt {
  font-size: calc(100 * 26vw / 750);
  line-height: 1.8;
  margin-bottom: calc(100 * 30vw / 750);
  color: #4d4d4d;
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item p.txt {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}

.challenge #csv .csv-inner .csv-item p.btn {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: calc(100 * 24vw / 750);
  font-weight: bold;
  color: #fff;
  background: #005aab;
  border-top-left-radius: calc(100 * 20vw / 750);
  border-bottom-right-radius: 0;
  padding: 0 calc(100 * 20vw / 750);
}

@media print, screen and (min-width: 769px) {
  .challenge #csv .csv-inner .csv-item p.btn {
    font-size: 1.6rem;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 0;
    padding: 0 20px;
  }
}

.pavilion {
  width: 100%;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .sec-body {
    background: none;
    margin-top: -40px;
  }
}

.pavilion .sec .h-title {
  position: relative;
  margin-bottom: calc(100 * 80vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .h-title {
    margin-bottom: 50px;
  }
}

.pavilion .sec .h-title span {
  display: block;
  width: 100%;
  text-align: center;
  font-size: calc(100 * 50vw / 750);
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.1em;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .h-title span {
    font-size: 40px;
  }
}

.pavilion .sec .h-title::after {
  position: absolute;
  left: 50%;
  bottom: calc(100 * -40vw / 750);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  content: "";
  display: block;
  width: calc(100 * 69vw / 750);
  height: calc(100 * 8vw / 750);
  background: url(/-/media/cojp/expo2025/pavilion/obj_bar_h2.png) no-repeat center center;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .h-title::after {
    width: 40px;
    height: 4px;
    bottom: -25px;
  }
}

.pavilion .sec .catch {
  padding-top: calc(100 * 72vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .catch {
    padding-top: 0;
    background: none;
  }
}

.pavilion .sec .catch p.num {
  width: calc(100 * 320vw / 750);
  margin: 0 auto calc(100 * 42vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .catch p.num {
    width: calc(100 * 225vw / 1060);
    max-width: 225px;
    margin: 0 auto 40px;
  }
}

.pavilion .sec .block01 {
  margin-bottom: calc(100 * 80vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    padding-left: calc(100 * 170% / 1400);
    padding-right: calc(100 * 57% / 1400);
    padding-bottom: 0;
    margin: 0 auto;
    margin-bottom: 60px;
    background: none;
    max-width: 1400px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 .detail {
    width: calc(100 * 580% / 1400);
    max-width: 493px;
  }
}

.pavilion .sec .block01 h2.title {
  margin: 0 auto calc(100 * 42vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 h2.title {
    margin: 0 0 40px;
    width: 100%;
    max-width: 482px;
  }
}

.pavilion .sec .block01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px 20px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: calc(100 * 580vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 ul {
    width: 100%;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    margin: 0;
  }
}

.pavilion .sec .block01 ul li {
  color: #005aab;
  font-size: calc(100 * 28vw / 750);
  font-weight: bold;
  border-bottom: 2px solid #d81419;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 ul li {
    font-size: 20px;
    border-bottom: 3px solid #d81419;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block01 p.image {
    width: calc(100 * 776% / 1400);
    max-width: 637px;
  }
}

.pavilion .sec .block03 {
  padding-bottom: calc(100 * 235vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding-bottom: 130px;
  }
}

.pavilion .sec .block03 .block-catch {
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 130vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 h3 {
    width: 100%;
  }
}

.pavilion .sec .block03 .flame {
  border: 2px solid #005aab;
  border-radius: calc(100 * 30vw / 750);
  background: #ffffff;
  width: calc(100 * 660vw / 750);
  margin: 0 auto;
  padding: calc(100 * 50vw / 750) 0 calc(100 * 70vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 .flame {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 40px 0 100px;
    border-radius: 20px;
  }
}

.pavilion .sec .block03 .flame .flame-inner {
  width: calc(100 * 566vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 .flame .flame-inner {
    width: auto;
  }
}

.pavilion .sec .block03 .flame .flame-inner .box {
  margin-bottom: 9.33333vw;
}

.pavilion .sec .block03 .flame .flame-inner .box:last-child {
  margin-bottom: 13.33333vw;
}

.pavilion .sec .block03 .flame .flame-inner .box p:first-child {
  margin-bottom: 8.66667vw;
}

.pavilion .sec .block03 .flame .flame-inner p.lead {
  font-size: calc(100 * 26vw / 750);
  line-height: 2;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 .flame .flame-inner p.lead {
    font-size: 16px;
  }
}

.pavilion .sec .block03 .flame .flame-inner p.attention {
  text-align: right;
  font-size: calc(100 * 20vw / 750);
  padding: calc(100 * 25vw / 750) calc(100 * 46vw / 750) 0;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block03 .flame .flame-inner p.attention {
    font-size: 12px;
    padding: 10px 34px 0;
  }
}

.pavilion .sec .block04 .block-catch {
  width: calc(100 * 660vw / 750);
  margin: 0 auto calc(100 * 130vw / 750);
}

.pavilion .sec .block04 .flame {
  border: 2px solid #005aab;
  border-radius: calc(100 * 30vw / 750);
  background: #ffffff;
  width: calc(100 * 660vw / 750);
  margin: 0 auto;
  padding: calc(100 * 50vw / 750) 0 calc(100 * 70vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec .block04 .flame {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 40px 0 20px;
    border-radius: 20px;
  }
}

.pavilion .sec .block04 .flame .flame-inner {
  width: calc(100 * 566vw / 750);
  margin: 0 auto;
}

.pavilion .sec.sec01 {
  background: #eef7fb;
}

.pavilion .sec.sec01 .sec-body {
  background: url(/-/media/cojp/expo2025/pavilion/sec01-bg-01_s.jpg) no-repeat center bottom;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .sec-body {
    background: url(/-/media/cojp/expo2025/pavilion/sec01-bg-01b.png) no-repeat center bottom, url(/-/media/cojp/expo2025/pavilion/sec01-bg-01a.png) no-repeat center top;
    background-size: 100% auto;
  }
}

.pavilion .sec.sec01 .catch {
  background: url(/-/media/cojp/expo2025/pavilion/sec01-bg-02_s.png) no-repeat center top;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .catch {
    background: none;
  }
}

.pavilion .sec.sec01 .catch h1 {
  width: calc(100 * 681vw / 750);
  margin: 0 auto calc(100 * 70vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .catch h1 {
    width: calc(100 * 555% / 1060);
    max-width: 555px;
    margin: 0 auto 50px;
  }
}

.pavilion .sec.sec01 .block01 {
  background: url(/-/media/cojp/expo2025/pavilion/sec01-bg-03_s.png) no-repeat center bottom;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block01 {
    width: 100%;
    padding-left: calc(100 * 170% / 1400);
    padding-right: calc(100 * 57% / 1400);
    padding-bottom: 0;
    margin-bottom: 60px;
    background: none;
    max-width: 1400px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block01 .detail {
    width: calc(100 * 482% / 1100);
    max-width: 482px;
  }
}

.pavilion .sec.sec01 .block01 h2.title {
  width: calc(100 * 643vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block01 h2.title {
    width: 100%;
    max-width: 482px;
  }
}

.pavilion .sec.sec01 .block01 .side-image {
  position: relative;
  padding-bottom: calc(100 * 580vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block01 .side-image {
    width: calc(100 * 637% / 1100);
    max-width: 637px;
    padding-bottom: 0;
  }
}

.pavilion .sec.sec01 .block01 .side-image p.image {
  width: 100%;
}

.pavilion .sec.sec01 .block01 .side-image p.attention {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 10px;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block01 .side-image p.attention {
    bottom: 8%;
    left: 4%;
  }
}

.pavilion .sec.sec01 .block02 {
  margin-bottom: calc(100 * 100vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block02 {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto 135px;
  }
}

.pavilion .sec.sec01 .block02 .block-inner {
  width: calc(100 * 658vw / 750);
  margin: 0 auto calc(100 * 90vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block02 .block-inner {
    width: 100%;
    max-width: 1060px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: none;
    margin: 0 auto 70px;
  }
}

.pavilion .sec.sec01 .block02 .block-inner P.photo {
  margin-bottom: calc(100 * 100vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block02 .block-inner P.photo {
    width: calc(100 * 380% / 1060);
    margin-bottom: 0;
    margin-right: calc(100 * 100% / 1060);
  }
}

.pavilion .sec.sec01 .block02 .block-inner P.text {
  line-height: 2;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block02 .block-inner P.text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

.pavilion .sec.sec01 .block03 .flame {
  position: relative;
}

.pavilion .sec.sec01 .block03 .flame::before, .pavilion .sec.sec01 .block03 .flame::after {
  content: "";
  display: block;
  position: absolute;
}

.pavilion .sec.sec01 .block03 .flame::before {
  top: calc(100 * -44vw / 750);
  right: calc(100 * -17vw / 750);
  width: calc(100 * 149vw / 750);
  height: calc(100 * 156vw / 750);
  background: url(/-/media/cojp/expo2025/pavilion/sec01-obj-01_s.png) no-repeat center center;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame::before {
    top: -71px;
    right: -141px;
    width: 188px;
    height: 198px;
  }
}

.pavilion .sec.sec01 .block03 .flame::after {
  bottom: calc(100 * -95vw / 750);
  left: calc(100 * 17vw / 750);
  width: calc(100 * 142vw / 750);
  height: calc(100 * 126vw / 750);
  background: url(/-/media/cojp/expo2025/pavilion/sec01-obj-02_s.png) no-repeat center center;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame::after {
    bottom: 0;
    left: -96px;
    width: 142px;
    height: 126px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: calc(100 * 860% / 1060);
    max-width: 860px;
    margin: 0 auto 50px !important;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame .box p {
    width: calc(100 * 380% / 860);
    max-width: 380px;
    margin: 0 !important;
  }
}

.pavilion .sec.sec01 .block03 .flame .box p.photo span {
  display: block;
  text-align: center;
  font-size: calc(100 * 32vw / 750);
  font-weight: bold;
  color: #005aab;
  padding-top: calc(100 * 10vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame .box p.photo span {
    padding-top: 10px;
    font-size: 16px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame p.image {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
  }
}

.pavilion .sec.sec01 .block03 .flame p.image-attention {
  text-align: right;
  font-size: calc(100 * 24vw / 750);
  width: 100%;
  margin: calc(100 * 20vw / 750) auto 0;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec01 .block03 .flame p.image-attention {
    font-size: 12px;
    width: 100%;
    max-width: 860px;
    margin: 10px auto 0;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 {
    background: #eef7fb;
  }
}

.pavilion .sec.sec02 .sec-body {
  background: url(/-/media/cojp/expo2025/pavilion/sec02-bg-01_s.png) no-repeat center bottom #eef7fb;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .sec-body {
    background: url(/-/media/cojp/expo2025/pavilion/sec02-bg-01b.png) no-repeat center bottom, url(/-/media/cojp/expo2025/pavilion/sec02-bg-01a.png) no-repeat center top;
    background-size: 100% auto;
  }
}

.pavilion .sec.sec02 p.back-btn {
  width: calc(100 * 566vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 p.back-btn {
    max-width: 290px;
    width: 100%;
  }
}

.pavilion .sec.sec02 p.back-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 10000px;
  position: relative;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 100%;
  height: calc(100 * 123vw / 750);
  font-size: 1.6rem;
  border: 1px solid #005aab;
  color: #005aab;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 p.back-btn a {
    font-size: 1.8rem;
    height: 70px;
  }
}

.pavilion .sec.sec02 p.back-btn a::after {
  content: '';
  display: block;
  width: calc(100 * 22vw / 750);
  height: calc(100 * 38vw / 750);
  position: absolute;
  top: 50%;
  left: calc(100 * 40vw / 750);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(/-/media/cojp/expo2025/icon_arrow_leftt_blue_01.png) no-repeat center center;
  background-size: 100% auto;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 p.back-btn a::after {
    width: 11px;
    height: 20px;
    left: 19px;
  }
}

.pavilion .sec.sec02 p.back-btn a:hover {
  opacity: 0.8;
}

.pavilion .sec.sec02 .catch {
  background: url(/-/media/cojp/expo2025/pavilion/sec02-bg-02_s.png) no-repeat center top;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .catch {
    background: none;
  }
}

.pavilion .sec.sec02 .catch h1 {
  width: calc(100 * 616vw / 750);
  margin: 0 auto calc(100 * 70vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .catch h1 {
    width: calc(100 * 729% / 1060);
    max-width: 729px;
    margin: 0 auto 35px;
  }
}

.pavilion .sec.sec02 .block01 {
  background: url(/-/media/cojp/expo2025/pavilion/sec02-bg-03_s.png) no-repeat center bottom;
  background-size: 100% auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 {
    background: none;
    padding-bottom: 40px;
  }
}

.pavilion .sec.sec02 .block01 h2.title {
  width: calc(100 * 653vw / 750);
  margin: 0 auto calc(100 * 20vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 h2.title {
    width: calc(100 * 500% / 493);
    max-width: 500px;
    margin: 0 0 40px 0;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 ul {
    margin-bottom: 20px;
  }
}

.pavilion .sec.sec02 .block01 p.txt {
  text-align: center;
  font-size: calc(100 * 26vw / 750);
  margin-top: calc(100 * 30vw / 750);
  margin-bottom: calc(100 * 30vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 p.txt {
    text-align: left;
    font-size: 16px;
    margin-top: 30px;
    margin-bottom: 0;
  }
}

.pavilion .sec.sec02 .block01 .side-image {
  position: relative;
  padding-bottom: calc(100 * 626vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 .side-image {
    width: calc(100 * 776% / 1400);
    max-width: 637px;
    padding-bottom: 0;
  }
}

.pavilion .sec.sec02 .block01 .side-image p.image {
  width: 100%;
}

.pavilion .sec.sec02 .block01 .side-image p.attention {
  position: absolute;
  bottom: 8%;
  left: 10%;
  font-size: 10px;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block01 .side-image p.attention {
    bottom: 8%;
    left: 55%;
  }
}

.pavilion .sec.sec02 .block03 {
  padding-bottom: 0 !important;
  margin-bottom: calc(100 * 110vw / 750) !important;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 {
    margin-bottom: 80px !important;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .block-catch {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: calc(100 * 860% / 1060);
    max-width: 860px;
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box dl {
    width: calc(100 * 260% / 860);
    max-width: 260px;
    margin: 0 auto;
  }
}

.pavilion .sec.sec02 .block03 .box dl dt {
  margin-bottom: calc(100 * 40vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box dl dt {
    margin-bottom: 20px;
  }
}

.pavilion .sec.sec02 .block03 .box dl dd {
  font-size: calc(100 * 32vw / 750);
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: calc(100 * 70vw / 750);
  color: #005aab;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box dl dd {
    font-size: 18px;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box.box01 {
    margin-bottom: 40px;
  }
}

.pavilion .sec.sec02 .block03 .box.box02 {
  margin-bottom: 0 !important;
}

.pavilion .sec.sec02 .block03 .box.box02 p {
  margin-bottom: 0 !important;
  width: calc(100 * 300vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block03 .box.box02 p {
    width: calc(100 * 300% / 860);
    max-width: 300px;
  }
}

.pavilion .sec.sec02 .block04 {
  padding-bottom: calc(100 * 180vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 {
    padding-bottom: 90px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto 70px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch.block-catch-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch.block-catch-flex .h-title span {
    text-align: left;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch.block-catch-flex .h-title::after {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.pavilion .sec.sec02 .block04 .block-catch .block-catch-detail {
  margin-bottom: calc(100 * 100vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch .block-catch-detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: calc(100 * 100% / 1060);
    margin-bottom: 0;
  }
}

.pavilion .sec.sec02 .block04 .block-catch .block-catch-detail p.text {
  line-height: 2;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .block-catch p.photo {
    width: calc(100 * 550% / 1060);
    max-width: 550px;
  }
}

.pavilion .sec.sec02 .block04 .flame {
  position: relative;
  padding: calc(100 * 72vw / 750) 0;
  margin-bottom: calc(100 * 150vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame {
    padding: 40px 0;
    width: calc(100 * 860% / 1060);
    max-width: 860px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 70px;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame .flame-inner {
    width: auto;
    margin-left: calc(100 * 70% / 860);
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame .flame-inner .h-title span {
    font-size: 25px;
    text-align: left;
  }
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame .flame-inner .h-title::after {
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.pavilion .sec.sec02 .block04 .flame .flame-inner p.text {
  text-align: center;
  font-size: calc(100 * 26vw / 750);
  margin-bottom: calc(100 * 50vw / 750);
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame .flame-inner p.text {
    font-size: 16px;
    text-align: left;
    margin-bottom: 0;
  }
}

.pavilion .sec.sec02 .block04 .flame p.image {
  width: calc(100 * 499vw / 750);
  margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
  .pavilion .sec.sec02 .block04 .flame p.image {
    width: calc(100 * 288% / 860);
    max-width: 288px;
    margin: 0 calc(100 * 110% / 860) 0 0;
  }
}
