@charset "UTF-8";
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
  #style01 {
    width: 100%;
  }
  img {
    width: 100%;
  }
  /*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　ヘッダー　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
  .header {
    position: fixed;
    top: 0;
    z-index: 10000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 40px;
  }
  .header_logo {
    padding-left: 19px;
    font-size: 8px;
  }
  .header_logo img {
    width: 103.9px;
  }
  .sp_menu {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10020;
    width: 66px;
    height: 62px;
  }
  .sp_menu span {
    position: absolute;
    left: 50%;
    z-index: 10020;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: block;
    width: 28px;
    height: 2px;
    border-radius: 3px;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp_menu span:nth-child(1) {
    top: 32%;
  }
  .sp_menu span:nth-child(2) {
    top: 50%;
  }
  .sp_menu span:nth-child(3) {
    top: 68%;
  }
  .sp_menu.active span:nth-child(1) {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotateZ(135deg);
            transform: translate(-50%, -50%) rotateZ(135deg);
  }
  .sp_menu.active span:nth-child(2) {
    opacity: 0;
  }
  .sp_menu.active span:nth-child(3) {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotateZ(-135deg);
            transform: translate(-50%, -50%) rotateZ(-135deg);
  }
  .header_nav {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10010;
    display: none;
    width: calc(100% - 120px);
    padding-top: 62px;
    border-top: 1px #707070 solid;
    background: #333;
  }
  .header_nav li {
    border-top: 1px #707070 solid;
  }
  .header_nav li a {
    display: block;
    padding: 10px;
    background: #333;
    color: #fff;
    font-size: 4vw;
    text-align: center;
  }
  .header_nav li a:hover {
    background: #fff;
    color: #333;
  }
  /*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　フッター　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
  .bottom_link {
    margin-bottom: 5.71vw;
    text-align: center;
  }
  .bottom_link_privacy {
    margin-bottom: 8vw;
    font-size: 3.14vw;
  }
  .bottom_link_privacy a {
    color: #000;
  }
  .bottom_link_privacy a:hover {
    text-decoration: underline;
  }
  .bottom_link_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6.28vw;
  }
  .bl_logo01 img {
    width: 40.28vw;
  }
  .bl_logo02 img {
    width: 36vw;
  }
  .footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.71vw;
    height: 7.42vw;
    background: #800000;
    color: #fff;
    font-size: 2vw;
  }
  /*　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　main　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　*/
  .mv {
    position: relative;
    background: url("./img/mv_bg_sp.jpg") center bottom/cover no-repeat;
  }
  .mv_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .mv_sp_data {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .mv_box {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;
    bottom: 0.4285714286vw;
  }
  .mv_box_link img {
    width: 62.2857142857vw;
  }
  .mv_box_text {
    color: #fff;
    font-size: 3.42vw;
    font-weight: 500;
    line-height: 1.33;
  }
  .mv_box_text a {
    color: #fff;
    text-decoration: underline;
  }
  .mv_chara {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 24.57vw;
    display: none;
  }
  #s00 {
    padding: 7.1428571429vw;
  }
  .mv_box_link .fullwidth {
    width: 100%;
  }
  .mv_box_link .fullwidth img {
    width: 100%;
  }
  #s00 > img {
    display: none;
  }
  .s00_box {
    padding: 7.7142857143pxvw 6.8571428571pxvw;
    text-align: center;
  }
  .s00_01 {
    margin-bottom: 3.42vw;
  }
  .s00_01_title {
    color: #B90007;
    font-size: 5.42vw;
    font-weight: 900;
  }
  .s00_01_title span {
    display: inline-block;
    padding: 0 0.6vw 2vw 1.88vw;
    border-bottom: max(1px, 0.285vw) #B90007 solid;
    line-height: 1.2;
  }
  .s00_01_text {
    margin-top: 4vw;
    font-size: 3.42vw;
    font-weight: 500;
    line-height: 1.75;
  }
  .s00_01_text span {
    color: #B90007;
    font-weight: 900;
  }
  .s00_03 {
    margin-top: 8.8571428571vw;
  }
  .s00_03 .mv_box_text {
    margin-top: 3.4285714286vw;
  }
  .s00_03 .mv_box_text,
  .s00_03 .mv_box_text a {
    color: #000;
  }
  #s01 {
    border-top: max(1px, 0.285vw) #B90007 solid;
    border-bottom: max(1px, 0.285vw) #B90007 solid;
  }
  .s01_box {
    position: relative;
    border-top: max(2.5px, 0.714vw) #FFFFF5 solid;
    border-bottom: max(2.5px, 0.714vw) #FFFFF5 solid;
  }
  .s01_box01 {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
    text-align: center;
  }
  .s01_title {
    color: #fff;
    font-weight: 900;
    letter-spacing: 1;
  }
  .s01_title01_01 {
    position: relative;
    display: inline-block;
    padding: 0 1.42vw 1.28vw;
    border-bottom: max(1px, 0.285vw) #fff solid;
    font-size: 5.42vw;
  }
  .s01_title01_02 {
    margin-top: 1.28vw;
    font-size: 3.71vw;
  }
  .s01_title .icon {
    display: none;
  }
  .s01_text {
    margin-top: 4.57vw;
    margin-bottom: 4.57vw;
    color: #fff;
    font-size: 3.42vw;
    font-weight: 500;
    line-height: 1.75;
  }
  .s01_slide {
    margin: 0 3.94vw;
  }
  .s01_slide > li:not(:first-child) {
    display: none;
  }
  .s01_slide_li {
    margin: 0 6.74vw;
  }
  .s01_slide_movie {
    position: relative;
    padding-top: 44vw;
  }
  .s01_slide_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .s01_slide_li a {
    display: inline-block;
    border-radius: 0.5vw;
    background: #fff;
    overflow: clip;
  }
  .s01_slide_li img {
    width: 63.42vw;
  }
  .s01_slide_li p {
    color: #fff;
    font-size: 3vw;
    font-weight: 700;
  }
  .slick-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 200;
    width: 2.65vw;
    height: 11.62vw;
    border: none;
    font-size: 0;
  }
  .slick-prev {
    left: 0;
    background: url("./img/arrow_l.png") center/contain no-repeat;
  }
  .slick-next {
    right: 0;
    background: url("./img/arrow_r.png") center/contain no-repeat;
  }
  #s02 {
    background: #FFFFF5;
  }
  .s02_box {
    padding: 14vw 5.42vw 5.14vw;
    border-top: 7px solid #98111a;
    position: relative;
    margin-top: 4px;
  }
  .s02_box::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #98111a;
  }
  .s03_box {
    border-top: 3px solid #98111a;
    position: relative;
  }
  .s03_box::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 7px;
    background-color: #98111a;
  }
  .s02_title {
    margin-bottom: 6.28vw;
    text-align: center;
  }
  .s02_title img {
    width: 78vw;
  }
  .s02_text {
    margin-bottom: 5.14vw;
    font-size: 2.85vw;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    letter-spacing: -0.04em;
  }
  .s02_box01 {
    padding: 4.71vw 7.42vw;
    border: max(1.5px, 0.42vw) #B90007 solid;
    border-radius: 2.85vw;
    margin-bottom: 8vw;
    background: #fff;
    position: relative;
  }
  .s02_box01::after {
    position: absolute;
    top: 5.7142857143vw;
    right: -5.7142857143vw;
    width: 17.1428571429vw;
    height: 11.4285714286vw;
    background: url("./img/icon_slider_right.png") center/contain no-repeat;
    content: "";
  }
  .s02_box01::before {
    position: absolute;
    bottom: 5.7142857143vw;
    left: -5.7142857143vw;
    width: 14.2857142857vw;
    height: 11.4285714286vw;
    background: url("./img/icon_slider_left.png") center/contain no-repeat;
    content: "";
  }
  .s02_list {
    display: -ms-grid;
    display: grid;
    gap: 7.42vw;
  }
  .s02_list .slick-prev {
    left: -3vw;
    background: url("./img/arrow_l_b.png") center/contain no-repeat;
  }
  .s02_list .slick-next {
    right: -3vw;
    background: url("./img/arrow_r_b.png") center/contain no-repeat;
  }
  .s02_list > li:not(:first-child) {
    display: none;
  }
  .s02_list_li {
    margin: 0 4vw;
  }
  .s02_list_title {
    margin-bottom: 2.68vw;
  }
  .s02_list_title img {
    width: 80%;
    margin: auto;
  }
  .s02_list_img {
    margin-bottom: 2vw;
  }
  .s02_list_text {
    font-size: 2.85vw;
    font-weight: 500;
    line-height: 1.5;
  }
  .s02_box02 {
    margin-bottom: 7.42vw;
    color: #482700;
    font-size: 4.22vw;
    font-weight: 900;
    text-align: center;
  }
  .s02_box02 span {
    color: #8F7412;
    font-size: 5.31vw;
  }
  .s02_box03 {
    margin-bottom: 8.57vw;
    text-align: center;
  }
  .s02_box03_link {
    margin-bottom: 3vw;
  }
  .s02_box03_link img {
    width: 87.14vw;
    -webkit-filter: drop-shadow(1.6px 1.6px 1.6px rgba(0, 0, 0, 0.8));
            filter: drop-shadow(1.6px 1.6px 1.6px rgba(0, 0, 0, 0.8));
  }
  .s02_box03_text {
    font-size: 3.42vw;
    font-weight: 500;
  }
  .s02_box03_text a {
    color: #000;
    text-decoration: underline;
  }
  .s02_box04 {
    text-align: center;
  }
  .s02_box04 img {
    width: 89.57vw;
  }
  #s03 > div {
    padding: 9.1vw 4.3vw 8.57vw;
  }
  .s03_01 {
    margin-bottom: 5.7vw;
    font-size: 4vw;
    font-weight: 700;
    text-align: center;
  }
  .s03_02 {
    padding: 5.1vw 6.6vw;
    border-radius: 3.4vw;
    background: #f3f3f3;
  }
  .s03_02:not(:last-child) {
    margin-bottom: 9vw;
  }
  .s03_02 dt {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 6vw;
    padding-right: 7vw;
    font-size: 4vw;
    font-weight: 700;
    cursor: pointer;
  }
  .s03_02 dt span {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 6vw;
    height: 6vw;
    border-radius: 50%;
    background: #1a1311;
  }
  .s03_02 dt span:before,
  .s03_02 dt span:after {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: "";
    width: 3.4vw;
    height: 0.6vw;
    background: #fff;
  }
  .s03_02 dt span:after {
    -webkit-transform: translate(-50%, -50%) rotateZ(90deg);
            transform: translate(-50%, -50%) rotateZ(90deg);
  }
  .s03_02 dt.atcive span:after {
    opacity: 0;
  }
  .s03_02 dd {
    display: none;
    margin-top: 5.7vw;
    padding-bottom: 2.3vw;
  }
  .s03_02_text {
    margin-bottom: 0;
    font-size: 2.2857142857vw;
    line-height: 1.9;
  }
  .s03_02 dt.active span:after {
    opacity: 0;
  }
  .s03_02_link {
    text-align: center;
  }
  .s03_02_link img {
    width: 77vw;
  }
  .s03_02_text02 {
    margin-top: 4.85vw;
    font-size: 3.42vw;
    font-weight: 500;
    text-align: center;
    line-height: 1.33;
  }
  .s03_02_text02 a {
    color: #000;
    text-decoration: underline;
  }
} /* end */