@charset "UTF-8";
@media screen and (max-width:768px) {
  a:hover {
    text-decoration: none !important;
    opacity: 1 !important
  }
  .menu-trigger {
    display: block
  }
  .show_pc {
    display: none !important
  }
  .show_sp {
    display: block !important
  }
  .show_sp02 {
    display: inline !important
  }
  img {
    max-width: 100%
  }
  .pageTop {
    background: #d86018;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border: 1px solid transparent;
    position: fixed;
    right: 0;
    bottom: 20px;
    transition-duration: .25s;
    z-index: 99;
    display: none
  }
  .pageTop span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative
  }
  .pageTop span::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: '';
    width: 8px;
    height: 8px;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    top: 4px;
    margin: auto;
    transform: rotate(-45deg)
  }
  .float_link {
    position: fixed;
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    flex-direction: row;
    justify-content: center;
    height: 50px
  }
  .float_link .link_item.index {
    width: 16%;
    position: fixed;
    bottom: 5px;
    left: 3%
  }
  .float_link .link_item:not(.index) {
    position: fixed;
    top: auto;
    bottom: 8px;
    left: 4%;
    z-index: -1
  }
  .float_link .link_item.hover_float_link_sp1 {
    left: calc((16%) + 17px)
  }
  .float_link .link_item.hover_float_link_sp2 {
    left: calc((16% * 2) + 16px)
  }
  .float_link .link_item.hover_float_link_sp3 {
    left: calc((16% * 3) + 16px)
  }
  .float_link .link_item.hover_float_link_sp4 {
    left: calc((16% * 4) + 16px)
  }
  .float_link .link_item.hover_float_link_sp5 {
    left: calc((16% * 5) + 16px)
  }
  .float_link a {
    margin: 0 10px 0 0
  }
  .float_link .link_item {
    max-width: 80px;
    width: 14%
  }
  .header .logo {
    max-width: 102px;
    width: 15%;
    margin: 0 auto 30px
  }
  .gnav {
    display: none
  }
  .mainvisual {
    margin-bottom: 25px;
    padding: 2% 0 4%
  }
  .mainvisual .image00 {
    width: 77%;
    padding: 22% 0 35%
  }
  .mainvisual .image00 .logo {
    width: 30%;
    top: 28%
  }
  .mainvisual .image00 .img_text {
    width: 100%;
    top: 42%
  }
  .mainvisual .image01 {
    width: 28.5%;
    top: 12%;
    left: 22%
  }
  .mainvisual .image02 {
    width: 18%;
    top: 14.5%;
    right: 28.5%
  }
  .mainvisual .image03 {
    width: 23%;
    top: 16%;
    right: 3%
  }
  .mainvisual .image04 {
    display: none
  }
  .mainvisual .image05 {
    width: 35%;
    top: 77%;
    right: 3.5%
  }
  .mainvisual .image06 {
    max-width: 200px;
    width: 17.2%;
    top: 19%;
    left: 2%
  }
  .mainvisual .image07 {
    width: 15%;
    bottom: -2%;
    right: 25.5%
  }
  .mainvisual .image08 {
    width: 54.5%;
    bottom: 0;
    left: 1.5%
  }
  .mainvisual .image09 {
    width: 15%;
    bottom: 1.5%;
    right: 8%
  }
  .mainvisual .balloon {
    z-index: 1
  }
  .mainvisual .balloon01 {
    display: none
  }
  .mainvisual .balloon02 {
    width: 8.5%;
    top: 65%;
    right: 3.5%
  }
  .mainvisual .balloon03 {
    width: 8%;
    top: 43%;
    left: 3.5%
  }
  .mainvisual .balloon04 {
    display: none
  }
  .mainvisual .balloon05 {
    display: none
  }
  .block_heading {
    width: 120px;
    margin: 0 auto 30px;
    padding: 5px;
    font-size: .16rem;
    font-weight: 700;
    text-align: center;
    background-image: url(../img/bg/ttl_bg01.png);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }
  .intro_block01 {
    padding: 8% 0 25%
  }
  .intro_block01 .catch {
    font-size: .25rem;
    padding-bottom: 30px
  }
  .intro_block01 .catch span {
    font-size: .2rem
  }
  .intro_block01 .desc {
    font-size: .14rem;
    line-height: 1.7;
    padding-bottom: 20px
  }
  .intro_block01 .deco01 {
    width: 12%;
    top: 6%;
    left: 13%
  }
  .intro_block01 .deco02 {
    width: 8%;
    top: 7%;
    right: 13%
  }
  .intro_block01 .deco03 {
    width: 8%;
    top: 35%;
    left: 5%
  }
  .intro_block01 .deco04 {
    width: 5.5%;
    top: 15%;
    right: 5%
  }
  .intro_block01 .deco05 {
    width: 5.5%;
    top: 82%;
    left: 14%
  }
  .intro_block01 .deco06 {
    width: 14%;
    top: 55%;
    right: 5%
  }
  .intro_block02::before {
    height: 200px;
    top: -100px
  }
  .intro_block02 .list {
    padding: 3% 4%
  }
  .intro_block02 .list_item {
    width: 30%;
    min-width: 110px;
    margin-bottom: 20px
  }
  .intro_block02 .list_item p {
    font-size: .12rem;
    line-height: 1.3;
    margin-bottom: 5px
  }
  .intro_block02 .list_item p span {
    font-size: .1rem
  }
  .intro_block02 .list_item .icon {
    width: 20%;
    margin-bottom: 10px
  }
  .sec {
    padding: 5% 0
  }
  .sec > .inner {
    padding: 0 4%
  }
  .sec_title {
    margin-bottom: 16%
  }
  .sec_title .main {
    font-size: .19rem
  }
  .sec01 {
    padding: 3% 0 20%;
    background-color: #fff
  }
  .sec01 .sec_title .main_img {
    width: 60%;
    margin: 0 auto 20px
  }
  .sec01 .sec_title .title_deco {
    max-width: 167px;
    width: 15%;
    margin: 0 1%
  }
  .sec01 .schedule_list {
    padding: 30px
  }
  .sec01 .schedule_list .title {
    padding: 5px 10%;
    font-size: .18rem;
    top: -20px
  }
  .sec01 .schedule_list .arrow {
    width: 10%
  }
  .sec01 .schedule_list .arrow_prev {
    left: 7px
  }
  .sec01 .schedule_list .arrow_next {
    right: 7px
  }
  .sec01 .schedule_list .scroll_box {
    display: flex;
    gap: 5%;
    width: auto
  }
  .sec01 .schedule_list .item {
    width: 1%;
    min-width: 200px
  }
  .sec01 .schedule_list .month {
    padding-bottom: 10px;
    font-size: .2rem
  }
  .sec01 .schedule_list .item .item_box {
    padding: 10px;
    margin-bottom: 15px
  }
  .sec01 .schedule_list .item .image {
    width: 40px;
    height: 40px
  }
  .sec01 .schedule_list .item .text {
    padding-left: 4%;
    font-size: .14rem
  }
  .sec01 .schedule_block {
    padding: 13% 0
  }
  .sec01 .schedule_block01 {
    flex-direction: column;
    padding-bottom: 10%
  }
  .sec01 .schedule_block .item {
    width: 100%
  }
  .sec01 .schedule_block .item_right {
    margin-top: 15%
  }
  .sec01 .schedule_block .item .flag {
    max-width: 105px;
    width: 18%;
    max-height: 104px;
    padding: 1% 2% 0 0;
    font-size: .15rem;
    top: -20px;
    left: 13px
  }
  .sec01 .schedule_block .item .flag span {
    font-size: .18rem;
    padding-right: 5px
  }
  .sec01 .schedule_block .item .content {
    width: 90%;
    margin: 0 auto;
    padding: 0 0 10px
  }
  .sec01 .schedule_block .item_title {
    font-size: .19rem
  }
  .sec01 .schedule_block .item_date {
    margin-bottom: 10px;
    padding: 5px 0;
    font-size: .1rem
  }
  .sec01 .schedule_block .item_desc {
    font-size: .14rem
  }
  .sec01 .schedule_block .detail_btn {
    font-size: .15rem
  }
  .sec01 .schedule_block .detail_btn .arrow {
    width: 14px
  }
  .sec01 .schedule_block02 {
    flex-wrap: wrap;
    padding-bottom: 5%
  }
  .sec01 .schedule_block02 .item {
    width: 48%;
    margin-bottom: 35px
  }
  .sec01 .schedule_block02 .item .flag {
    width: 30%;
    font-size: .11rem;
    left: 10px;
    padding-top: 2%
  }
  .sec01 .schedule_block02 .item .flag span {
    font-size: .15rem;
    padding-right: 5px
  }
  .sec01 .schedule_block02 .item_title {
    font-size: .13rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
  }
  .sec01 .bottom_text {
    font-size: .2rem
  }
  .sec01 .bottom_text span {
    font-size: .15rem
  }
  .body_bg01 {
    width: 21%;
    top: 22%;
    right: 0
  }
  .body_bg02 {
    width: 18%;
    bottom: 3%;
    left: 0
  }
  .intro_block02::before {
    height: 200px;
    top: -100px
  }
  .sec02 {
    padding-bottom: 30%
  }
  .sec02::before {
    height: 200px;
    top: -100px
  }
  .sec02 .sec_title {
    margin-bottom: 5%
  }
  .sec02 .sec_title .main_img {
    width: 60%;
    margin: 0 auto 20px
  }
  .sec02 .sec_title .title_deco {
    width: 11%;
    margin: 0 2% -3%
  }
  .sec02 .sec_title .title_deco02 {
    width: 11%
  }
  .sec02 .inner {
    position: relative;
    z-index: 10;
    margin-top: -9%
  }
  .sec02 .slider_outer {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 30px 0
  }
  .camp_slider .slider_item {
    margin: 0 15px
  }
  .camp_slider .slider_item .content {
    display: flex;
    padding: 10px
  }
  .camp_slider .slider_item .content .month {
    width: 27%;
    font-size: .15rem
  }
  .camp_slider .slider_item .content .month span {
    font-size: .18rem;
    padding-right: 0
  }
  .camp_slider .slider_item .content .title {
    font-size: .18rem
  }
  .camp_slider .slider_item .content .text {
    font-size: .14rem
  }
  .camp_slider .slick-next {
    right: 8% !important
  }
  .camp_slider .slick-prev {
    left: 8% !important
  }
  .camp_slider .slick-arrow {
    width: 45px !important;
    height: 45px !important;
    top: -30%
  }
  .body_bg03 {
    width: 20%;
    bottom: 2%;
    right: 0
  }
  .sec03 {
    padding-bottom: 10%
  }
  .sec03::before {
    height: 200px;
    top: -90px
  }
  .sec03 .inner {
    position: relative;
    z-index: 10;
    margin-top: -9%
  }
  .sec03 .sec_title {
    margin-bottom: 10%
  }
  .sec03 .sec_title .main_img {
    width: 60%;
    margin: 0 auto 20px
  }
  .sec03 .column_block {
    flex-direction: column
  }
  .sec03 .column_block .item {
    width: 90%;
    margin: 0 auto
  }
  .sec03 .column_block .item .deco {
    top: -35px;
    left: 3%;
    width: 15%
  }
  .sec03 .column_block .item .catch {
    padding-bottom: 20px;
    font-size: .18rem
  }
  .sec03 .column_block .item .item_in {
    padding: 7% 10%
  }
  .sec03 .column_block .item .item_title {
    font-size: .36rem;
    padding-bottom: 20px
  }
  .sec03 .column_block .item .item_title span {
    font-size: .2rem
  }
  .sec03 .column_block .item .image {
    margin-bottom: 20px
  }
  .sec03 .column_block .item .desc {
    font-size: .15rem;
    padding-bottom: 30px
  }
  .sec03 .column_block .item .detail_btn .arrow {
    width: 14px
  }
  .sec03 .column_block .item_right {
    margin-top: 60px
  }
  .sec03 .column_block .item_right .deco {
    left: inherit;
    right: 0
  }
  .body_bg04 {
    width: 16%;
    bottom: 0;
    left: 0
  }
  .sec04 {
    padding-top: 7%
  }
  .sec04 .sec_title {
    margin-bottom: 12%
  }
  .sec04 .sec_title .main_img {
    width: 60%;
    margin: 0 auto 20px
  }
  .sec04 .chronology {
    padding: 0 0 12%
  }
  .sec04 .chronology_line {
    width: 75px
  }
  .sec04 .chronology_line .circle {
    max-width: 75px;
    font-size: .13rem
  }
  .sec04 .chronology_line .circle:not(:first-of-type) {
    font-size: .19rem
  }
  .sec04 .chronology_line .border {
    height: 230px
  }
  .sec04 .chronology_list .item {
    flex-direction: column
  }
  .sec04 .chronology_list .item_image {
    width: 60%;
    margin: 10px auto
  }
  .sec04 .chronology_list .item02 .item_image {
    margin-top: 20px
  }
  .sec04 .chronology_list .item_image .img02 {
    width: 40%;
    top: -5%;
    left: -10%
  }
  .sec04 .chronology_list .item06 .item_image img {
    max-width: 100px;
    margin: 0
  }
  .sec04 .chronology_list .item_content {
    flex: 1
  }
  .sec04 .chronology_list .item_content .tag {
    font-size: .14rem;
    max-width: 110px;
    margin-bottom: 5px
  }
  .sec04 .chronology_list .item_content .item_title {
    font-size: .17rem;
    line-height: 1.5;
    margin-bottom: 10px
  }
  .sec04 .chronology_list .item_content .item_text {
    font-size: .13rem
  }
  .sec05 {
    padding-bottom: 8%
  }
  .sec05 .sec_title {
    margin-bottom: 4%
  }
  .sec05 .sec_title .main_img {
    width: 60%;
    margin: 0 auto 20px
  }
  .sec05 .desc {
    font-size: .14rem;
    padding: 15px 0
  }
  .sec05 .block {
    flex-direction: column;
    padding: 8% 0
  }
  .sec05 .block .link_image {
    width: 85%;
    margin: 0 auto 50px
  }
  .sec05 .map_slider_outer {
    width: 95%;
    margin: 0 auto;
    padding: 6% 10% 2%
  }
  .sec05 .map_slider_outer .deco {
    position: absolute
  }
  .sec05 .map_slider .desc01 {
    padding-top: 5px;
    font-size: .2rem
  }
  .sec05 .map_slider .desc01 img {
    width: 30px;
    margin-right: 7px
  }
  .sec05 .map_slider .desc02 {
    font-size: .14rem
  }
  .map_slider .slick-next {
    right: -9% !important
  }
  .map_slider .slick-prev {
    left: -9% !important
  }
  .map_slider .slick-arrow {
    width: 15px !important;
    height: 32px !important;
    top: 40%
  }
  .sec05 .balloon01 {
    display: none
  }
  .sec05 .balloon02 {
    width: 8%;
    top: 8%;
    left: 10%
  }
  .sec05 .balloon03 {
    width: 8%;
    top: 12%;
    right: 10%
  }
  .sec05 .balloon04 {
    display: none
  }
  .sec05 .balloon05 {
    display: none
  }
  .sec05 .balloon06 {
    display: none
  }
  .intro_block01 .bg_line01 {
    transform: translateY(-553px) translateX(119px)
  }
  .intro_block01 .bg_line02 {
    transform: translateY(-275px) translateX(-211px)
  }
  .intro_block01 .bg_line03 {
    transform: translateY(-616px) translateX(95px)
  }
  .intro_block01 .bg_line04 {
    transform: translateY(-345px) translateX(-98px)
  }
  .sec02 .memo {
    padding: 50px 0;
    font-size: .24rem
  }
  .schedule_end {
    margin: 0 auto 60px;
    padding: 20px 2% 3%;
    justify-content: flex-start
  }
  .schedule_end .title {
    font-size: .19rem
  }
  .sec01 .schedule_block .schedule_end .item {
    max-width: 100%;
    width: 48%;
    margin: 0 auto 20px;
    padding: 10px 10px 0
  }
  .sec01 .schedule_block .schedule_end .item .flag {
    width: 25%;
    left: 10px;
    font-size: .17rem
  }
  .sec01 .schedule_block .schedule_end .item .flag span {
    font-size: .2rem
  }
  .sec01 .schedule_block .schedule_end .item_title {
    font-size: .15rem
  }
  .sec01 .schedule_block .schedule_end .item_date {
    font-size: .11rem
  }
  .sec01 .schedule_block .schedule_end .item_desc {
    font-size: .1rem
  }
  .sec01 .schedule_block02 {
    gap: 1%
  }
  .body_bg01 {
    top: 32.5%
  }
  .camp_slider .slick-prev {
    left: 4% !important
  }
  .camp_slider .slick-next {
    right: 4% !important
  }
  .low_mainvisual {
    padding: 0 2%
  }
  .mv_block {
    padding: 20px 0
  }
  .mv_block .heading {
    width: 54%;
    padding-right: 1%;
    font-size: .26rem
  }
  .mv_block .heading span {
    font-size: .12rem
  }
  .mv_block .image {
    width: 46%
  }
  .staff {
    margin-bottom: -1rem;
    padding: 8% 2%;
    background-image: url(../img/staff/bg_sp.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%
  }
  .staff .lead {
    padding-bottom: 25px;
    line-height: 1.7;
    font-size: .14rem
  }
  .staff .lead span {
    font-size: .19rem;
    padding-bottom: 15px;
  }
  .staff .list .item {
    margin-bottom: 0px
  }
  .staff .list .item_type_01 {
    width: 49%
  }
  .staff .list .item_type_02 {
    width: 100%
  }
  .staff .list .pc_mt50 {
    margin-top: 0
  }
  .staff .list .pc_mt30 {
    margin-top: 0
  }
  .staff .list .pc_mt-35 {
    margin-top: 0
  }
  .staff .list .item.sp_mt_30 {
    margin-top: 30px
  }
  .magazin .inner {
    padding: 0 2%
  }
  .magazin_mv01 {
    margin-top: 100px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px
  }
  .magazin_mv01 .heading {
    width: 67%;
    font-size: .2rem
  }
  .magazin_mv01 .heading .sub {
    font-size: .13rem
  }
  .magazin_mv01 .image {
    width: 33%;
    padding-right: 0
  }
  .reform {
    padding: 8% 3%
  }
  .magazin_top {
    margin-bottom: 30px
  }
  .magazin_top .lead_title {
    font-size: .2rem;
    margin-bottom: 20px
  }
  .magazin_top .lead_title .deco01 {
    width: 10%;
    left: 0;
    top: -13%
  }
  .magazin_top .lead_title .deco02 {
    width: 8%;
    right: 2%;
    top: 10%
  }
  .magazin .lead_title span {
    font-size: .14rem;
    line-height: 1.5
  }
  .magazin .lead {
    margin-bottom: 10px;
    font-size: .14rem
  }
  .magazin .lead_memo {
    font-size: .11rem;
    text-align: left
  }
  .reform01 {
    margin-bottom: 45px;
    padding: 30px 5% 0
  }
  .reform01 .text {
    font-size: .15rem;
  }
  .reform01 .text::before, .reform01 .text::after {
    width: 22px;
    margin: 0 5px
  }
  .reform01 .images {
    flex-direction: column;
    padding: 20px 0 0
  }
  .reform01 .images .image {
    width: 100%;
    margin-bottom: 20px
  }
  .magazin_tpl01 {
    margin-bottom: 35px;
    padding: 10% 4%
  }
  .tpl_title {
    margin-bottom: 30px
  }
  .tpl_title .icon {
    width: 30px;
    margin-right: 10px
  }
  .tpl_title .text {
    font-size: .18rem
  }
  .border_title {
    margin-bottom: 20px
  }
  .border_title span {
    margin: 0 10px;
    font-size: .16rem
  }
  .reform02 {
    padding-bottom: 45px
  }
  .reform02 .image {
    margin: 0 auto 20px
  }
  .reform02_01 {
    padding-bottom: 30px
  }
  .reform02_01 .text01 {
    margin-bottom: 10px;
    font-size: .17rem
  }
  .reform02_01 .text01 span {
    font-size: .26rem
  }
  .reform02_01 .text02 {
    font-size: .14rem
  }
  .reform02_02 .text01 {
    font-size: .14rem
  }
  .reform02_02 .box {
    padding: 40px 0 0
  }
  .bubble {
    margin: 0 auto 15px;
    padding: 5px 5%;
    font-size: .15rem
  }
  .reform02_02 .box_in {
    flex-direction: column;
    padding: 10px 0
  }
  .reform02_02 .box_in01 {
    margin-bottom: 30px
  }
  .reform02_02 .box_in .item {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 25px
  }
  .reform02_02 .box_in .item img {
    margin-bottom: 5px
  }
  .reform02_02 .box_in .item .text01 {
    margin-bottom: 7px;
    font-size: .13rem
  }
  .reform02_02 .box_in .item .text02 {
    font-size: .14rem;
    line-height: 1.5
  }
  .reform02 .deco01 {
    width: 35%;
    right: -3%;
    bottom: -1%
  }
  .reform03_01 {
    flex-direction: column
  }
  .reform03_01 .item {
    width: 100%;
    padding: 35px 3%
  }
  .reform03_01 .item .tpl_title .text {
    padding-top: 0;
    font-size: .18rem
  }
  .reform03_01 .item_in {
    padding: 0 3% 30px
  }
  .reform03_01 .item .ranking {
    margin-bottom: 25px
  }
  .reform03_01 .item .ranking li {
    margin-bottom: 15px;
    font-size: .17rem
  }
  .reform03_01 .item .ranking li span {
    font-size: .13rem
  }
  .reform03_01 .item .text01 {
    font-size: .14rem
  }
  .reform03_01 .item .memo {
    font-size: .12rem
  }
  .reform04_01 .image {
    width: 100%
  }
  .reform04_01 .deco01 {
    width: 26%;
    bottom: 14%;
    right: 0
  }
  .reform04_02 .border_title {
    margin-bottom: 20px
  }
  .reform04_02 p {
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: .14rem
  }
  .reform05 p {
    padding: 10px 0 30px;
    font-size: .13rem;
    text-align: left
  }
  .reform05 .deco01 {
    width: 17%;
    top: 18%;
    right: -2%
  }
  .reform05 .deco02 {
    width: 22%;
    bottom: -10px;
    left: -10px
  }
  .reform06_01 .border_title {
    margin-bottom: 20px
  }
  .reform06_01 p {
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: .14rem
  }
  .reform06 .deco01 {
    width: 34%;
    top: -3%;
    right: -4%
  }
  .reform06 .deco02 {
    width: 17%;
    bottom: -2%;
    left: -2%
  }
  .reform07 {
    margin-bottom: 55px;
    padding-bottom: 20%
  }
  .reform07 .border_title {
    margin-bottom: 30px
  }
  .reform07 .image {
    margin-bottom: 30px
  }
  .reform07 .text01 {
    margin: auto;
    font-size: .14rem;
    line-height: 1.9
  }
  .reform07 .deco01 {
    width: 16%;
    top: 16%;
    right: 4%
  }
  .reform07 .deco02 {
    width: 30%;
    bottom: -4%;
    left: 3%
  }
  .reform08 {
    padding: 35px 0
  }
  .reform08_01 .text01 {
    margin-bottom: 40px;
    font-size: .2rem;
    text-align: center
  }
  .reform08_01 .text01::before, .reform08_01 .text01::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 2px;
    margin: 0
  }
  .reform08_01 .text02 {
    font-size: .14rem;
    line-height: 1.8
  }
  .reform08_01 .deco01 {
    width: 8%;
    left: -2%;
    top: 15%
  }
  .reform08_01 .deco02 {
    width: 7%;
    right: 0;
    bottom: -2%
  }
  .reform08 .images {
    gap: 2%;
    padding: 40px 0
  }
  .reform08 .images .item {
    width: 49%;
    margin-bottom: 8px
  }
  .reform08 .text03 {
    font-size: .16rem
  }
  .reform08 .link_btn {
    max-width: 200px;
    width: 100%;
    margin: 20px auto;
    padding: 7px;
    font-size: .15rem
  }
  .magazin_bottom {
    padding: 10% 0 0
  }
  .magazin_bottom .title {
    margin-bottom: 30px;
    font-size: .22rem
  }
  .magazin_bottom .box {
    flex-direction: column
  }
  .magazin_bottom .box .item {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px 0
  }
  .magazin_bottom .box .item .content .sub {
    font-size: .14rem
  }
  .magazin_bottom .box .item .content .main {
    font-size: .18rem
  }
  .magazin_bottom .box .item .content .btn {
    max-width: 200px;
    width: 80%;
    margin: 15px auto 0;
    padding: 7px;
    font-size: .13rem
  }
  .magazin_mv02 {
    margin: 20px auto
  }
  .magazin_mv02 .heading {
    width: 58%;
    padding-right: 1%;
    font-size: .18rem
  }
  .magazin_mv02 .heading .sub {
    font-size: .22rem
  }
  .magazin_mv02 .image {
    width: 42%
  }
  .past-present {
    margin-bottom: -1rem;
    padding: 8% 3%
  }
  .border_title02 {
    margin-bottom: 30px
  }
  .border_title02 span {
    font-size: .24rem
  }
  .border_title02::before, .border_title02::after {
    height: 2px
  }
  .past-present .magazin_top {
    margin-bottom: 30px
  }
  .past-present .lead02 {
    margin-bottom: 15px;
    font-size: .2rem
  }
  .past-present .desc {
    max-width: 100%;
    padding: 0;
    font-size: .14rem;
    line-height: 1.7
  }
  .magazin_tpl02 {
    margin-top: 55px;
    padding: 12% 4% 0
  }
  .magazin_tpl02 .tpl_title02 {
    width: fit-content;
    min-width: 230px;
    padding: 7px 5%;
    font-size: .18rem;
    top: -20px
  }
  .magazin_tpl02 .tpl_title02._type02 {
    width: fit-content
  }
  .magazin_tpl02 .catch {
    margin-bottom: 15px;
    font-size: .16rem
  }
  .magazin_tpl02 .text {
    margin: 0 auto 25px;
    font-size: .14rem
  }
  .magazin_tpl02 .box {
    gap: 4%;
    padding: 10px 0
  }
  .magazin_tpl02 .box .item {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 30px
  }
  .magazin_tpl02 .box .item .text01 {
    margin-bottom: 7px;
    padding: 0 7px;
    font-size: .12rem;
    color: #036;
  }
  .magazin_tpl02 .box .item .text02 {
    padding: 0 7px;
    font-size: .14rem
  }
  .past-present01_01 .deco01 {
    width: 11%;
    left: -4%;
    bottom: -5%
  }
  .past-present01_00 {
    padding-top: 50px
  }
  .past-present01_03 .deco01 {
    width: 11%;
    right: 0%;
    top: -3%
  }
  .past-present01_04, .past-present01_05 {
    flex-direction: column
  }
  .past-present01_04_in, .past-present01_05_in {
    width: 100%;
    padding: 12% 4% 0
  }
  .magazin_tpl02 .point {
    margin: 20px 0 0;
    padding: 20px 5% 20px 21%
  }
  .magazin_tpl02 .point .icon {
    width: 16vw;
    left: -6%
  }
  .magazin_tpl02 .point .text {
    margin: 0;
    font-size: .14rem
  }
  .magazin_tpl02 .point02 {
    width: 100%;
    margin: 0 auto;
    padding: 20px 5% 20px 21%
  }
  .magazin_tpl02 .point02 .icon {
    left: -4%
  }
  .past-present01_06 {
    margin-top: 55px
  }
  .past-present01_06 .point02 {
    margin: 0 auto 20px
  }
  .past-present01_06 .deco01 {
    width: 17%;
    top: -2%;
    left: -2%
  }
  .past-present02 {
    padding: 12% 0 10%
  }
  .past-present02 .title {
    margin-bottom: 20px;
    font-size: .2rem
  }
  .past-present02 .title .img {
    width: 12%;
    margin: 0 4%
  }
  .magazin_tpl03 {
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 20px;
    padding: 0
  }
  .magazin_tpl03 .image {
    position: relative;
    max-width: 100%;
    width: 100%
  }
  .magazin_tpl03 .content {
    width: 100%;
    padding: 8% 5%
  }
  .magazin_tpl03 .label {
    margin-bottom: 20px;
    padding: 5px;
    font-size: .16rem
  }
  .magazin_tpl03 .cont_title {
    margin-bottom: 20px;
    font-size: .18rem
  }
  .magazin_tpl03 .content .text {
    font-size: .14rem
  }
  .magazin_tpl03:nth-of-type(even) {
    flex-direction: column
  }
  .magazin_tpl03:nth-of-type(even) .content {
    padding: 8% 5%
  }
  .past-present03 {
    padding: 40px 0
  }
  .past-present03_in {
    flex-direction: column
  }
  .past-present03_in .content {
    width: 100%;
    margin: 0
  }
  .past-present03_in .content p {
    font-size: .2rem
  }
  .past-present03_in .border_title {
    margin-bottom: 20px
  }
  .past-present03_in .border_title::before, .past-present03_in .border_title::after {
    width: 60%
  }
  .past-present03_in .image {
    width: 100%;
    margin: 30px auto 0
  }
  .past-present .magazin_bottom .box .item .content .main {
    font-size: .17rem
  }
  .magazin .link_btn {
    max-width: 320px;
    width: 80%
  }
  .future {
    margin-bottom: -1rem;
    padding: 8% 3%
  }
  .future .lead02 {
    margin-bottom: 15px;
    font-size: .2rem
  }
  .future .lead02 span {
    margin-bottom: 5px
  }
  .future .lead02 span::before, .future .lead02 span::after {
    display: inline-block;
    width: 23px
  }
  .future .desc {
    max-width: 100%;
    padding: 0;
    font-size: .14rem;
    line-height: 1.7
  }
  .future .magazin_tpl02 .box {
    padding: 10px 0 20px
  }
  .magazin_tpl02 .box02 {
    max-width: 100%;
    margin: 10px auto 0;
    flex-direction: column
  }
  .magazin_tpl02 .box02 .content {
    margin: 0 auto 20px;
    padding: 15px;
    font-size: .14rem;
    line-height: 1.7
  }
  .magazin_tpl02 .box02 .image {
    max-width: 100%;
    width: 80%;
    margin: 0 auto 20px
  }
  .future01_02 .deco01 {
    width: 16%;
    right: 2%;
    bottom: -3%
  }
  .future01_00 {
    padding-top: 90px
  }
  .future01_05 .deco01 {
    width: 25%;
    bottom: -4%;
    left: -2%
  }
  .future01_06 .box {
    flex-direction: column;
    align-items: center;
    max-width: 600px;
    margin: 0 auto
  }
  .future01_06 .point {
    width: 100%;
    margin: 0 auto
  }
  .future02 {
    padding: 8% 0
  }
  .future02 .title {
    margin-bottom: 20px;
    font-size: .2rem
  }
  .future02 .title .img {
    width: 12%;
    margin: 0 4%
  }
  .future02_in:nth-of-type(2) .image {
    max-width: 100%;
    width: 100%;
    margin-right: 0
  }
  .future02_in:nth-of-type(2) .content {
    max-width: 100%;
    width: 100%
  }
  .future03 {
    position: relative;
    padding: 0 0 50px;
    color: #036
  }
  .future03 .text01 {
    margin-bottom: 20px;
    font-size: .22rem
  }
  .future03 .text02 {
    padding: 0 5%;
    font-size: .14rem
  }
  .future03 .deco01 {
    width: 20%;
    right: -3%;
    bottom: -5%
  }
  .future .magazin_bottom .box .item:last-of-type .content .main {
    font-size: .17rem
  }
	
	
.item_last{
    padding-bottom: 15%;
	
}
	
	
}