@charset "utf-8";
#contents {
  visibility: hidden;
  opacity: 0;
}
#mainvisual {
  position: relative;
  overflow: hidden;
}
/* pc */
@media screen and (min-width: 751px) {
  #mainvisual {
    padding-bottom: 74.670%; /*1020x*/
    min-width: 1080px;
  }
}
@media (min-width: 751px) and (max-width: 1080px) {
  #mainvisual {
    padding-bottom: 806px;
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #mainvisual {
    height: calc(500 / 375 * 100vw);
  }
}
/*

kv

*/
#mainvisual #kv > div {
  position: absolute;
}
#mainvisual #kv .kv01 {
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 3;
  overflow: hidden;
}
#mainvisual #kv .kv01::after {
  position: absolute;
  content: '';
  top: 0;
  left: -90%;
  width: 190%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
}
#mainvisual #kv .kv02 {
  z-index: 4;
}
#mainvisual #kv .kv03 {
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 3;
  overflow: hidden;
}
#mainvisual #kv .kv03::after {
  position: absolute;
  content: '';
  top: 0;
  left: -90%;
  width: 190%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
}
#mainvisual #bldgImg .bldg {
  position: absolute;
  z-index: 5;
  opacity: 0;
}
#mainvisual #bldgImg .bldgBg {
  position: absolute;
  z-index: 1;
  opacity: 0;
}
/* pc */
@media screen and (min-width: 751px) {
  #mainvisual #kv .kv01 {
    width: 44.948%;
    margin-top: 7.027%;
    top: 0;
  }
  #mainvisual #kv .kv02 {
    width: 74.597%;
    margin-top: 12.518%;
    top: 0;
    left: 36.603%;
  }
  #mainvisual #kv .kv03 {
    width: 34.260%;
    margin-top: 38.799%;
    top: 0;
  }
  #mainvisual #bldgImg .bldg.bldg01 {
    width: 12.152%;
    margin-top: -5.856%;
    top: 0;
    left: 26.793%;
  }
  #mainvisual #bldgImg .bldg.bldg02 {
    width: 26.281%;
    margin-top: -2.928%;
    top: 0;
    left: -5.490%;
  }
  #mainvisual #bldgImg .bldg.bldg03 {
    width: 12.152%;
    margin-top: 27.086%;
    top: 0;
    left: 15.373%;
  }
  #mainvisual #bldgImg .bldg.bldg04 {
    width: 25.475%;
    margin-top: 37.481%;
    top: 0;
    left: -6.734%;
  }
  #mainvisual #bldgImg .bldg.bldg05 {
    width: 25.475%;
    margin-top: -7.320%;
    top: 0;
    left: 71.010%;
  }
  #mainvisual #bldgImg .bldg.bldg06 {
    width: 19.692%;
    margin-top: 24.743%;
    top: 0;
    left: 84.773%;
  }
  #mainvisual #bldgImg .bldg.bldg07 {
    width: 17.203%;
    margin-top: 47.877%;
    top: 0;
    left: 55.344%;
  }
  #mainvisual #bldgImg .bldgBg.bldgBg01 {
    width: 48.316%;
    margin-top: -3.294%;
    top: 0;
    left: -22.840%;
  }
  #mainvisual #bldgImg .bldgBg.bldgBg02 {
    width: 31.185%;
    margin-top: 34.626%;
    top: 0;
    left: 67.203%;
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #mainvisual #kv .kv01 {
    width: calc(308 / 375 * 100vw);
    top: calc(50 / 375 * 100vw);
  }
  #mainvisual #kv .kv02 {
    width: calc(510 / 375 * 100vw);
    top: calc(86 / 375 * 100vw);
    left: calc(89 / 375 * 100vw);
  }
  #mainvisual #kv .kv03 {
    width: calc(226 / 375 * 100vw);
    top: calc(270 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldg.bldg01 {
    width: calc(75 / 375 * 100vw);
    top: calc(-40 / 375 * 100vw);
    left: calc(168 / 375 * 100vw);
    z-index: 2;
  }
  #mainvisual #bldgImg .bldg.bldg02 {
    width: calc(141 / 375 * 100vw);
    top: calc(-24 / 375 * 100vw);
    left: calc(-78 / 375 * 100vw);
    z-index: 2;
  }
  #mainvisual #bldgImg .bldg.bldg03 {
    width: calc(82 / 375 * 100vw);
    top: calc(207 / 375 * 100vw);
    left: calc(-41 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldg.bldg04 {
    width: calc(144 / 375 * 100vw);
    top: calc(321 / 375 * 100vw);
    left: calc(-34 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldg.bldg05 {
    width: calc(153 / 375 * 100vw);
    top: calc(-40 / 375 * 100vw);
    left: calc(302 / 375 * 100vw);
    z-index: 2;
  }
  #mainvisual #bldgImg .bldg.bldg06 {
    width: calc(171 / 375 * 100vw);
    top: calc(294 / 375 * 100vw);
    left: calc(270 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldg.bldg07 {
    width: calc(86 / 375 * 100vw);
    top: calc(355 / 375 * 100vw);
    left: calc(151 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldgBg.bldgBg01 {
    width: calc(315 / 375 * 100vw);
    top: calc(-63 / 375 * 100vw);
    left: calc(-115 / 375 * 100vw);
  }
  #mainvisual #bldgImg .bldgBg.bldgBg02 {
    width: calc(192 / 375 * 100vw);
    top: calc(207 / 375 * 100vw);
    left: calc(302 / 375 * 100vw);
  }
}
/*

main

*/
/*

info

*/
#info {
  position: relative;
}
#info .wrap {
  position: relative;
  z-index: 2;
}
#info ul {
  border-top: solid 1px #FE8E9B;
}
#info ul li {
  border-bottom: solid 1px #FE8E9B;
}
#info #infoList ul a.noLink {
  pointer-events: none;
}
#info .keito01 {
  position: absolute;
  width: 100%;
  min-width: 1080px;
  overflow: hidden;
  z-index: 1;
}
#info .keito01 img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
/* pc */
@media screen and (min-width: 751px) {
  #info {
    margin-bottom: 380px;
  }
  #info .wrap {
    width: 835px;
    padding-left: 205px;
  }
  #info h2 {
    width: 122px;
  }
  #info #infoList.scrollbar {
    /* height: 220px;*/
    max-height: 220px;
    margin-top: 20px;
    overflow-y: auto;
  }
  #info #infoList ul {
    width: 790px;
  }
  #info #infoList ul a {
    display: inline-block;
    padding: 10px 0 10px 7em;
    text-indent: -7em;
  }
  #info ul li a span.day {
    display: inline-block;
    width: 7em;
    text-indent: 0;
  }
  #info .keito01 {
    height: 1070.5px;
    bottom: -770px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  @media (min-width: 751px) and (max-width: 1080px) {
    #info .keito01 {
      left: 0;
      transform: none;
    }
  }
  #info .keito01 img {
    width: 2195px;
    max-width: 2195px;
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #info {
    margin-bottom: calc(220 / 375 * 100vw);
  }
  #info .wrap {
    padding-right: calc(10 / 375 * 100vw);
  }
  #info h2 {
    width: calc(92 / 375 * 100vw);
  }
  #info #infoList.scrollbar {
    width: 100%;
    /* height: calc(480 / 375 * 100vw);*/
    max-height: calc(480 / 375 * 100vw);
    margin-top: calc(17 / 375 * 100vw);
    overflow-y: auto;
  }
  #info #infoList ul {
    width: calc(310 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  #info #infoList ul a {
    display: inline-block;
    padding: calc(15 / 375 * 100vw) 0;
    font-size: calc(14 / 375 * 100vw);
  }
  #info ul li a span.day {
    display: block;
    line-height: 1;
  }
  #info ul li a span.data {
    display: block;
    margin-top: calc(10 / 375 * 100vw);
  }
  #info .keito01 {
    width: 100%;
    min-width: inherit;
    height: calc(515 / 375 * 100vw);
    bottom: calc(-410 / 375 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #info .keito01 img {
    width: calc(1044 / 375 * 100vw);
    max-width: calc(1044 / 375 * 100vw);
    padding-left: calc(140 / 375 * 100vw);
  }
}
/*

intro

*/
#intro {
  position: relative;
}
#intro .main_bg {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 2;
}
#intro .main_bg img {
  position: absolute;
  top: 0;
}
/* pc */
@media screen and (min-width: 751px) {
  #intro {}
  #intro .wrap {
    margin-top: 70px;
  }
  #intro h2 {
    width: 268px;
  }
  #intro .imgBox {
    order: 2;
    width: 280px;
  }
  #intro .imgBox .post {
    margin-top: 10px;
    font-size: 1.4rem;
  }
  #intro .imgBox .name {
    margin-top: 5px;
    font-size: 2.0rem;
  }
  #intro .textBox {
    order: 1;
    width: 650px;
  }
  #intro .main_bg {
    min-width: 1080px;
    height: 660px;
    top: 670px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #intro .main_bg img {
    width: 660px;
    max-width: 660px;
    left: calc(((100% - 1080px) / 2) + 994px);
  }
  @media (min-width: 751px) and (max-width: 1080px) {
    #intro .main_bg {
      left: 0;
      transform: none;
    }
    #intro .main_bg img {
      left: 994px;
    }
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #intro {}
  #intro .wrap {
    margin-top: calc(22 / 375 * 100vw);
  }
  #intro h2 {
    width: calc(160 / 375 * 100vw);
  }
  #intro .imgBox .photo {
    width: calc(177 / 375 * 100vw);
  }
  #intro .imgBox .photoText {
    width: calc(100 / 375 * 100vw);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  #intro .imgBox .post {
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.42;
  }
  #intro .imgBox .name {
    margin-top: calc(4 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
  }
  #intro .textBox {
    margin-top: calc(35 / 375 * 100vw);
  }
  #intro .main_bg {
    height: calc(380 / 375 * 100vw);
    bottom: calc(-530 / 375 * 100vw);
    left: 0;
  }
  #intro .main_bg img {
    width: calc(380 / 375 * 100vw);
    max-width: calc(380 / 375 * 100vw);
    left: calc(210 / 375 * 100vw);
  }
}
/*

roadmap

*/
#roadmap {
  position: relative;
}
#roadmap .titleWrap {
  position: relative;
  z-index: 3;
}
#roadmap .wrap {
  position: relative;
}
#roadmap .wrap .textBox {
  position: relative;
  z-index: 3;
}
#roadmap .roadmap_content .roadmap_item::before {
  content: "";
  background-color: #5F78BA;
  position: absolute;
}
#roadmap .roadmap_content .roadmap_item::after {
  content: "";
  background-color: #5F78BA;
  position: absolute;
}
#roadmap .roadmap_content .photo {
  position: relative;
}
#roadmap .roadmap_content .roadmap_item .photo::before {
  content: "";
  background-color: #5F78BA;
  position: absolute;
}
#roadmap .keito02 {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
#roadmap .keito02 img {
  position: absolute;
  top: 0;
}
/* pc */
@media screen and (min-width: 751px) {
  #roadmap {
    margin-top: 200px;
  }
  #roadmap h2 {
    width: 530px;
  }
  #roadmap .textBox {
    margin-top: 40px;
  }
  #roadmap .roadmap_content .roadmap_title {
    position: absolute;
    width: 190px;
    z-index: 2;
  }
  #roadmap .roadmap_content .roadmap_title img {
    width: auto;
    height: 62px;
  }
  #roadmap .roadmap_content .roadmap_item {
    position: absolute;
    z-index: 4;
  }
  #roadmap .roadmap_content .road2024 .roadmap_title {
    top: -215px;
    left: 636px;
  }
  #roadmap .roadmap_content .road2025 .roadmap_title {
    top: 185px;
    left: 898px;
  }
  #roadmap .roadmap_content .road2026 .roadmap_title {
    top: 622px;
    left: 867px;
  }
  #roadmap .roadmap_content .road2027 .roadmap_title {
    top: 576px;
    left: 12px;
  }
  #roadmap .roadmap_content .road2028 .roadmap_title {
    top: 1150px;
    left: 298px;
  }
  #roadmap .roadmap_content .roadmap_date {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.6;
  }
  #roadmap .roadmap_content .roadmap_text {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
  }
  #roadmap .roadmap_content .photo {
    width: 200px;
  }
  #roadmap .roadmap_content .photo img {
    position: relative;
    z-index: 2;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .photo::before {
    z-index: 1;
  }
  #roadmap .roadmap_content .photo .photoImg {
    display: block;
    width: 200px;
    border-radius: 100px;
    overflow: hidden;
  }
  #roadmap .roadmap_content .photo .photoImg img {
    transition: all 0.3s linear;
  }
  #roadmap .roadmap_content .photo a:hover .photoImg img {
    transform: scale(1.12, 1.12);
  }
  #roadmap .roadmap_content .photo .icon_zoom {
    position: absolute;
    width: 48px;
    right: 0;
    bottom: 0;
  }
  /* road202410 */
  #roadmap .roadmap_content .roadmap_item.road202410 {
    text-align: center;
    top: -334px;
    left: 810px;
  }
  #roadmap .roadmap_content .roadmap_item.road202410::before {
    top: 60px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202410::after {
    top: 60px;
    width: 1px;
    height: 90px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  /* road202504 */
  #roadmap .roadmap_content .roadmap_item.road202504 {
    text-align: center;
    top: -127px;
    left: 854px;
  }
  #roadmap .roadmap_content .roadmap_item.road202504::before {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202504::after {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202504 .photo {
    margin-top: 10px;
  }
  #roadmap .roadmap_content .roadmap_item.road202504 .photo::before {
    top: 50%;
    width: 87px;
    height: 1px;
    left: -87px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  /* road202507 */
  #roadmap .roadmap_content .roadmap_item.road202507 {
    text-align: center;
    top: 134px;
    left: 294px;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .row_pc {
    display: flex;
    align-items: center;
  }
  #roadmap .roadmap_content .roadmap_item.road202507::before {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202507::after {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .roadmap_item_text {
    margin-right: 15px;
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .photo {
    margin-top: 13px;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .photo::before {
    top: 50%;
    width: 183px;
    height: 1px;
    right: -173px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  /* road202605 */
  #roadmap .roadmap_content .roadmap_item.road202605 {
    text-align: center;
    top: 358px;
    left: 427px;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 .row_pc {
    display: flex;
    align-items: center;
  }
  #roadmap .roadmap_content .roadmap_item.road202605::before {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202605::after {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 .roadmap_item_text {
    margin-right: 15px;
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 .photo {
    margin-top: 13px;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 .photo::before {
    top: 50%;
    width: 103px;
    height: 1px;
    right: -103px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  /* road202702 */
  #roadmap .roadmap_content .roadmap_item.road202702 {
    text-align: center;
    top: 735px;
    left: 700px;
  }
  #roadmap .roadmap_content .roadmap_item.road202702::before {
    top: -30px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202702::after {
    top: -100px;
    width: 1px;
    height: 73px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  /* road202704 */
  #roadmap .roadmap_content .roadmap_item.road202704 {
    text-align: center;
    top: 704px;
    left: 360px;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 .order {
    display: flex;
    flex-flow: column;
  }
  #roadmap .roadmap_content .roadmap_item.road202507::before {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202704::after {
    display: none;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 .roadmap_item_text {
    margin-top: 13px;
    order: 2;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 .photo {
    order: 1;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 .photo::before {
    top: -85px;
    width: 1px;
    height: 115px;
    right: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  /* road202706 */
  #roadmap .roadmap_content .roadmap_item.road202706 {
    text-align: center;
    top: 475px;
    left: 230px;
  }
  #roadmap .roadmap_content .roadmap_item.road202706::before {
    top: 52px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202706::after {
    top: 68px;
    width: 1px;
    height: 60px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  /* road202707 */
  #roadmap .roadmap_content .roadmap_item.road202707 {
    text-align: center;
    top: 748px;
    left: 10px;
  }
  #roadmap .roadmap_content .roadmap_item.road202707::before {
    top: -30px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202707::after {
    top: -23px;
    width: 82px;
    height: 1px;
    left: 78px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  /* road202710 */
  #roadmap .roadmap_content .roadmap_item.road202710 {
    text-align: center;
    top: 920px;
    left: 90px;
  }
  #roadmap .roadmap_content .roadmap_item.road202710::before {
    top: -30px;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202710::after {
    top: -23px;
    width: 95px;
    height: 1px;
    left: 70px;
  }
  /* road202803 */
  #roadmap .roadmap_content .roadmap_item.road202803 {
    top: 1070px;
    left: 440px;
  }
  #roadmap .roadmap_content .roadmap_item.road202803::before {
    top: 50%;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    left: -30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  #roadmap .roadmap_content .roadmap_item.road202803::after {
    top: 50%;
    width: 112px;
    height: 1px;
    left: -132px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  #roadmap .keito02 {
    min-width: 1080px;
    height: 2038px;
    top: -536px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  @media (min-width: 751px) and (max-width: 1080px) {
    #roadmap .keito02 {
      left: 0;
      transform: none;
    }
  }
  #roadmap .keito02 img {
    width: 1889px;
    max-width: 1889px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #roadmap {
    margin-top: calc(60 / 375 * 100vw);
  }
  #roadmap h2 {
    width: calc(314 / 375 * 100vw);
  }
  #roadmap .wrap {
    padding-right: calc(20 / 375 * 100vw);
  }
  #roadmap .textBox {
    margin-top: calc(15 / 375 * 100vw);
    padding-right: calc(5 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_title {
    display: block;
    position: relative;
    margin-top: calc(25 / 375 * 100vw);
    z-index: 2;
  }
  #roadmap .roadmap_content .roadmap_title img {
    width: auto;
    height: calc(31 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item {
    position: relative;
    z-index: 4;
  }
  #roadmap .roadmap_content .roadmap_date {
    margin-top: calc(40 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
    font-weight: 500;
    line-height: 1.6;
  }
  #roadmap .roadmap_content .roadmap_text {
    font-size: calc(14 / 375 * 100vw);
    padding-top: calc(2 / 375 * 100vw);
    font-weight: 700;
    line-height: 1.4;
  }
  #roadmap .roadmap_content .photo {
    position: relative;
    width: calc(200 / 375 * 100vw);
    margin-left: calc(-6 / 375 * 100vw);
  }
  #roadmap .roadmap_content .photo img {
    position: relative;
    z-index: 2;
  }
  #roadmap .roadmap_content .photo .icon_zoom {
    position: absolute;
    width: calc(48 / 375 * 100vw);
    right: calc(-9 / 375 * 100vw);
    bottom: calc(2 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item::before {
    top: calc(-25 / 375 * 100vw);
    width: calc(16 / 375 * 100vw);
    height: calc(16 / 375 * 100vw);
    border-radius: calc(8 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item::after {
    top: calc(-17 / 375 * 100vw);
    height: 1px;
  }
  #roadmap .roadmap_content .roadmap_item .photo {
    margin-top: calc(10 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item .photo::before {
    display: none;
  }
  /* road202410 */
  #roadmap .roadmap_content .roadmap_item.road202410::before {
    left: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202410::after {
    width: calc(333 / 375 * 100vw);
    left: 0;
  }
  /* road202504 */
  #roadmap .roadmap_content .roadmap_item.road202504::before {
    left: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202504::after {
    width: calc(312 / 375 * 100vw);
    left: 0;
  }
  /* road202507 */
  #roadmap .roadmap_content .roadmap_item.road202507 {
    margin-top: calc(50 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .roadmap_item_text {
    position: relative;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .roadmap_item_text::before {
    top: calc(-25 / 375 * 100vw);
    width: calc(16 / 375 * 100vw);
    height: calc(16 / 375 * 100vw);
    border-radius: calc(8 / 375 * 100vw);
    content: "";
    background-color: #5F78BA;
    position: absolute;
    left: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .photo {
    margin-left: calc(-7 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item.road202507 .photo .icon_zoom {
    right: calc(-10 / 375 * 100vw);
    bottom: calc(20 / 375 * 100vw);
  }
  #roadmap .roadmap_content .roadmap_item.road202507::after {
    width: calc(302 / 375 * 100vw);
    left: 0;
  }
  /* road202605 */
  #roadmap .roadmap_content .road2026 .roadmap_title img {
    margin-left: auto;
    margin-right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202605::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202605::after {
    width: calc(228 / 375 * 100vw);
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202605 .photo {
    margin-left: calc(120 / 375 * 100vw);
  }
  /* road202702 */
  #roadmap .roadmap_content .roadmap_item.road202702 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202702::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202702::after {
    width: calc(334 / 375 * 100vw);
    right: 0;
  }
  /* road202704 */
  #roadmap .roadmap_content .road2027 .roadmap_title img {
    margin-left: auto;
    margin-right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202704::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202704::after {
    width: calc(332 / 375 * 100vw);
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202704 .photo {
    margin-left: calc(123 / 375 * 100vw);
  }
  /* road202706 */
  #roadmap .roadmap_content .roadmap_item.road202706 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202706::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202706::after {
    width: calc(306 / 375 * 100vw);
    right: 0;
  }
  /* road202707 */
  #roadmap .roadmap_content .roadmap_item.road202707 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202707::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202707::after {
    width: calc(312 / 375 * 100vw);
    right: 0;
  }
  /* road202710 */
  #roadmap .roadmap_content .roadmap_item.road202710 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202710::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202710::after {
    width: calc(326 / 375 * 100vw);
    right: 0;
  }
  /* road202803 */
  #roadmap .roadmap_content .road2028 .roadmap_title img {
    margin-left: auto;
    margin-right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202803 {
    text-align: right;
  }
  #roadmap .roadmap_content .roadmap_item.road202803::before {
    right: 0;
  }
  #roadmap .roadmap_content .roadmap_item.road202803::after {
    width: calc(343 / 375 * 100vw);
    right: 0;
  }
  #roadmap .keito02 {
    width: 100%;
    min-width: inherit;
    height: calc(2530 / 375 * 100vw);
    top: calc(-24 / 375 * 100vw);
    left: 0;
  }
  #roadmap .keito02 img {
    width: calc(843 / 375 * 100vw);
    max-width: calc(843 / 375 * 100vw);
    left: calc(-234 / 375 * 100vw);
  }
}
/*

gifts

*/
#gifts {
  position: relative;
}
#gifts .keito03 {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
#gifts .keito03 img {
  position: absolute;
  top: 0;
}
#gifts .main_bg {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
#gifts .main_bg img {
  position: absolute;
  top: 0;
}
/* pc */
@media screen and (min-width: 751px) {
  #gifts {
    margin-top: 1300px;
  }
  #gifts h2 {
    width: 703px;
  }
  #gifts .textBox {
    margin-top: 40px;
  }
  #gifts .itemWrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }
  #gifts .itemBox .gifts_text {
    margin-top: 20px;
    line-height: 1.5;
    text-align: center;
  }
  #gifts .itemBox1 {
    width: 980px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 50px auto 0;
  }
  #gifts .itemBox1 .item {
    width: 474px;
  }
  #gifts .itemBox2 {
    max-width: 1054px;
    min-width: 1000px;
    margin: 20px auto 0;
  }
  #gifts .itemBox2 .item {
    width: calc(33.3% - 32px);
  }
  #gifts .keito03 {
    min-width: 1080px;
    height: 418px;
    top: -250px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #gifts .keito03 img {
    width: 830px;
    max-width: 830px;
    left: calc(((100% - 1080px) / 2) + 817px);
  }
  #gifts .main_bg {
    min-width: 1080px;
    height: 660px;
    top: -430px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #gifts .main_bg img {
    width: 660px;
    max-width: 660px;
    left: calc(((100% - 1080px) / 2) + (-420px));
  }
  @media (min-width: 751px) and (max-width: 1080px) {
    #gifts .keito03 {
      left: 0;
      transform: none;
    }
    #gifts .keito03 img {
      left: 817px;
    }
    #gifts .main_bg {
      left: 0;
      transform: none;
    }
    #gifts .main_bg img {
      left: -420px;
    }
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #gifts {
    margin-top: calc(130 / 375 * 100vw);
  }
  #gifts h2 {
    width: calc(282 / 375 * 100vw);
  }
  #gifts .textBox {
    margin-top: calc(22 / 375 * 100vw);
  }
  #gifts .itemBox .gifts_text {
    margin-top: calc(15 / 375 * 100vw);
    line-height: 1.5;
    text-align: center;
  }
  #gifts .itemBox1 {
    width: 100%;
  }
  #gifts .itemBox1 .item:nth-child(n+2) {
    margin-top: calc(40 / 375 * 100vw);
  }
  #gifts .itemBox2 {
    width: 100%;
  }
  #gifts .itemBox2 .gifts_photo {
    width: calc(320 / 375 * 100vw);
    margin: 0 auto;
  }
  #gifts .itemBox2 .item {
    margin-top: calc(40 / 375 * 100vw);
  }
  #gifts .keito03 {
    height: calc(266 / 375 * 100vw);
    bottom: calc(-280 / 375 * 100vw);
    left: 0;
  }
  #gifts .keito03 img {
    width: calc(531 / 375 * 100vw);
    max-width: calc(531 / 375 * 100vw);
    left: calc(33 / 375 * 100vw);
  }
  #gifts .main_bg {
    height: calc(380 / 375 * 100vw);
    top: calc(-452 / 375 * 100vw);
    left: 0;
  }
  #gifts .main_bg img {
    width: calc(380 / 375 * 100vw);
    max-width: calc(380 / 375 * 100vw);
    left: calc(-238 / 375 * 100vw);
  }
}
/*

guideline

*/
#guideline {
  position: relative;
}
#guideline .wrap {
  position: relative;
  z-index: 2;
}
#guideline h2 {
  margin: 0 auto;
}
#guideline .guideline_content dl {
  border-top: solid 1px #707070;
}
#guideline .guideline_content dl dt {
  font-weight: 500;
}
#guideline .guideline_content dl dd ul li {
  padding-left: 1em;
  text-indent: -1em;
}
#guideline .donateBtn a {
  position: relative;
  background-color: #5F78BA;
  color: #ffffff;
  font-weight: 500;
  line-height: 1;
}
#guideline .main_bg {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
#guideline .main_bg img {
  position: absolute;
  top: 0;
}
/* pc */
@media screen and (min-width: 751px) {
  #guideline {
    margin-top: 50px;
  }
  #guideline .wrap {
    width: 746px;
    padding: 0 167px
  }
  #guideline h2 {
    width: 156px;
  }
  #guideline .guideline_content {
    margin-top: 30px;
  }
  #guideline .guideline_content dl:last-child {
    border-bottom: solid 1px #707070;
  }
  #guideline .guideline_content dl {
    padding: 30px 0;
  }
  #guideline .guideline_content dl dt {
    font-size: 20px;
    width: 8em;
    line-height: 1.6;
  }
  #guideline .donateBtn {
    margin-top: 50px;
  }
  #guideline .donateBtn a {
    height: 117px;
    width: calc(100% - 50px);
    padding-right: 50px;
    border-radius: 6px;
    font-size: 2rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s linear;
  }
  #guideline .donateBtn a:hover {
    background-color: #7f93c8;
  }
  #guideline .donateBtn a img {
    width: 62px;
    margin-left: 10px;
  }
  #guideline .main_bg {
    min-width: 1080px;
    height: 410px;
    bottom: -88px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #guideline .main_bg img {
    width: 660px;
    max-width: 660px;
    left: calc(((100% - 1080px) / 2) + 784px);
  }
  @media (min-width: 751px) and (max-width: 1080px) {
    #guideline .main_bg {
      left: 0;
      transform: none;
    }
    #guideline .main_bg img {
      left: 784px;
    }
  }
}
/* sp */
@media only screen and (max-width: 750.99px) {
  #guideline {
    margin-top: calc(312 / 375 * 100vw);
  }
  #guideline h2 {
    width: calc(94 / 375 * 100vw);
  }
  #guideline .guideline_content {
    margin-top: calc(20 / 375 * 100vw);
  }
  #guideline .guideline_content dl:last-child {
    border-bottom: solid 1px #707070;
  }
  #guideline .guideline_content dl {
    padding: calc(15 / 375 * 100vw) 0 calc(20 / 375 * 100vw);
  }
  #guideline .guideline_content dl dt {
    font-size: calc(16 / 375 * 100vw);
    display: block;
    line-height: 1.6;
  }
  #guideline .guideline_content dl dd {
    margin-top: calc(10 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.6;
  }
  #guideline .donateBtn {
    margin-top: calc(30 / 375 * 100vw);
  }
  #guideline .donateBtn a {
    height: calc(80 / 375 * 100vw);
    width: 100%;
    border-radius: 6px;
    font-size: calc(15 / 375 * 100vw);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #guideline .donateBtn a img {
    width: calc(43 / 375 * 100vw);
    margin-left: calc(8 / 375 * 100vw);
  }
  #guideline .main_bg {
    height: calc(406 / 375 * 100vw);
    bottom: calc(-42 / 375 * 100vw);
    left: 0;
  }
  #guideline .main_bg img {
    position: absolute;
    width: calc(504 / 375 * 100vw);
    max-width: calc(504 / 375 * 100vw);
    left: calc(105 / 375 * 100vw);
  }
}
.movModal {
  display: none;
}