@charset "utf-8";

/*-------------------- contents --------------------*/

/*--- 00-common ---*/

.html_area {
    background: #e4e7ec;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.map_area {
    margin-bottom: 75px;
    position: relative;
}
.map img {
    border-radius: 20px;
}
.map_pin {
    position: absolute;
    z-index: 2;
    margin: -120px 0 0 -48px;
}
.map_pin img {
    width: 96px;
    height: 120px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .html_area {
        height: 50vw;
    }
    .anker {
        margin-top: -4vw;
        padding-top: 4vw;
    }
    
    .map_area {
        margin-bottom: 6vw;
    }
    .map img {
        border-radius: 1.5vw;
    }
    .map_pin {
        margin: -12vw 0 0 -4.8vw;
    }
    .map_pin img {
        width: 9.6vw;
        height: 12vw;
    }

}
@media screen and (max-width: 479px){

    .html_area {
        height: 50vw;
    }
    .anker {
        margin-top: -50px;
        padding-top: 50px;
    }
    .map_pin {
        margin: -90px 0 0 -36px;
    }
    .map_pin img {
        width: 72px;
        height: 90px;
    }

}

/*--- 01-areatop ---*/

.mv_slide {
    position: relative;
}
.mv_slide li img {
    width: 100%;
}
.mv_slide li.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.mv_slide li.youtube iframe {
    width: 100%;
    height: 100%;
}
.mv_slide li .sp {
    display: none;
}
.mv_area_bottom {
    display: block;
    background: #e3f0f2;
    height: 160px;
}
.mv_area_bottom.type_fuji {
    background: url("/shared/img/common/bg.png") center;
    border-bottom: 1px solid #447cc2;
}
.mv_area .slick-arrow {
    position: absolute;
    right: 120px;
    bottom: -50px;
    display: block;
    width: 70px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    transition: .25s;
    cursor: pointer;
}
.mv_area .slick-arrow span {
    position: absolute;
    top: 15px;
    left: 20px;
    display: block;
    width: 50px;
    height: 1px;
    background: #447cc2;
}
.mv_area .slick-arrow span::after {
    content: "";
    margin: auto;
    position: absolute;
    top: calc(50% - 8px);
    right: 3px;
    width: 15px;
    height: 15px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(45deg);
}
.mv_area .slick-arrow.slick_prev {
    right: 280px;
}
.mv_area .slick-arrow.slick_prev span {
    left: 0;
}
.mv_area .slick-arrow.slick_prev span::after {
    right: auto;
    left: 3px;
    transform: rotate(-135deg);
}
.mv_area .slick-arrow:hover {
    right: 110px;
}
.mv_area .slick-arrow.slick_prev:hover {
    right: 290px;
}
.mv_area .slick_num {
    position: absolute;
    width: 130px;
    right: 170px;
    bottom: -45px;
    color: #c4c4c4;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
}
.mv_area .slick_num .all_count {
    color: #447cc2;
}
.mv_area.mv_single .slick-arrow,
.mv_area.mv_single .slick_num {
    display: none!important;
}

/* menu */

.mv_nav {
    display: flex;
}
.mv_info {
    position: relative;
    z-index: 2;
    display: flex;
    border: 1px solid #447cc2;
    background: #fff;
    width: 420px;
    margin-left: -.4vw;
    transform: skewX(-5deg);
}

.mv_info_time {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70%;
    height: calc(80px + 9px);
    border-right: 1px solid #447cc2;
}
.mv_info_time p {
    color: #447cc2;
    font-size: 14px;
    text-align: center;
    letter-spacing: 1px;
    transform: skewX(5deg);
}
.mv_info_time p span {
    display: block;
    margin-top: 10px;
    font-size: 26px;
    font-weight: bold;
}
.mv_info_weather {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30%;
    height: calc(80px + 9px);
}
.mv_info_weather > div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
}
.mv_info_weather img {
    width: 40px;
    transform: skewX(5deg);
}

.mv_menu {
    position: relative;
    z-index: 3;
    display: flex;
}
.mv_menu li {
    margin-left: -.4vw;
    width: 320px;
    transform: skewX(-5deg);
}
.mv_menu li a {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 0 30px;
    background: #fff;
    border: 1px solid #447cc2;
    border-bottom: 10px solid #447cc2;
}
.mv_menu li a:hover {
    background: #e3f0f2;
    text-decoration: none;
}
.mv_menu li a p {
    font-size: 18px;
    font-weight: 500;
    line-height: 30px;
    transform: skewX(5deg);
}
.mv_menu li.mod_btn_arrow a::before,
.mv_menu li.mod_btn_arrow a::after {
    right: 30px;
}
.mv_menu li.mod_btn_arrow a:hover::before,
.mv_menu li.mod_btn_arrow a:hover::after {
    right: 15px;    
}

/* pickup */

.pickup_area {
    background: #e3f0f2;
    padding-bottom: 120px;
}
.pickup_area_title {
    padding: 80px 0 40px;
    background: url("/shared/img/top/text_pickup.png") no-repeat;
    background-position: right top;
}
.pickup_area .top_pickup_list {
    margin-top: -40px;
}
.pickup_area .top_pickup_list::after{
    width: 30%;
}
.pickup_area .top_pickup_list li,
.pickup_area .top_pickup_list .search_item {
    width: 30%;
}
.pickup_area .top_pickup_pic img {
    width: 90%;
}

/* information */

.info_area {
    padding-top: 30px;
}
.info_area .top_info_title {
    margin: 0;
}
.info_area .mod_title_h2 {
    border-bottom: none;
    margin: 0 0 40px;
}    
.info_area .top_info_list {
    margin-left: 0;
}

@media screen and (max-width: 1600px){
    
    .mv_area .slick-arrow {
        right: 80px;
    }
    .mv_area .slick-arrow.slick_prev {
        right: 240px;
    }
    .mv_area .slick-arrow:hover {
        right: 70px;
    }
    .mv_area .slick-arrow.slick_prev:hover {
        right: 250px;
    }
    .mv_area .slick_num {
        right: 130px;
    }

}
@media screen and (min-width: 480px) and (max-width: 1439px){

    .mv_area_bottom {
        height: 12vw;
    }
    .mv_area .slick-arrow {
        right: 4vw;
        bottom: -4.5vw;
        width: 6vw;
        height: 3vw;
    }
    .mv_area .slick-arrow span {
        width: 4vw;
        top: 1.5vw;
        left: 2vw;
    }
    .mv_area .slick-arrow span::after {
        top: calc(50% - .5vw);
        right: .3vw;
        width: 1vw;
        height: 1vw;
    }
    .mv_area .slick-arrow.slick_prev {
        right: 16vw;
    }
    .mv_area .slick-arrow.slick_prev span {
        left: 0;
    }
    .mv_area .slick-arrow.slick_prev span::after {
        right: auto;
        left: .3vw;
    }
    .mv_area .slick-arrow:hover {
        right: 3vw;
    }
    .mv_area .slick-arrow.slick_prev:hover {
        right: 17vw;
    }
    .mv_area .slick_num {
        width: 10vw;
        right: 8vw;
        bottom: -3.7vw;
        font-size: 1.6vw;
    }

    /* menu */

    .mv_info {
        width: 30vw;
        margin-left: -1vw;
    }

    .mv_info_time {
        height: calc(5.5vw + .75vw - 2px);
    }
    .mv_info_time p {
        font-size: 1.2vw;
    }
    .mv_info_time p span {
        margin-top: .75vw;
        font-size: 2vw;
    }
    .mv_info_weather {
        height: calc(5.5vw + .75vw - 2px);
    }
    .mv_info_weather > div {
        width: 3vw;
        height: 3vw;
    }
    .mv_info_weather img {
        width: 3vw;
    }

    .mv_menu li {
        margin-left: -1vw;
        width: 22vw;
    }
    .mv_menu li a {
        height: 5.5vw;
        padding: 0 2vw;
        border-bottom-width: .75vw;
    }
    .mv_menu li a p {
        font-size: 1.5vw;
        line-height: 1.875;
    }
    .mv_menu li.mod_btn_arrow a::before,
    .mv_menu li.mod_btn_arrow a::after {
        right: 2vw;
    }
    .mv_menu li.mod_btn_arrow a:hover::before,
    .mv_menu li.mod_btn_arrow a:hover::after {
        right: 1.5vw;    
    }
    
    /* pickup */

    .pickup_area {
        padding-bottom: 9vw;
    }
    .pickup_area_title {
        padding: 6vw 0 3vw;
        background-size: 60% auto;
        background-position: right top 2.5vw;
    }
    .pickup_area .top_pickup_list {
        margin-top: -3vw;
    }
    .pickup_area .top_pickup_list::after{
        width: 32%;
    }
    .pickup_area .top_pickup_list li {
        width: 32%;
    }

}
@media screen and (min-width: 480px) and (max-width: 1024px){
    
    /* information */

    .info_area {
        padding-top: 0;
    }
    .info_area .mod_title_h2 {
        margin: 0 0 3vw;
    }    
    
}
@media screen and (max-width: 479px){
    
    .mv_slide li .pc {
        display: none;
    }
    .mv_slide li .sp {
        display: block;
    }

    .mv_area_bottom {
        height: auto;
    }
    .mv_area_bottom.type_fuji {
        height: 120px;
    }
    .mv_area .slick-arrow {
        right: 20px;
    }
    .mv_area .slick-arrow.slick_prev {
        right: 180px;
    }
    .mv_area .slick-arrow:hover {
        right: 10px;
    }
    .mv_area .slick-arrow.slick_prev:hover {
        right: 190px;
    }
    .mv_area .slick_num {
        right: 70px;
    }

    /* menu */

    .mv_nav {
        display: block;
        padding-top: 80px;
    }
    .mv_info {
        width: 100vw;
        margin-left: -2vw;
    }

    .mv_info_time {
        width: 66%;
        height: 75px;
    }
    .mv_info_weather {
        width: 34%;
        height: 75px;
    }

    .mv_menu {
        display: block;
    }
    .mv_menu li {
        margin-top: -1px;
        margin-left: -2vw;
        width: calc(100vw - 5px);
    }
    .mv_menu li a {
        height: 70px;
    }
    .mv_menu li.mod_btn_arrow a::before,
    .mv_menu li.mod_btn_arrow a::after {
        right: 30px;
    }
    .mv_menu li.mod_btn_arrow a:hover::before,
    .mv_menu li.mod_btn_arrow a:hover::after {
        right: 15px;    
    }

    /* pickup */

    .pickup_area {
        padding-bottom: 260px;
    }
    .pickup_area_title {
        padding: 70px 0 9vw;
        background-size: 100% auto;
        background-position: right bottom;
    }
    .pickup_area_title .mod_title_h2 {
        background: #e3f0f2;
        margin-bottom: 9vw;
    }
    .pickup_area .top_pickup_list {
        margin-top: 25px;
    }
    .pickup_area .top_pickup_list::after{
        width: 48%;
    }
    .pickup_area .top_pickup_list li {
        width: 48%;
    }
    
    /* information */

    .info_area {
        padding-top: 0;
    }

}

/*--- 02-attraction ---*/

/*- list -*/

.search_area {
    position: relative;
    display: block;
    background: url("/shared/img/common/bg.png");
    padding: 120px 0 40px;
}
.search_area.bg_none {
    background: none;
    background: #fff;
}
.search_area > span {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 340px;
    background: #fff;
}
.search_area.bg_none > span {
    border-bottom: 1px solid #447cc2;
}
.search_area .wrap_middle {
    position: relative;
    z-index: 2;
}
.search_hide {
    display: none;
}
.search_accordion.mod_accordion {
    margin-bottom: 200px;
}
.search_accordion.mod_accordion.open {
    margin-bottom: 60px;
}
.search_accordion.mod_accordion dt {
    padding: 30px 60px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
.search_accordion.mod_accordion dd {
    padding: 0;
    background: #e3f0f2;
}
.search_accordion.mod_accordion dt span {
    top: 30px;
    right: 60px;
    width: 1px;
    height: 40px;
}
.search_accordion.mod_accordion dt span::after {
    position: absolute;
    content: "";
    bottom: 3px;
    right: -10px;
    width: 20px;
    height: 20px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(135deg);
}
.search_accordion.mod_accordion dt.minus span::after {
    display: block;
    bottom: auto;
    top: 3px;
    transform: rotate(-45deg);
}
.search_accordion.mod_accordion dt span:nth-of-type(2) {
    display: none;
}

.search_list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #447cc2;
    padding: 30px 40px 10px;
}
.search_accordion_single .search_list {
    padding: 60px 40px 40px;
}
.search_list li {
    margin: 0 20px 20px 0;
}
.search_list li label {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    background: #fff;
    border: 1px solid #447cc2;
    border-radius: 30px;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
}
.search_list li label.on {
    background: #ebf5f6;
}
.search_list_text {
    display: block;
    width: 100%;
    margin: -15px 0 0;
    font-size: 14px;
    text-align: right;
}

.search_list input[type="radio"],
.search_list input[type="checkbox"],
.inquiry_radio input[type="radio"],
.inquiry_checkbox input[type="checkbox"],
.inquiry_privacy_check input[type="checkbox"] {
    display: none;
}
.search_list .radio_parts,
.search_list .checkbox_parts,
.inquiry_radio .radio_parts,
.inquiry_checkbox .checkbox_parts,
.inquiry_privacy_check .checkbox_parts {
    position: relative;
    padding-left: 40px;
    margin-right: 20px;
}
.search_list .radio_parts::before,
.search_list .checkbox_parts::before,
.inquiry_radio .radio_parts::before,
.inquiry_checkbox .checkbox_parts::before,
.inquiry_privacy_check .checkbox_parts::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 24px;
    height: 24px;
    border: 1px solid #bcc2cb;
    border-radius: 50%;
}
.inquiry_radio .radio_parts::before,
.inquiry_checkbox .checkbox_parts::before,
.inquiry_privacy_check .checkbox_parts::before {
    top: 0;
}
.search_list .checkbox_parts::before,
.inquiry_checkbox .checkbox_parts::before,
.inquiry_privacy_check .checkbox_parts::before {
    border-radius: 8px;
}
.search_list label.on .radio_parts::before,
.search_list label.on .checkbox_parts::before,
.inquiry_radio label.on .radio_parts::before,
.inquiry_checkbox label.on .checkbox_parts::before,
.inquiry_privacy_check label.on .checkbox_parts::before {
    border-color: #447cc2;
}
.search_list input[type="radio"]:checked + .radio_parts::after,
.search_list input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_radio input[type="radio"]:checked + .radio_parts::after,
.inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 6px;
    width: 14px;
    height: 14px;
}
.inquiry_radio input[type="radio"]:checked + .radio_parts::after,
.inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
    top: 6px;
}
.search_list input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
    top: -1px;
    left: 8px;
    width: 6px;
    height: 12px;
    transform: rotate(40deg);
    border-bottom: 5px solid #447cc2;
    border-right: 5px solid #447cc2;
}
.inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
.inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
    top: 3px;
}
.search_list input[type="radio"]:checked + .radio_parts::after,
.inquiry_radio input[type="radio"]:checked + .radio_parts::after {
    background: #447cc2;
    border-radius: 50%;
}

/* result */

.search_results .search_item {
    margin-bottom: 60px;
}
.search_results .search_item a {
    color: #222325;
    text-decoration: none;
}
.search_results .search_item a:hover {
    opacity: .8;
}
.search_results .search_item .mod_btn_single {
    margin-top: 10px;
}
.search_results .search_item .mod_btn_single a {
    color: #447cc2;
}

.search_result_head {
    position: relative;
    z-index: 1;
    line-height: 1.2;
}
.search_result_head,
.search_result_figure {
    position: relative;
    display: inline-block;
    padding: 25px 60px 25px 40px;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-left: 1px solid #447cc2;
    color: #447cc2;
    font-size: 40px;
    font-weight: bold;
    font-style: italic;
    letter-spacing: 2px;
}
.search_result_head::after,
.search_result_figure::after {
    transform: skewX(-5deg);
    content: "";
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: -1px;
    right: -4px;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
}
.search_result_figure {
    position: absolute;
    z-index: 3;
    top: -1px;
    right: -10px;
    padding: 20px;
    min-width: 250px;
    background: #447cc2;
    color: #fff;
    font-size: 26px;
    font-style: normal;
    text-align: center;
}
.search_result_figure::after {
    background: #447cc2;
}
.search_result_box {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    padding: 40px 50px 30px;
    border: 1px solid #447cc2;
    background: #fff;
}
.search_result_pic {
    width: 47.5%;
}
.search_result_pic img {
    border-radius: 20px;
}
.search_result_conts {
    width: 47.5%;
}
.search_result_title {
    transform: skewX(-5deg);
    margin: 60px 0 30px;
    padding: 0 5px;
    color: #447cc2;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
}
.search_result_title span {
    display: inline;
    background: linear-gradient(transparent 60%, #dbecee 30%);
}
.specs {
    margin-bottom: 30px;
    border-top: 1px solid #447cc2;
}
.specs dl {
    display: flex; 
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    border-bottom: 1px solid #447cc2;
}
.specs dl dt {
    width: 160px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #447cc2;
    font-weight: 500;
}
.specs dl dd {
    width: calc(100% - 160px);
}
.specs dl dd p {
    font-size: 14px;
    line-height: 1.5;
}
.specs dl dd p span {
    font-size: 12px;
}
.specs_icon {
    width: 48px;
}
.specs_icon img,
.specs_icon svg {
    width: 48px;
    height: 48px;
}
.specs_text {
    width: calc(100% - 48px - 20px);
    padding-left: 20px;
}
.specs dl.specs_price dt {
    width: 48px;
} 
.specs dl.specs_price dd {
    width: calc(100% - 48px - 20px);
    color: #447cc2;
    font-size: 16px;
    font-weight: 500;
} 

.search_result_tag {
    display: flex;
    flex-wrap: wrap;
}
.search_result_tag li {
    margin: 0 10px 10px 0;
    padding: 15px 20px;
    background: #fff;
    border: 1px solid #447cc2;
    border-radius: 30px;
    font-size: 18px;
    font-weight: 500;
}

.search_result_tel {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.search_result_tel dt {
    width: 80px;
    margin-right: 20px;
    padding: 10px 0;
    border: 1px solid #447cc2;
    border-radius: 30px;
    color: #447cc2;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    text-align: center;
}
.search_result_tel dd {
    font-size: 26px;
    font-weight: 500;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .search_area {
        padding: 9vw 0 3vw;
    }
    .search_area > span {
        height: 24vw;
    }
    .search_accordion.mod_accordion {
        margin-bottom: 15vw;
    }
    .search_accordion.mod_accordion.open {
        margin-bottom: 5vw;
    }
    .search_accordion.mod_accordion dt {
        padding: 2.5vw 60px;
        font-size: 2.25vw;
    }
    .search_accordion.mod_accordion dt span {
        top: 2vw;
    }

    .search_list {
        padding: 2.5vw 3vw 1vw;
    }
    .search_accordion_single .search_list {
        padding: 4.5vw 3vw 2.5vw;
    }
    .search_list li {
        margin: 0 1.5vw 1.5vw 0;
    }
    .search_list li label {
        padding: 1.5vw 2vw;
        font-size: 1.6vw;
    }
    .search_list_text {
        position: relative;
        margin: 0 0 1vw;
        font-size: 1.25vw;
    }

    .search_list .radio_parts,
    .search_list .checkbox_parts,
    .inquiry_radio .radio_parts,
    .inquiry_checkbox .checkbox_parts,
    .inquiry_privacy_check .checkbox_parts {
        padding-left: 4vw;
        margin-right: 2vw;
    }
    .search_list .radio_parts::before,
    .search_list .checkbox_parts::before,
    .inquiry_radio .radio_parts::before,
    .inquiry_checkbox .checkbox_parts::before,
    .inquiry_privacy_check .checkbox_parts::before {
        top: -.4vw;
        width: 2.4vw;
        height: 2.4vw;
    }
    .inquiry_radio .radio_parts::before,
    .inquiry_checkbox .checkbox_parts::before {
        top: .4vw;
    }
    .inquiry_privacy_check .checkbox_parts::before {
        top: 0;
    }
    .search_list .checkbox_parts::before,
    .inquiry_checkbox .checkbox_parts::before,
    .inquiry_privacy_check .checkbox_parts::before {
        border-radius: .8vw;
    }
    .search_list input[type="radio"]:checked + .radio_parts::after,
    .search_list input[type="checkbox"]:checked + .checkbox_parts::after,
    .inquiry_radio input[type="radio"]:checked + .radio_parts::after,
    .inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
    .inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
        top: .2vw;
        left: .6vw;
        width: 1.4vw;
        height: 1.4vw;
    }
    .inquiry_radio input[type="radio"]:checked + .radio_parts::after {
        top: 1vw;
    }
    .search_list input[type="checkbox"]:checked + .checkbox_parts::after,
    .inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after,
    .inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
        top: -.1vw;
        left: .8vw;
        width: .6vw;
        height: 1.2vw;
        border-bottom-width: .5vw;
        border-right-width: .5vw;
    }
    .inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after {
        top: .7vw;
    }
    .inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
        top: .3vw;
    }
    
    /* result */

    .search_results .search_item {
        margin-bottom: 4.5vw;
    }
    .search_results .search_item .mod_btn_single {
        margin-top: 1vw;
    }
    .search_result_head,
    .search_result_figure {
        padding: 2vw 4.5vw 2vw 3vw;
        font-size: 3vw;
        letter-spacing: .15vw;
    }
    .search_result_head::after,
    .search_result_figure::after {
        width: 1.6vw;
        top: -.1vw;
        right: -.4vw;
    }
    .search_result_figure {
        top: -.1vw;
        right: -1vw;
        padding: 2vw;
        min-width: 20vw;
        font-size: 2.2vw;
    }
    .search_result_box {
        padding: 3vw 4vw 2vw;
    }
    .search_result_pic {
        width: 40%;
    }
    .search_result_conts {
        width: 56%;
    }
    .search_result_pic img {
        border-radius: 2vw;
    }
    .search_result_title {
        margin: 5vw 0 2.5vw;
        padding: 0 .5vw;
        font-size: 2.5vw;
    }
    .specs {
        margin-bottom: 2.5vw;
    }
    .specs dl {
        padding: .5vw 1vw;
    }
    .specs dl dt {
        width: 16vw;
        font-size: 1.5vw
    }
    .specs dl dd {
        width: calc(100% - 16vw);
    }
    .specs dl dd p {
        font-size: 1.3vw
    }
    .specs dl dd p span {
        font-size: 1.15vw;
    }
    .specs_icon {
        width: 4.8vw;
    }
    .specs_icon img,
    .specs_icon svg {
        width: 4.8vw;
        height: 4.8vw;
    }
    .specs_text {
        width: calc(100% - 4.8vw - 2vw);
        padding-left: 2vw;
    }
    .specs dl.specs_price dt {
        width: 4.8vw;
    } 
    .specs dl.specs_price dd {
        width: calc(100% - 4.8vw - 2vw);
        font-size: 1.5vw;
    } 

    .search_result_tag li {
        margin: 0 1vw 1vw 0;
        padding: 1.5vw 2vw;
        border-radius: 3vw;
        font-size: 1.6vw;
    }    

    .search_result_tel {
        margin-bottom: 1.5vw;
    }
    .search_result_tel dt {
        width: 6vw;
        margin-right: 2vw;
        padding: 1vw 0;
        border-radius: 3vw;
        font-size: 1.75vw;
    }
    .search_result_tel dd {
        font-size: 2.25vw;
    }

}
@media screen and (max-width: 479px){

    .search_area {
        padding: 60px 0 200px;
    }
    .search_area > span {
        height: 190px;
    }
    .search_accordion.mod_accordion {
        margin-bottom: 120px;
    }
    .search_accordion.mod_accordion.open {
        margin-bottom: 40px;
    }
    .search_accordion.mod_accordion dt {
        padding: 15px 60px 15px 0;
        font-size: 22px;
    }
    .search_accordion.mod_accordion dt span {
        top: 15px;
    }

    .search_list {
        padding: 20px 20px 10px;
    }
    .search_accordion_single .search_list {
        padding: 20px 20px 10px;
    }
    .search_list li {
        margin: 0 15px 15px 0;
    }
    .search_list li label {
        padding: 10px 15px;
        border-radius: 30px;
        font-size: 16px;
        line-height: 1.5;
    }
    .search_list_text {
        position: relative;
        margin: 0 0 10px;
        font-size: 14px;
    }

    .search_list .radio_parts,
    .search_list .checkbox_parts,
    .inquiry_radio .radio_parts,
    .inquiry_checkbox .checkbox_parts,
    .inquiry_privacy_check .checkbox_parts {
        padding-left: 35px;
        margin-right: 10px;
    }
    .search_list .radio_parts::before,
    .search_list .checkbox_parts::before,
    .inquiry_radio .radio_parts::before,
    .inquiry_checkbox .checkbox_parts::before {
        top: 0;
    }
    .inquiry_privacy_check .checkbox_parts::before {
        top: -4px;
    }
    .search_list input[type="radio"]:checked + .radio_parts::after,
    .inquiry_radio input[type="radio"]:checked + .radio_parts::after {
        top: 6px;
    }
    .search_list input[type="checkbox"]:checked + .checkbox_parts::after,
    .inquiry_checkbox input[type="checkbox"]:checked + .checkbox_parts::after {
        top: 3px;
    }
    .inquiry_privacy_check input[type="checkbox"]:checked + .checkbox_parts::after {
        top: -1px;
    }
    
    /* result */

    .search_results .search_item {
        margin-bottom: 40px;
    }
    .search_result_head,
    .search_result_figure {
        padding: 15px 40px 15px 30px;
        font-size: 26px;
        letter-spacing: 1px;
    }
    .search_result_figure {
        top: -1px;
        right: -10px;
        padding: 10px;
        min-width: 180px;
        font-size: 18px;
    }
    .search_result_box {
        display: block;
        padding: 20px 20px 10px;
    }
    .search_result_pic {
        width: 100%;
        margin-top: 40px;
    }
    .search_result_conts {
        width: 100%;
    }
    .search_result_title {
        margin: 20px 0;
        font-size: 22px;
    }
    .specs {
        margin-bottom: 20px;
    }
    .specs dl dt {
        width: 140px;
    }
    .specs dl dd {
        width: calc(100% - 140px);
    }
    .specs_icon {
        width: 36px;
    }
    .specs_icon img,
    .specs_icon svg {
        width: 36px;
        height: 36px;
    }
    .specs_text {
        width: calc(100% - 36px - 15px);
        padding-left: 20px;
    }
    .specs dl.specs_price dt {
        width: 36px;
    } 
    .specs dl.specs_price dd {
        width: calc(100% - 36px - 20px);
    } 

    .search_result_tag li {
        padding: 10px 15px;
        font-size: 15px;
    } 
    .search_result_tel {
        margin-bottom: 15px;
    }
    .search_result_tel dt {
        width: 64px;
        margin-right: 15px;
        font-size: 16px;
    }
    .search_result_tel dd {
        font-size: 24px;
    }
    
}

/*- detail -*/

.detail_category {
    display: flex;
    flex-wrap: wrap;
    margin: -30px 0 0;
}
.detail_category li {
    position: relative;
    padding: 14px 20px;
    min-width: 240px;
    background: #447cc2;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}
.detail_category li::after {
    transform: skewX(-5deg);
    content: "";
    display: block;
    width: 16px;
    height: calc(100% - 1px);
    position: absolute;
    z-index: 2;
    top: 0;
    right: -4px;
    background: #447cc2;
    border-right: 1px solid #fff;
}
.detail_title {
    transform: skewX(-5deg);
    margin: 50px 0 60px;
    padding: 0 5px;
    color: #447cc2;
    font-size: 38px;
    font-weight: bold;
    line-height: 1.5;
}
.detail_title span {
    display: inline;
    background: linear-gradient(transparent 60%, #dbecee 30%);
}

.detail_info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.detail_info_level {
    width: 40%;
}
.level li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px 20px;
    background: #eef6f7;
    border: 1px solid #447cc2;
    border-radius: 50px;
}
.level_mark {
    width: 60px;
}
.level_mark img,
.level_mark svg {
    width: 60px;
    height: 60px;
}
.level_text {
    width: 180px;
    font-size: 24px;
    font-weight: 500;
    font-style: italic;
}
.level_star {
    width: 260px;
    transform: skewX(-5deg);
}
.level_star .star {
	position: relative;
    margin-right: 40px;
}
.level_star .star div {
	position: absolute;
	width: 13px;
	height: 36px;
	left: 10px;
	top: -5px;
	border-left: 2px solid #d6d6d6;
	transform-origin: center;
	box-sizing: border-box;
}
.level_star .star div:nth-of-type(1) { transform: rotate(90deg); }
.level_star .star div:nth-of-type(2) { transform: rotate(162deg); }
.level_star .star div:nth-of-type(3) { transform: rotate(234deg); }
.level_star .star div:nth-of-type(4) { transform: rotate(306deg); }
.level_star .star div:nth-of-type(5) { transform: rotate(378deg); }
.level_star.on_1 .star:nth-of-type(-n+1) div,
.level_star.on_2 .star:nth-of-type(-n+2) div,
.level_star.on_3 .star:nth-of-type(-n+3) div,
.level_star.on_4 .star:nth-of-type(-n+4) div,
.level_star.on_5 .star:nth-of-type(-n+5) div { 
    border-color: #447cc2; 
}
.detail_info_specs {
    width: 55%;
}
.detail_info_specs .specs {
    border: 1px solid #447cc2;
    border-radius: 20px;
}
.detail_info_specs .specs dl {
    padding: 10px 20px;
}
.detail_info_specs .specs dl:last-child {
    border-bottom: none;
}
.detail_info_specs .specs dl dt {
    width: 200px;
}
.detail_info_specs .specs dl dd {
    width: calc(100% - 200px);
}
.detail_info_specs .specs dl dd p {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25
}
.detail_info_specs .specs dl dd p span {
    font-size: 14px;
    font-weight: normal;
}
.detail_info_specs .specs_icon {
    width: 60px;
}
.detail_info_specs .specs_icon img,
.detail_info_specs .specs_icon svg {
    width: 60px;
    height: 60px;
}
.detail_info_specs .specs_text {
    width: calc(100% - 60px - 20px);
    padding-left: 20px;
    font-size: 20px;
    font-style: italic;
    color: #447cc2;
}

.detail_tag {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
}
.detail_tag li {
    margin: 0 10px 10px 0;
    padding: 18px 35px;
    background: #fff;
    border: 1px solid #447cc2;
    border-radius: 30px;
    font-size: 20px;
    font-weight: 500;
}
.detail_tag li.notice {
    background: #eafafc;
}
.detail_tag li.finish {
    background: #e5e8ec;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .detail_category {
        margin: -2.5vw 0 0;
    }
    .detail_category li {
        padding: 1.2vw 1.8vw;
        min-width: 20vw;
        font-size: 2vw;
    }
    .detail_category li::after {
        width: 1.5vw;
        right: -.4vw;
    }
    .detail_title {
        margin: 4vw 0 4.5vw;
        padding: 0 .5vw;
        font-size: 3vw;
    }

    .detail_info {
        margin-bottom: 3vw;
    }
    .detail_info_level {
        width: 42%;
    }
    .level li {
        margin-bottom: 1vw;
        padding: 1vw;
        border-radius: 5vw;
    }
    .level_mark {
        width: 4vw;
    }
    .level_mark img,
    .level_mark svg {
        width: 4vw;
        height: 4vw;
    }
    .level_text {
        width: 16vw;
        font-size: 1.75vw;
        text-align: center;
    }
    .level_star {
        width: 20vw;
    }
    .level_star .star {
        margin-right: 3vw;
    }
    .level_star .star div {
        width: 1vw;
        height: 3vw;
        left: 1.2vw;
        top: -.05vw;
    }
    .detail_info_specs .specs {
        border-radius: 2vw;
    }
    .detail_info_specs .specs dl {
        padding: 1vw 2vw;
    }
    .detail_info_specs .specs dl dt {
        width: 17.5vw;
    }
    .detail_info_specs .specs dl dd {
        width: calc(100% - 17.5vw);
    }
    .detail_info_specs .specs dl dd p {
        font-size: 1.75vw;
    }
    .detail_info_specs .specs dl dd p span {
        font-size: 1.3vw;
    }
    .detail_info_specs .specs_icon {
        width: 5vw;
    }
    .detail_info_specs .specs_icon img,
    .detail_info_specs .specs_icon svg {
        width: 5vw;
        height: 5vw;
    }
    .detail_info_specs .specs_text {
        width: calc(100% - 5vw - 2vw);
        padding-left: 2vw;
        font-size: 1.75vw;
    }

    .detail_tag {
        margin-bottom: 5vw;
    }
    .detail_tag li {
        margin: 0 1vw 1vw 0;
        padding: 1.5vw 3vw;
        border-radius: 3vw;
        font-size: 1.75vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .detail_category li {
        padding: 10px 15px;
        min-width: 200px;
        font-size: 20px;
    }
    .detail_title {
        margin: 30px 0 40px;
        padding: 0 5px;
        font-size: 26px;
    }

    .detail_info {
        display: block;
    }
    .detail_info_level {
        width: 100%;
        margin-bottom: 30px;
    }
    .level li {
        padding: 10px 2vw;
    }
    .level_mark {
        width: 10vw;
    }
    .level_mark img,
    .level_mark svg {
        width: 10vw;
        height: 10vw;
    }
    .level_text {
        width: 30vw;
        font-size: 4vw;
        text-align: center;
    }
    .level_star {
        width: 48vw;
    }
    .level_star .star {
        margin-right: 8vw;
    }
    .level_star .star div {
        width: 2.6vw;
        height: 7.2vw;
        left: 2vw;
        top: -.5vw;
    }
    .detail_info_specs {
        width: 100%;
    }
    .detail_info_specs .specs dl {
        padding: 10px;
    }
    .detail_info_specs .specs dl dt {
        width: 160px;
    }
    .detail_info_specs .specs dl dd {
        width: calc(100% - 160px);
    }
    .detail_info_specs .specs dl dd p {
        font-size: 18px;
    }
    .detail_info_specs .specs dl dd p span {
        font-size: 14px;
    }
    .detail_info_specs .specs_icon {
        width: 48px;
    }
    .detail_info_specs .specs_icon img,
    .detail_info_specs .specs_icon svg {
        width: 48px;
        height: 48px;
    }
    .detail_info_specs .specs_text {
        width: calc(100% - 48px - 15px);
        padding-left: 15px;
        font-size: 18px;
    }

    .detail_tag li {
        padding: 15px 20px;
        font-size: 16px;
    }
    
}

/*--- 05-event ---*/

/* list */

.event_area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.event_area::after{
    content: "";
    display: block;
    width: 30%;
}
.event_area .search_item {
    width: 30%;
}
.event_area .search_item img {
    width: 94%;
}
.event_area .search_item a .top_pickup_list_title {
    color: #447cc2;
}
.top_pickup_tag span.notice {
    background: #eafafc;
}
.top_pickup_tag span.finish {
    background: #e5e8ec;
}

.view_more .is_hidden,
.view_more_info .is_hidden {
    display: none;
}
.view_more_btn {
    display: block;
    width: 100%;
    margin: 20px 0 -40px;
    padding: 40px 0;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-bottom: 1px solid #447cc2;
    text-align: center;
    cursor: pointer;
    transition: .25s;
}
.view_more_btn:hover{
    background: #e3f0f2;
}
.view_more_btn span {
    position: relative;
    padding-right: 40px;
    color: #447cc2;
    font-size: 20px;
    font-weight: bold;
    font-style: italic;
}
.view_more_btn span::after {
    content: "";
    margin: auto;
    position: absolute;
    top: calc(50% - 12px);
    right: 0;
    width: 15px;
    height: 15px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(135deg);
}

/* detail */

.event_header {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
.event_schedule {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border: 1px solid #447cc2;
    border-right: none;
    height: 54px;
    letter-spacing: 1px;
}
.event_schedule dt {
    position: relative;
    padding: 8px 30px;
    color: #447cc2;
    font-size: 20px;
    font-weight: bold;
    font-style: italic;
    text-align: left;
}
.event_schedule dd {
    position: relative;
    padding: 10px 60px 10px 30px;
    font-size: 16px;
}
.event_schedule dt::after,
.event_schedule dd::after {
    transform: skewX(-5deg);
    content: "";
    display: block;
    width: 10px;
    height: calc(100% + 18px);
    position: absolute;
    z-index: 2;
    top: -10px;
    right: -4px;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    /* list */

    .event_area::after,
    .event_area .search_item {
        width: 32%;
    }

    .view_more_btn {
        margin: 2vw 0 -3vw;
        padding: 3vw 0;
    }
    .view_more_btn span {
        padding-right: 4vw;
        font-size: 1.75vw;
    }
    .view_more_btn span::after {
        top: calc(50% - 1.2vw);
        width: 1.5vw;
        height: 1.5vw;
    }
    
    /* detail */
    
    .event_header {
        margin-top: 3vw;
    }
    .event_schedule {
        height: 5.4vw;
        letter-spacing: 0;
    }
    .event_schedule dt {
        padding: .8vw 3vw;
        font-size: 2vw;
    }
    .event_schedule dd {
        padding: 1vw 6vw 1vw 3vw;
        font-size: 1.6vw;
    }
    .event_schedule dt::after,
    .event_schedule dd::after {
        width: 1vw;
        height: calc(100% + 1.9vw);
        top: -1.1vw;
        right: -.4vw;
    }

}
@media screen and (max-width: 479px){
    
    /* list */

    .event_area::after,
    .event_area .search_item {
        width: 48%;
    }

    .view_more_btn {
        margin: 20px 0 -200px;
        padding: 30px 0;
    }
    
    /* detail */

    .event_header {
        display: block;
        margin-top: 40px;
    }
    .event_schedule {
        margin: -30px 0 40px;
        height: 54px;
        letter-spacing: 0;
    }
    .event_schedule dt {
        width: 28%;
        padding: 8px 0;
        font-size: 16px;
        text-align: center;
    }
    .event_schedule dd {
        width: 72%;
        padding: 10px 0;
        font-size: 12px;
        text-align: center;
    }
    .event_schedule dt::after,
    .event_schedule dd::after {
        height: calc(100% + 22px);
        top: -12px;
    }

    
}
@media screen and (max-width: 374px){
    
    .event_schedule dt {
        font-size: 15px;
    }
    .event_schedule dd {
        font-size: 11px;
    }
    .event_schedule dt::after,
    .event_schedule dd::after {
        height: calc(100% + 23px);
        top: -13px;
    }
    
}

/*--- 06-official ---*/

.official_info {
    margin-bottom: 40px;
    border: 1px solid #447cc2;
    border-radius: 20px;
}
.official_info dl {
    display: table;
    width: 100%;
    line-height: 1.6;
}
.official_info dl dt {
    display: table-cell;
    width: calc(240px - 70px);
    padding: 20px 35px;
    color: #447cc2;
    font-size: 20px;
    font-weight: bold;
    font-style: italic;
    border-bottom: 1px solid #447cc2;
    vertical-align: middle;
}
.official_info dl dd {
    display: table-cell;
    width: calc(100% - 240px - 35px);
    padding: 20px 35px 20px 0;
    font-size: 26px;
    font-weight: 500;
    border-bottom: 1px solid #447cc2;
    vertical-align: middle;
}
.official_info dl.budget dd {
    padding-top: 23px;
    padding-bottom: 23px;
    font-size: 20px;
    font-weight: 400;
}
.official_info dl:last-child dt,
.official_info dl:last-child dd {
    border: none;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .official_info {
        margin-bottom: 3vw;
        border-radius: 2vw;
    }
    .official_info dl dt {
        width: calc(20vw - 6vw);
        padding: 2vw 3vw;
        font-size: 1.75vw;
    }
    .official_info dl dd {
        width: calc(100% - 20vw - 3vw);
        padding: 2vw 3vw 2vw 0;
        font-size: 2vw;
    }
    .official_info dl.budget dd {
        padding-top: 2.2vw;
        padding-bottom: 2.2vw;
        font-size: 1.8vw;
    }

}
@media screen and (max-width: 479px){
    
    .official_info {
        margin-bottom: 40px;
        border-radius: 20px;
    }
    .official_info dl dt {
        width: calc(120px - 30px);
        padding: 15px 15px;
        font-size: 18px;
    }
    .official_info dl dd {
        width: calc(100% - 120px - 15px);
        padding: 15px 15px 15px 0;
        font-size: 20px;
    }
    .official_info dl.budget dd {
        padding-top: 19px;
        padding-bottom: 19px;
        font-size: 16px;
    }
    
}

/*--- 07-info ---*/

.info_list {
    margin-bottom: 60px;
}
.info_list.search_results .search_item {
    margin-bottom: 30px;
}
.info_list.search_results .search_item a {
    color: #447cc2
}

.info_detail .detail_tag {
    margin: 40px 0 30px;   
}
.info_detail .detail_tag li {
    color: #447cc2;
    background: #dbecee;
    border-color: #dbecee;
}
.info_detail_date {
    border-top: 1px solid #447cc2;
    padding: 32px 0;
}
.info_detail_date_text {
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.4;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .info_list {
        margin-bottom: 5vw;
    }
    .info_list.search_results .search_item {
        margin-bottom: 2.5vw;
    }
    
    .info_detail .detail_tag {
        margin: 3vw 0 2vw;   
    }
    .info_detail_date {
        padding: 2.5vw 0;
    }
    .info_detail_date_text {
        font-size: 1.5vw;
        letter-spacing: .1vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .info_detail .detail_tag {
        margin: 25px 0 15px;   
    }
    .info_detail_date {
        padding: 25px 0;
    }
    
}

/*--- 08-ticket ---*/

/* btn */

.ticket_btn {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: baseline;
    max-width: 1200px;
    margin: 0 auto 60px;
}
.ticket_btn li {
    position: relative;
    margin-bottom: 15px;
    width: 100%;
}
.ticket_btn li.ticket_recommend {
    margin-top: 80px;
}
.ticket_btn.col_2 li {
    width: 49.25%;
}
.ticket_btn.col_3 li {
    width: 32.4%;
}
.ticket_btn.col_3::after {
    content: "";
    display: block;
    width: 32.4%;
}
.ticket_btn li a {
    transform: skewX(-5deg);
    display: block;
    position: relative;
    z-index: 1;
    border: 1px solid #447cc2;
    border-bottom: 10px solid #447cc2;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.25;
    transition: .25s;
    text-decoration: none;
}
.ticket_btn li a:hover {
    background: #e2f0f1;
}
.ticket_btn li.ticket_recommend a {
    background: #e6fcfd;
}
.ticket_btn li.ticket_recommend a:hover {
    background: #c8f0f2;
}
.ticket_btn li a span {
    transform: skewX(5deg);
    display: block;
    padding: 40px 80px 40px 40px;
}
.ticket_btn li.mod_btn_arrow a::before,
.ticket_btn li.mod_btn_arrow a::after {
    right: 20px;
}
.ticket_btn li.mod_btn_arrow a:hover::before,
.ticket_btn li.mod_btn_arrow a:hover::after {
    right: 10px;
}
.ticket_btn li em {
    position: absolute;
    display: block;
    z-index: 2;
    top: -84px;
    left: -10px;
}
.ticket_btn li em img {
    width: 186px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .ticket_btn {
        margin: 0 auto 4.5vw;
    }
    .ticket_btn li {
        margin-bottom: 1vw;
    }
    .ticket_btn li.ticket_recommend {
        margin-top: 6vw;
    }
    .ticket_btn li a {
        border-bottom-width: 1vw;
        font-size: 2vw;
    }
    .ticket_btn li a span {
        padding: 3vw 6vw 3vw 3vw;
    }
    .ticket_btn li.mod_btn_arrow a::before,
    .ticket_btn li.mod_btn_arrow a::after {
        right: 2vw;
    }
    .ticket_btn li.mod_btn_arrow a:hover::before,
    .ticket_btn li.mod_btn_arrow a:hover::after {
        right: 1vw;
    }
    .ticket_btn li em {
        top: -6.6vw;
        left: -1vw;
    }
    .ticket_btn li em img {
        width: 15vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .ticket_btn {
        display: block;
    }
    .ticket_btn li {
        width: 100%;
    }
    .ticket_btn li.ticket_recommend {
        margin-top: 60px;
    }
    .ticket_btn.col_2 li,
    .ticket_btn.col_3 li,
    .ticket_btn.col_3::after {
        width: 100%;
    }
    .ticket_btn li a {
        font-size: 18px;
    }
    .ticket_btn li a span {
        padding: 30px 80px 30px 30px;
    }
    .ticket_btn li em {
        top: -54px;
        left: -7px;
    }
    .ticket_btn li em img {
        width: 124px;
    }

}

/* detail */

.ticket_table th {
    width: 160px;
    color: #447cc2;
}
.ticket_table.mod_table td {
    padding: 23px 30px 15px 30px;
}
.ticket_tag {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0;
}
.ticket_tag li {
    margin: 0 10px 10px 0;
    padding: 7px 20px;
    background: #fff;
    border: 1px solid #447cc2;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 500;
}
.ticket_title {
    margin-bottom: 20px;
    color: #447cc2;
    font-size: 26px;
    font-weight: bold;
    font-style: italic;
}
.ticket_table.mod_table .mod_text,
.ticket_table.mod_table .mod_list,
.ticket_table.mod_table .mod_list_num,
.ticket_table.mod_table .mod_list_kome,
.ticket_table.mod_table .mod_list_atte,
.ticket_table.mod_table .mod_list_atte_num,
.ticket_table.mod_table .mod_list_kome_num,
.ticket_table.mod_table .mod_link {
    margin-bottom: 20px!important;
}

.ticket_price {
    margin: 30px 0 45px;
}
.ticket_price dt {
    display: inline-block;
    padding: 2px 15px;
    font-size: 14px;
    border: 1px solid #abb0b6;
}
.ticket_price dd {
    margin-bottom: 15px;
    font-size: 30px;
    font-weight: 500;
}
.ticket_price dd span {
    margin-left: 10px;
    font-size: 18px;
}

.ticket_btn_col2 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.ticket_btn_col2 li {
    margin: 0 40px 20px 0;
}
.ticket_btn_col2 .mod_btn a {
    padding-right: 70px;
}
.ticket_btn_col2 .mod_btn a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 30px;
}
.ticket_btn_col2 .mod_btn a .mod_pdf {
    display: flex;
    align-items: center;
}

.ticket_table .text_more_btn {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.ticket_table .text_more_btn::after {
    display: block;
    content: "";
    position: absolute;
    top: calc(50% - 7px);
    right: -30px;
    width: 10px;
    height: 10px;
    border-top: solid 1px #447cc2;
    border-right: solid 1px #447cc2;
    transform: rotate(135deg);
}
.ticket_table .text_more_btn.close::after {
    top: 50%;
    transform: rotate(-45deg);
}

@media screen and (min-width: 480px) and (max-width: 1024px){
    
    .ticket_table.mod_table th {
        width: 13vw;
        padding: 2.5vw;
        vertical-align: top;
    }
    .ticket_table.mod_table td {
        padding: 2vw 2vw 1vw 2vw;
    }
    .ticket_tag {
        margin: 1vw 0;
    }
    .ticket_tag li {
        margin: 0 1vw 1vw 0;
        padding: .7vw 1.2vw;
        border-radius: 3vw;
        font-size: 1.2vw;
    }
    .ticket_title {
        margin-bottom: 1.5vw;
        font-size: 2vw;
    }
    .ticket_table.mod_table .mod_text,
    .ticket_table.mod_table .mod_list,
    .ticket_table.mod_table .mod_list_num,
    .ticket_table.mod_table .mod_list_kome,
    .ticket_table.mod_table .mod_list_atte,
    .ticket_table.mod_table .mod_list_atte_num,
    .ticket_table.mod_table .mod_list_kome_num,
    .ticket_table.mod_table .mod_link {
        margin-bottom: 2vw!important;
    }

    .ticket_price {
        margin: 2vw 0 3vw;
    }
    .ticket_price dt {
        padding: .1vw 1vw;
        font-size: 1.3vw;
    }
    .ticket_price dd {
        margin-bottom: 1vw;
        font-size: 2.5vw;
    }
    .ticket_price dd span {
        margin-left: 1vw;
        font-size: 1.6vw;
    }

    .ticket_btn_col2 {
        margin-bottom: 2vw;
    }
    .ticket_btn_col2 li {
        margin: 0 3vw 1.5vw 0;
    }
    .ticket_btn_col2 .mod_btn a {
        padding-right: 6vw;
    }
    .ticket_btn_col2 .mod_btn a {
        height: 3vw;
    }

    .ticket_table .text_more_btn::after {
        top: calc(50% - .7vw);
        right: -3vw;
        width: 1vw;
        height: 1vw;
    }

}
@media screen and (max-width: 479px){
    
    .ticket_table.mod_table th {
        width: 48px;
        vertical-align: top;
    }
    .ticket_table.mod_table td {
        padding: 15px 15px 5px 15px;
    }
    .ticket_tag li {
        margin: 0 7px 7px 0;
        padding: 5px 12px;
        font-size: 12px;
    }
    .ticket_title {
        margin-bottom: 10px;
        font-size: 20px;
    }
    .ticket_price {
        margin: 20px 0 30px;
    }
    .ticket_price dt {
        padding: 1px 10px;
        font-size: 12px;
    }
    .ticket_price dd span {
        margin-left: 8px;
        font-size: 15px;
    }

    .ticket_btn_col2 {
        margin-bottom: 20px;
    }
    .ticket_btn_col2 li {
        margin: 0 20px 15px 0;
    }
    .ticket_btn_col2 .mod_btn a {
        height: auto;
    }
        
}

/* attraction */

.ticket_att_table {
    table-layout: fixed;
}
.ticket_att_table th {
    color: #447cc2;
}
.ticket_att_table.mod_table td {
    padding-left: 30px;
    padding-right: 30px;
    vertical-align: middle;
}
.ticket_att_title {
    color: #447cc2;
    font-size: 22px;
    font-style: italic;
}
.ticket_att_title a {
    text-decoration: underline;
}
.ticket_att_title a:hover {
    opacity: .8;
}
.ticket_att_price {
    font-size: 26px;
    font-weight: 500;
    text-align: center;
}
.ticket_att_price span {
    margin-left: 10px;
    font-size: 18px;
}
.ticket_att_sp_head {
    display: none;
}

@media screen and (min-width: 480px) and (max-width: 1024px){
    
    .ticket_att_table.mod_table td {
        padding-left: 2vw;
        padding-right: 2vw;
    }
    .ticket_att_title {
        font-size: 1.875vw;
    }
    .ticket_att_price {
        font-size: 2.5vw;
    }
    .ticket_att_price span {
        margin-left: 1vw;
        font-size: 1.6vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .ticket_att_table {
        table-layout: inherit;
    }
    .ticket_att_table tr,
    .ticket_att_table tr td {
        display: block;
        width: 100%;
    }
    .ticket_att_table tr:first-child {
        display: none;
    }

    .ticket_att_table th {
        color: #447cc2;
    }
    .ticket_att_table.mod_table td {
        display: table;
        padding-left: 0;
        padding-right: 0;
    }
    .ticket_att_title {
        padding: 15px 12px;
        color: #447cc2;
        font-size: 20px;
        font-style: italic;
        text-align: center;
    }
    .ticket_att_title a {
        text-decoration: underline;
    }
    .ticket_att_price {
        padding: 10px;
        font-size: 26px;
        font-weight: 500;
        text-align: center;
    }
    .ticket_att_price span {
        margin-left: 10px;
        font-size: 18px;
    }
    .ticket_att_text {
        padding: 15px 10px;
    }
    .ticket_att_sp_head {
        display: table-cell;
        vertical-align: middle;
        width: 60px;
        padding: 10px;
        background: #eef6f7;
        color: #447cc2;
        font-weight: 500;
        border-right: 1px solid #447cc2;
        text-align: center;
    }
    .ticket_att_price,
    .ticket_att_text {
        width: calc(100% - 60px - 20px - 20px - 1px);
        display: table-cell;
    }
    
}

/*--- 09-1-today ---*/

.today_date {
    margin-top: -40px;
}
.today_header {
    display: table;
    table-layout: fixed;
    width: 100%;
    background: #eef6f7;
    border-top: 1px solid #447cc2;
    border-bottom: 1px solid #447cc2;
    border-left: 1px solid #447cc2;
}
.today_body {
    display: table;
    table-layout: fixed;
    width: 100%;
    border-bottom: 1px solid #447cc2;
    border-left: 1px solid #447cc2;
}
.today_header > li,
.today_body > li {
    display: table-cell;
    border-right: 1px solid #447cc2;
    vertical-align: middle;
    line-height: 1.5;
    text-align: center;
}
.today_header > li {
    padding: 16px 20px;
    color: #447cc2;
    font-size: 17px;
    font-weight: 500;
}
.today_body > li {
    padding: 13px 20px;
    font-size: 16px;
}
.today_body > li .today_sp_head {
    display: none;
}

.today_header > li:nth-of-type(1),
.today_body > li:nth-of-type(1) {
    width: 29%;
}
.today_header > li:nth-of-type(2),
.today_body > li:nth-of-type(2) {
    width: 8%;
}
.today_header > li:nth-of-type(3),
.today_body > li:nth-of-type(3) {
    width: 13%;
}
.today_header > li:nth-of-type(4),
.today_body > li:nth-of-type(4) {
    width: 13%;
}
.today_header > li:nth-of-type(5),
.today_body > li:nth-of-type(5) {
    width: 22%;
}
.today_header > li:nth-of-type(6),
.today_body > li:nth-of-type(6) {
    width: 15%;
}

.today_body > li:nth-of-type(1) {
    font-size: 22px;
    font-weight: bold;
    font-style: italic;
    text-align: left;
}
.today_body > li:nth-of-type(1) a {
    text-decoration: underline;
}
.today_body > li:nth-of-type(2) {
    font-size: 38px;
}

.today_body > li .mod_link {
    margin-bottom: 0!important;
}
.today_body > li a {
    color: #447cc2!important;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .today_date {
        margin-top: -4vw;
    }
    
    .today_header > li {
        padding: 1vw .5vw;
        font-size: 1.4vw;
    }
    .today_body > li {
        padding: 1vw .5vw;
        font-size: 1.4vw;
    }    
    .today_body > li:nth-of-type(1) {
        font-size: 1.75vw;
    }
    .today_body > li:nth-of-type(2) {
        font-size: 3vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .today_list {
        margin-bottom: -200px;
    }
    .today_header {
        display: none;
    }
    .today_body {
        display: block;
        margin-bottom: 20px;
        border-bottom: none;
        border-top: 1px solid #447cc2;
    }
    .today_body > li {
        display: table;
        padding: 0;
        border-bottom: 1px solid #447cc2;
    }
    .today_body > li .today_sp_head {
        display: table-cell;
        width: 100px;
        padding: 10px 0;
        background: #eef6f7;
        border-right: 1px solid #447cc2;
        color: #447cc2;
        font-size: 16px!important;
        vertical-align: middle;
    }
    .today_body > li .today_text {
        display: table-cell;
        width: calc(100% - 120px);
        padding: 10px 10px;
        vertical-align: middle;
    }

    .today_body > li:nth-of-type(1),
    .today_body > li:nth-of-type(2),
    .today_body > li:nth-of-type(3),
    .today_body > li:nth-of-type(4),
    .today_body > li:nth-of-type(5),
    .today_body > li:nth-of-type(6) {
        width: 100%;
    }

    .today_body > li.today_title {
        padding: 12px 0;
        font-size: 22px;
        text-align: center;        
    }
    .today_body > li:nth-of-type(2) {
        font-size: 22px;
    }
    
}

/*--- 09-2-schedule_month ---*/

.schedule_btn_area {
    margin: 120px 0;
    border-bottom: 1px solid #447cc2;
}
.schedule_btn_area .btn_area {
    margin-bottom: -30px;
}

.mod_table.schedule_month_table th {
    padding-top: 18px;
    padding-bottom: 18px;
}
.mod_table.schedule_month_table td {
    padding-top: 16px;
    padding-bottom: 16px;
}
.schedule_month_table th {
    color: #447cc2;
}
.schedule_month_table td {
    vertical-align: middle;
}
.schedule_month_table tr td:nth-of-type(1) {
    width: 14%;
    font-size: 26px;
    font-weight: 500;
    text-align: center;
}
.schedule_month_table tr td:nth-of-type(2) {
    width: 15%;
    text-align: center;
    font-size: 18px;
}
.schedule_month_table tr td:nth-of-type(3) span {
    display: block;
    color: #fe0000;
    font-size: 18px;
}
.schedule_month_table tr.schedule_month_sat {
    background: #eef6f7;
}
.schedule_month_table tr.schedule_month_sun {
    background: #fcf0f0;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .schedule_btn_area {
        margin: 9vw 0;
    }
    .schedule_btn_area .btn_area {
        margin-bottom: -3vw;
    }

    .mod_table.schedule_month_table th {
        padding: 1.5vw 0;
        vertical-align: middle;
    }
    .mod_table.schedule_month_table td {
        padding-top: 1.4vw;
        padding-bottom: 1.4vw;
    }
    .schedule_month_table tr td:nth-of-type(1) {
        font-size: 2vw;
    }
    .schedule_month_table tr td:nth-of-type(2),
    .schedule_month_table tr td:nth-of-type(3) span {
        font-size: 1.6vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .schedule_btn_area {
        margin: 240px 0 90px;
    }
    .schedule_btn_area .btn_area {
        margin-bottom: -30px;
    }

    .mod_table.schedule_month_table th {
        padding: 14px 1px;
        font-size: 11px;
        vertical-align: middle;
    }
    .mod_table.schedule_month_table td {
        padding: 8px 2px;
    }
    .schedule_month_table tr td:nth-of-type(1) {
        width: 18%;
        font-size: 16px;
    }
    .schedule_month_table tr td:nth-of-type(2) {
        width: 15%;
        font-size: 12px;
    }
    .schedule_month_table tr td:nth-of-type(3) {
        font-size: 11px;
    }
    .schedule_month_table tr td:nth-of-type(3) span {
        font-size: 12px;
    }
    
}

/*--- 10-inquiry ---*/

.inquiry_area {
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 120px;
}

.inquiry_table {
    margin-bottom: 80px;
    width: 100%;
    border-top: 1px solid #e4e7ec;
    line-height: 1.5;
}
.inquiry_table th {
    width: 240px;
    padding: 30px 40px 30px 0;
    border-bottom: 1px solid #e4e7ec;
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    vertical-align: middle;
}
.inquiry_table th span {
    margin: 4px 0;
    padding: 5px 18px;
    float: right;
    color: #969faa;
    border: 1px solid #bac1ca;
    border-radius: 20px;
    font-size: 12px;
    line-height: 1;
}
.inquiry_table th span.required {
    color: #fe0000;
    border-color: #fe0000;
}
.inquiry_table td {
    padding: 40px 0;
    border-bottom: 1px solid #e4e7ec;
    font-size: 16px;
    vertical-align: middle;
}
.inquiry_explain {
    margin-top: -20px;
    color: #969faa;
    font-size: 13px;
}
.inquiry_error {
    margin-bottom: -20px;
    color: #fe0000;
    font-size: 13px;
}
.inquiry_confirm_attachment {
    margin-right: 30px;
    color: #969faa;
    font-weight: 500;
}
.inquiry_table input::placeholder,
.inquiry_table textarea::placeholder {
    color: #777;
}
.inquiry_table select {
    color: #222;
}
.inquiry_table select.is_empty{
    color: #969faa;
}
.inquiry_table input[type="text"],
.inquiry_table input[type="tel"],
.inquiry_table input[type="email"],
.inquiry_table textarea {
    margin: 5px 0;
    padding: 15px 20px;
    width: calc(100% - 40px - 2px);
    border: 1px solid #bac1ca;
    font-size: 16px;
}
.inquiry_table textarea {
    height: 100px;
}
.inquiry_table .inquiry_select {
    position: relative;
    display: inline-block;
    transition: .25s;
}
.inquiry_table .inquiry_select select {
    margin: 5px 0;
    padding: 15px 20px;
    min-width: 300px;
    background: #fff;
    border: 1px solid #bac1ca;
    font-size: 16px;
    cursor: pointer;
    appearance: none;
}
.inquiry_table .inquiry_select::after {
    display: block;
    content: "";
    position: absolute;
    z-index: 3;
    top: calc(50% - 12px);
    right: 20px;
    width: 15px;
    height: 15px;
    border-top: solid 1px #447cc2;
    border-right: solid 1px #447cc2;
    transform: rotate(135deg);
    transition: .25s;
}
.inquiry_table .inquiry_select:hover::after {
    top: calc(50% - 5px);
}

.inquiry_name,
.inquiry_zip {
    display: flex;
    justify-content: space-between;
}
.inquiry_name li,
.inquiry_zip li {
    width: 47%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.inquiry_name li span,
.inquiry_zip li span {
    width: 30px;
    font-weight: 500;
}
.inquiry_zip li a {
    position: relative;
    display: block;
    font-weight: bold;
    font-style: italic;
    text-decoration: underline;
}
.inquiry_zip li a::after {
    display: block;
    content: "";
    position: absolute;
    z-index: 2;
    top: calc(50% - 10px);
    right: -35px;
    width: 15px;
    height: 15px;
    border-top: solid 1px #447cc2;
    border-right: solid 1px #447cc2;
    transform: rotate(135deg);
    transition: .25s;
}
.inquiry_zip li a:hover {
    opacity: .8;
}
.inquiry_address {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.inquiry_address dt {
    width: 150px;
    font-weight: 500;
}
.inquiry_address dd {
    width: calc(100% - 150px);
}

.inquiry_radio,
.inquiry_checkbox {
    display: flex;
    flex-wrap: wrap;
}
.inquiry_radio li,
.inquiry_checkbox li {
    margin: 10px 30px 10px 0;
}
.inquiry_radio li label,
.inquiry_checkbox li label {
    display: flex;
    align-items: center;
    font-size: 16px;
    cursor: pointer;
}

.inquiry_attach_link {
    margin-bottom: 0!important;
}
.inquiry_attach_link a {
    text-decoration: underline;
}
.inquiry_attach_link a:hover {
    opacity: .8;
}

.inquiry_table input[type="file"] {
    display: none;
}
.inquiry_file {
    margin-bottom: 10px;
}
.inquiry_file label {
    position: relative;
    color: #447cc2;
    font-size: 16px;
    font-weight: bold;
    font-style: italic;
    text-decoration: underline;
    cursor: pointer;
    transition: .25s;
}
.inquiry_file label::after {
    display: block;
    content: "";
    position: absolute;
    z-index: 3;
    top: calc(50% - 4px);
    right: -20px;
    width: 12px;
    height: 12px;
    border-top: solid 1px #447cc2;
    border-right: solid 1px #447cc2;
    transform: rotate(45deg);
}
.inquiry_file label:hover {
    opacity: .8;
}
.inquiry_file_text {
    margin: 5px 0 10px;
    padding: 15px 20px;
    width: calc(100% - 40px - 2px);
    border: 1px solid #bac1ca;
    color: #bac1ca;
    font-size: 16px;
}
.inquiry_file_text.onfile {
    color: #222325;
}

/* privacy */

.inquiry_privacy {
    margin-bottom: 40px;
    padding: 30px 40px 10px;
    border: 1px solid #bac1ca;
    height: 370px;
    overflow-y: scroll;
}
.inquiry_privacy::-webkit-scrollbar{
    width: 20px;
}
.inquiry_privacy::-webkit-scrollbar-track{
    background-color: #e4e7ec;
}
.inquiry_privacy::-webkit-scrollbar-thumb{
    background-color: #447cc2;
}
.inquiry_privacy_check {
    display: table;
    font-size: 16px;
    margin: 0 auto 60px;
}
.inquiry_privacy_check label {
    cursor: pointer;
}
.inquiry_privacy_check .inquiry_error {
    margin: 15px 0 0;
}

/* btn */

.inquiry_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
.inquiry_btn_back {
    position: relative;
    display: block;
    margin-right: 80px;
}
.inquiry_btn_back::before {
    display: block;
    content: "";
    position: absolute;
    z-index: 2;
    top: calc(50% - 8px);
    left: 0;
    width: 15px;
    height: 15px;
    border-top: solid 1px #447cc2;
    border-right: solid 1px #447cc2;
    transform: rotate(-135deg);
    transition: .25s;
}
.inquiry_btn_back input[type="reset"],
.inquiry_btn_back input[type="button"] {
    padding-left: 30px;
    background: none;
    color: #447cc2;
    font-size: 18px;
    font-weight: bold;
    font-style: italic;
    text-decoration: underline;
}
.inquiry_btn_back input[type="reset"]:hover,
.inquiry_btn_back input[type="button"]:hover {
    opacity: .8;    
}

.inquiry_btn_send {
    position: relative;
    width: 330px;
    transition: .25s;
}
.inquiry_btn_send:hover {
    background: #e3f0f2;
}
.inquiry_btn_send::after {
    transform: skewX(-5deg);
    content: "";
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    right: -5px;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transition: .25s;
}
.inquiry_btn_send input[type="submit"] {
    position: relative;
    z-index: 3;
    display: block;
    width: 330px;
    padding: 35px 40px;
    background: #fff;
    border: 1px solid #447cc2;
    border-right: none;
    border-bottom: 10px solid #447cc2;
    color: #447cc2;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    text-align: left;
    transition: .25s;
}
.inquiry_btn_send:hover::after,
.inquiry_btn_send input[type="submit"]:hover {
    background: #e3f0f2;
}
.inquiry_btn_send.undone::after {
    background: #f0f2f4;
    border-color: #969faa;
}
.inquiry_btn_send.undone input[type="submit"] {
    color: #969faa;
    background: #f0f2f4;
    border-color: #969faa;
    pointer-events: none;
}
.inquiry_btn_send.undone span {
    display: none;
}
.inquiry_btn_send span::before {
    z-index: 3;
    content: "";
    margin: auto;
    position: absolute;
    top: calc(50% - 8px);
    right: 20px;
    width: 15px;
    height: 15px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(45deg);
    transition: .25s;
}
.inquiry_btn_send span::after {
    z-index: 3;
    content: "";
    margin: auto;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 50px;
    height: 1px;
    background: #447cc2;
    transition: .25s;
}
.inquiry_btn_send:hover span::before,
.inquiry_btn_send:hover span::after {
    right: 10px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .inquiry_area {
        padding-bottom: 9vw;
    }
    .inquiry_table {
        margin-bottom: 6vw;
    }
    .inquiry_table th {
        width: 20vw;
        padding: 3vw 4vw 3vw 0;
        font-size: 1.6vw;
    }
    .inquiry_table th span {
        margin: .4vw 0;
        padding: .5vw 1.5vw;
        border-radius: 2vw;
        font-size: 1.1vw;
    }
    .inquiry_table td {
        padding: 3vw 0;
        font-size: 1.5vw;
    }
    .inquiry_explain {
        margin-top: -1.5vw;
        font-size: 1.2vw;
    }
    .inquiry_error {
        margin-bottom: -1.5vw;
        font-size: 1.2vw;
    }
    .inquiry_confirm_attachment {
        margin-right: 3vw;
    }
    .inquiry_table input[type="text"],
    .inquiry_table input[type="tel"],
    .inquiry_table input[type="email"],
    .inquiry_table textarea {
        margin: .5vw 0;
        padding: 1.5vw 2vw;
        width: calc(100% - 4vw - 2px);
        font-size: 1.5vw;
    }
    .inquiry_table textarea {
        height: 10vw;
    }
    .inquiry_table .inquiry_select select {
        margin: .5vw 0;
        padding: 1.5vw 2vw;
        min-width: 25vw;
        font-size: 1.5vw;
    }
    .inquiry_table .inquiry_select::after {
        top: calc(50% - 1.2vw);
        right: 2vw;
        width: 1.5vw;
        height: 1.5vw;
    }
    .inquiry_table .inquiry_select:hover::after {
        top: calc(50% - .6vw);
    }

    .inquiry_name li,
    .inquiry_zip li {
        width: 48%;
    }
    .inquiry_name li span,
    .inquiry_zip li span {
        width: 2.4vw;
    }
    .inquiry_zip li a::after {
        top: calc(50% - 1vw);
        right: -3vw;
        width: 1.5vw;
        height: 1.5vw;
    }
    .inquiry_address dt {
        width: 12vw;
    }
    .inquiry_address dd {
        width: calc(100% - 12vw);
    }

    .inquiry_radio li,
    .inquiry_checkbox li {
        margin: 1vw 2vw 1vw 0;
    }
    .inquiry_radio li label,
    .inquiry_checkbox li label {
        font-size: 1.6vw;
    }

    .inquiry_file {
        margin-bottom: 1vw;
    }
    .inquiry_file label {
        font-size: 1.6vw;
    }
    .inquiry_file label::after {
        top: calc(50% - .4vw);
        right: -2vw;
        width: 1.2vw;
        height: 1.2vw;
    }
    .inquiry_file_text {
        margin: .5vw 0 1vw;
        padding: 1.5vw 2vw;
        width: calc(100% - 4vw - 2px);
        font-size: 1.6vw;
    }
    
    /* privacy */

    .inquiry_privacy {
        margin-bottom: 4vw;
        padding: 2vw 3vw 1vw;
        height: 30vw;
    }
    .inquiry_privacy::-webkit-scrollbar{
        width: 2vw;
    }
    .inquiry_privacy_check {
        font-size: 1.75vw;
        margin: 0 auto 8vw;
    }
    .inquiry_privacy_check .inquiry_error {
        margin: 2vw 0 0;
    }

    /* btn */

    .inquiry_btn {
        margin-bottom: 3vw;
    }
    .inquiry_btn_back {
        margin-right: 6vw;
    }

    .inquiry_btn_send {
        width: 300px;
    }
    .inquiry_btn_send input[type="submit"] {
        width: 300px;
        padding: 25px 40px;
        font-size: 18px;
    }
    .inquiry_btn_send::after {
        right: -4px;
    }

}
@media screen and (max-width: 479px){    
    
    .inquiry_area {
        padding-bottom: 60px;
    }
    .inquiry_table {
        margin-bottom: 50px;
    }
    .inquiry_table tr,
    .inquiry_table tr th,
    .inquiry_table tr td {
        display: block;
        width: 100%;
    }
    .inquiry_table th {
        padding: 25px 0 15px;
        border-bottom: none;
        font-size: 16px;
    }
    .inquiry_table td {
        padding: 10px 0 30px;
    }
    .inquiry_explain {
        margin-top: -5px;
    }
    .inquiry_error {
        margin-bottom: -10px;
    }
    .inquiry_confirm_attachment {
        margin-right: 30px;
    }
    .inquiry_table input[type="text"],
    .inquiry_table input[type="tel"],
    .inquiry_table input[type="email"],
    .inquiry_table textarea {
        padding: 15px;
        width: calc(100% - 30px - 2px);
    }
    .inquiry_table textarea {
        height: 150px;
    }
    .inquiry_table .inquiry_select select {
        padding: 15px;
    }

    .inquiry_address {
        display: block;
    }
    .inquiry_address dt {
        width: 100%;
        margin: 10px 0 5px;
    }
    .inquiry_address dd {
        width: 100%;
    }
    
    /* privacy */

    .inquiry_privacy {
        margin-bottom: 30px;
        padding: 15px 15px 5px;
        height: 150px;
    }
    .inquiry_privacy p,
    .inquiry_privacy ul {
        margin-bottom: 15px!important;
        font-size: 14px!important;
        line-height: 1.5!important;
    }
    .inquiry_privacy ul li {
        font-size: 14px!important;
        line-height: 1.5!important;
    }
    .inquiry_privacy::-webkit-scrollbar{
        width: 3vw;
    }
    .inquiry_privacy_check {
        font-size: 3.5vw;
        margin: 0 auto 50px;
    }
    
    /* btn */

    .inquiry_btn {
        display: block;
    }
    .inquiry_btn_back {
        margin: 0 0 40px;
        text-align: center;
    }
    .inquiry_btn_back::before {
        left: calc(50% - 60px);
    }
    .inquiry_btn_send {
        margin: 0 auto;
        width: 300px;
    }
    .inquiry_btn_send input[type="submit"] {
        width: 300px;
        padding: 20px 40px;
    }
    
}
@media screen and (max-width: 374px){
    
    .inquiry_table .inquiry_select select {
        min-width: 270px;
    }
    
    /* btn */
    
    .inquiry_btn_send,
    .inquiry_btn_send input[type="submit"] {
        width: 270px;
    }

}


/*-------------------- module --------------------*/

/*--- text, list, image, video ---*/

.mod_text {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 2;
}
.mod_text_large {
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 2;
}
.mod_text_left {
    text-align: left!important;
}
.mod_text_center {
    text-align: center!important;
}
.mod_text_right {
    text-align: right!important;
}
.mod_text_medium {
    font-weight: 500!important;
}
.mod_text_bold {
    font-weight: bold!important;
}

.mod_list,
.mod_list_num,
.mod_list_kome {
    margin-bottom: 25px;
}
.mod_list_atte,
.mod_list_atte_num,
.mod_list_kome_num {
    margin-bottom: 25px;
}
.mod_list li,
.mod_list_num li,
.mod_list_kome li,
.mod_list_atte li,
.mod_list_atte_num li,
.mod_list_kome_num li {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.6875;
}
.mod_list_atte li,
.mod_list_atte_num li,
.mod_list_kome_num li {
    margin-bottom: 5px;
    font-size: 14px;
}
.mod_list li {
    list-style: outside disc;
    margin-left: 16px;
}
.mod_list_num li {
    list-style: outside decimal;
    margin-left: 16px;
}
.mod_list_kome li {
    margin-left: -2px;
    padding-left: 18px;
    text-indent: -18px;
}
.mod_list_kome li::before {
    margin-right: 2px;
    content: "※";
}
.mod_list_atte li {
    padding-left: 28px;
    text-indent: -28px;
}
.mod_list_atte li::before {
    content: "注）";
}
.mod_list_atte_num li,
.mod_list_kome_num li {
    padding-left: 35px;
    text-indent: -35px;
    counter-increment: cnt;
}
.mod_list_atte_num li::before {
    content: "注"counter(cnt)"）";
}
.mod_list_kome_num li::before {
    content: "※"counter(cnt)"）";
}

.mod_image {
    margin-bottom: 30px;
}
.mod_image img {
    border-radius: 20px;
}
.mod_image_caption {
    margin: -20px 0 40px;
    font-size: 14px;
    line-height: 1.6875;
}

.mod_video {
    margin-bottom: 30px;
}
.mod_video img,
.mod_video iframe,
.mod_video video {
    border-radius: 20px;
    width: 100%;
    height: 810px;
}
.mod_col_2 .mod_video img,
.mod_col_2 .mod_video iframe,
.mod_col_2 .mod_video video {
    height: 378px;
}
.mod_video iframe {
    border-radius: 0;
}

@media screen and (max-width: 1480px){
    
    .mod_video img,
    .mod_video iframe,
    .mod_video video {
        height: 720px;
    }
    .mod_col_2 .mod_video img,
    .mod_col_2 .mod_video iframe,
    .mod_col_2 .mod_video video {
        height: 336px;
    }

}
@media screen and (max-width: 1320px){
  
    .mod_video img,
    .mod_video iframe,
    .mod_video video {
        height: 53.5vw;
    }
    .mod_col_2 .mod_video img,
    .mod_col_2 .mod_video iframe,
    .mod_col_2 .mod_video video {
        height: 25vw;
    }

}
@media screen and (min-width: 480px) and (max-width: 1024px){
    
    .mod_text {
        margin-bottom: 3vw;
        font-size: 1.5vw;
    }
    .mod_text_large {
        margin-bottom: 3vw;
        font-size: 1.6875vw;
    }

    .mod_list,
    .mod_list_num,
    .mod_list_kome {
        margin-bottom: 2.5vw;
    }
    .mod_list_atte,
    .mod_list_atte_num,
    .mod_list_kome_num {
        margin-bottom: 2.5vw;
    }
    .mod_list li,
    .mod_list_num li,
    .mod_list_kome li,
    .mod_list_atte li,
    .mod_list_atte_num li,
    .mod_list_kome_num li {
        margin-bottom: .5vw;
        font-size: 1.5vw;
    }
    .mod_list_atte li,
    .mod_list_atte_num li,
    .mod_list_kome_num li {
        margin-bottom: .5vw;
        font-size: 1.3vw;
    }
    .mod_list li {
        margin-left: 1.5vw;
    }
    .mod_list_num li {
        margin-left: 1.5vw;
    }
    .mod_list_kome li {
        margin-left: -.2vw;
        padding-left: 1.75vw;
        text-indent: -1.75vw;
    }
    .mod_list_kome li::before {
        margin-right: .2vw;
    }
    .mod_list_atte li {
        padding-left: 2.5vw;
        text-indent: -2.5vw;
    }
    .mod_list_atte_num li,
    .mod_list_kome_num li {
        padding-left: 3vw;
        text-indent: -3vw;
    }
    
    .mod_image {
        margin-bottom: 3vw;
    }
    .mod_image img {
        border-radius: 1.5vw;
    }
    .mod_image_caption {
        margin: -1.75vw 0 3vw;
        font-size: 1.2vw;
    }
    .mod_video img,
    .mod_video video {
        border-radius: 1.5vw;
    }

}
@media screen and (max-width: 479px){
    
    .mod_text,
    .mod_text_large {
        margin-bottom: 25px;
    }
    
    .mod_list,
    .mod_list_num,
    .mod_list_kome,
    .mod_list_atte,
    .mod_list_atte_num,
    .mod_list_kome_num {
        margin-bottom: 25px;
    }    

    .mod_image {
        margin-bottom: 25px;
    }
    
    .mod_video img,
    .mod_video iframe,
    .mod_video video,
    .mod_col_2 .mod_video img,
    .mod_col_2 .mod_video iframe,
    .mod_col_2 .mod_video video {
        height: 50vw;
    }

}

/*--- title ---*/

.mod_title_h2,
.mod_title_h3,
.mod_title_h4 {
    color: #447cc2;
    font-weight: bold;
    font-style: italic;
    line-height: 1.5;
}

.mod_title_h2 {
    margin-bottom: 45px;
    padding: 0 0 30px;
    border-bottom: 1px solid #447cc2;
    font-size: 38px;
}
.mod_title_h3 {
    margin-bottom: 35px;
    padding-left: 36px;
    background: url("/shared/img/common/module/mark_h3.png") no-repeat;
    background-position: left top 10px;
    background-size: auto 20px;
    font-size: 26px;
}
.mod_title_h4 {
    margin-bottom: 30px;
    padding-left: 27px;
    background: url("/shared/img/common/module/mark_h4.png") no-repeat;
    background-position: left top 9px;
    background-size: auto 14px;
    font-size: 20px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .mod_title_h2 {
        margin-bottom: 3.3vw;
        padding: 0 0 2vw;
        font-size: 3vw;
    }
    .mod_title_h3 {
        margin-bottom: 3vw;
        padding-left: 3vw;
        background-position: left top .75vw;
        background-size: auto 2vw;
        font-size: 2.25vw;
    }
    .mod_title_h4 {
        margin-bottom: 2.8vw;
        padding-left: 2.5vw;
        background-position: left top .7vw;
        background-size: auto 1.4vw;
        font-size: 1.75vw;
    }
    
}
@media screen and (max-width: 479px){
    
    .mod_title_h2 {
        margin-bottom: 30px;
        padding: 0 0 20px;
        font-size: 24px;
    }
    .mod_title_h3 {
        margin-bottom: 28px;
        font-size: 22px;
        background-position: left top 7px;
    }
    .mod_title_h4 {
        margin-bottom: 24px;
        font-size: 18px;
        background-position: left top 7px;
    }
    
}

/*--- column ---*/

.mod_col_2,
.mod_col_3,
.mod_col_4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.mod_col_2 .mod_col_box {
    width: 46.6666%;
}
.mod_col_2 .mod_col_box_wide {
    width: 48.6111%;
}
.mod_col_3 .mod_col_box {
    width: 30%;
}
.mod_col_3::after{
    content: "";
    display: block;
    width: 30%;
}
.mod_col_4 .mod_col_box {
    width: 21.25%;
}
.mod_col_4::before,
.mod_col_4::after {
    content: "";
    display: block;
    width: 21.25%;
}
.mod_col_4::before{
    order: 1;
}

.mod_col_1 .mod_col_box {
    margin: 0 auto;
}

@media screen and (max-width: 479px){
    
    .mod_col_2 .mod_col_box,
    .mod_col_2.mod_col_sp_1 .mod_col_box,
    .mod_col_2.mod_col_sp_1 .mod_col_box_wide {
        width: 100%;
    }
    
    .mod_col_3 .mod_col_box,
    .mod_col_3::after,
    .mod_col_4 .mod_col_box,
    .mod_col_4::before,
    .mod_col_4::after {
        width: 100%;
    }
    
}

/*--- btn ---*/

.mod_btn_frame {
    display: flex;
    justify-content: flex-end;
}
.mod_btn {
    position: relative;
    width: 400px;
    background: #fff;
    transition: .25s;
}
.mod_btn:hover {
    background: #e3f0f2;
}
.mod_btn::after {
    transform: skewX(-5deg);
    content: "";
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    right: -4px;
    background: #fff;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transition: .25s;
}
.mod_btn:hover::after,
.mod_btn_back .mod_btn:hover::after {
    background: #e3f0f2;
}
.mod_btn a {
    position: relative;
    z-index: 3;
    display: block;
    padding: 25px 40px;
    border: 1px solid #447cc2;
    border-right: none;
    border-bottom: 10px solid #447cc2;
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
}
.mod_btn a:hover {
    text-decoration: none;
}
.mod_btn_blue a,
.mod_btn_blue::after {
    background: #e6fcfd;
}
.mod_btn_blue a:hover,
.mod_btn_blue:hover::after {
    background: #c8f0f2;
}
.mod_btn_gray a,
.mod_btn_gray::after {
    pointer-events: none;
    color: #757982;
    background: #f0f2f4;    
}
.mod_btn_gray {
    border-bottom: 1px solid #447cc2;
}
.mod_btn_gray a {
    border-bottom: none;
}
.mod_btn_gray::after {
    height: calc(100% - 1px);
    border-bottom: 1px solid #447cc2;
}


.mod_btn_back .mod_btn::after {
    transform: skewX(5deg);
    right: auto;
    left: -4px;
    border-left: 1px solid #447cc2;
    border-right: none;
}
.mod_btn_back .mod_btn a {
    border-left: none;
    border-right: 1px solid #447cc2;
    text-align: right;
}

.mod_btn_arrow a {
    position: relative;
}
.mod_btn_arrow a::before {
    content: "";
    margin: auto;
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
    width: 15px;
    height: 15px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(45deg);
    transition: .25s;
}
.mod_btn_arrow a::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 50px;
    height: 1px;
    background: #447cc2;
    transition: .25s;
}
.mod_btn.mod_btn_arrow a:hover::before,
.mod_btn.mod_btn_arrow a:hover::after {
    right: 5px;
}
.mod_btn_back .mod_btn_arrow a::before {
    right: auto;
    left: 25px;
    transform: rotate(-135deg);
}
.mod_btn_back .mod_btn_arrow a::after {
    right: auto;
    left: 25px;
}
.mod_btn_back .mod_btn.mod_btn_arrow a:hover::before,
.mod_btn_back .mod_btn.mod_btn_arrow a:hover::after {
    right: auto;
    left: 15px;
}

.mod_btn_single,
.mod_btn_set {
    margin-bottom: 30px;
}
.mod_btn_center {
    margin-bottom: 30px;
}
.mod_btn_single li {
    margin: 0 auto 30px;
}
.mod_btn_single.mod_btn_left li {
    margin: 0 0 30px;
}
.mod_btn_single.mod_btn_back li {
    margin: 0 0 30px 10px;
}
.mod_btn_center {
    display: flex;
    flex-wrap: wrap;
}
.mod_btn_center li {
    margin: 0 30px 30px 0;
}
.mod_btn_set {
    display: flex;
    flex-wrap: wrap;
}
.mod_btn_set li:nth-of-type(1) { z-index: 10 }
.mod_btn_set li:nth-of-type(2) { z-index: 9 }
.mod_btn_set li:nth-of-type(3) { z-index: 8 }
.mod_btn_set li:nth-of-type(4) { z-index: 7 }
.mod_btn_set li:nth-of-type(5) { z-index: 6 }
.mod_btn_set li:nth-of-type(6) { z-index: 5 }
.mod_btn_set li:nth-of-type(7) { z-index: 4 }
.mod_btn_set li:nth-of-type(8) { z-index: 3 }
.mod_btn_set li:nth-of-type(9) { z-index: 2 }
.mod_btn_set li:nth-of-type(10) { z-index: 1 }
.mod_btn_single .mod_btn a,
.mod_btn_center .mod_btn a,
.mod_btn_set .mod_btn a {
    padding-right: 70px;
}
.mod_btn_center .mod_btn a,
.mod_btn_set .mod_btn a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 30px;
}
.mod_btn a .mod_btn_text {
    max-width: calc(100% - 45px);
}
.mod_btn a .mod_blank {
    display: inline-block;
    margin: 0 0 -5px 10px;
    width: 24px;
    height: 24px;
    background: url("/shared/img/common/icon_blank_2.png") no-repeat;
    background-size: cover;
}
.mod_btn a .mod_pdf {
    margin-left: 10px;
    padding: 1px 5px 1px 3px;
    width: auto;
    height: 12px;
    border: 1px solid #447cc2;
    font-size: 12px;
    font-style: italic;
    font-weight: normal;
}
.mod_btn_single .mod_btn a .mod_pdf {
    position: relative;
    top: -2px;
}
.mod_btn_center .mod_btn a .mod_pdf,
.mod_btn_set .mod_btn a .mod_pdf {
    display: flex;
    align-items: center;
}

.btn_area .mod_btn_set {
    justify-content: flex-start;
    margin: -35px 0 0;
}
.btn_area .mod_btn_set .mod_btn {
    width: 450px;
}
.mod_btn_set .mod_btn {
    margin-bottom: -1px;
}

@media screen and (min-width: 1025px) and (max-width: 1499px){
    
    .mod_btn_center .mod_btn {
        width: 26vw;
    }
    .mod_btn_set .mod_btn {
        width: 28vw;
    }
    .mod_btn_single .mod_btn a,
    .mod_btn_center .mod_btn a,
    .mod_btn_set .mod_btn a {
        font-size: 1.5vw;
    }

}
@media screen and (min-width: 480px) and (max-width: 1439px){

    .btn_area .mod_btn_set {
        margin: -3vw 0 0;
    }
    .btn_area .mod_btn_set .mod_btn {
        width: 32vw;
    }
    .btn_area .mod_btn_set .mod_btn a {
        font-size: 1.75vw;
    }
    
}
@media screen and (min-width: 480px) and (max-width: 1024px){

    .mod_btn {
        width: 40vw;
    }
    .mod_btn::after {
        width: 1.6vw;
        right: -.4vw;
    }
    .mod_btn_back .mod_btn::after {
        right: auto;
        left: -.4vw;
    }
    .mod_btn a {
        padding: 2.5vw 4vw;
        border-bottom-width: 1vw;
        font-size: 2vw;
        line-height: 3vw;
    }

    .mod_btn_arrow a::before {
        top: calc(50% - .8vw);
        right: 1vw;
        width: 1.5vw;
        height: 1.5vw;
    }
    .mod_btn_arrow a::after {
        right: 1vw;
        width: 5vw;
    }
    .mod_btn.mod_btn_arrow a:hover::before,
    .mod_btn.mod_btn_arrow a:hover::after {
        right: 0;
    }
    .mod_btn_back .mod_btn_arrow a::before {
        right: auto;
        left: 2vw;
    }
    .mod_btn_back .mod_btn_arrow a::after {
        right: auto;
        left: 2vw;
    }
    .mod_btn_back .mod_btn.mod_btn_arrow a:hover::before,
    .mod_btn_back .mod_btn.mod_btn_arrow a:hover::after {
        right: auto;
        left: 1vw;
    }
    
    .mod_btn_center .mod_btn {
        width: 27.5vw;
    }
    .mod_btn_set .mod_btn {
        width: 30vw;
    }
    .mod_btn_single,
    .mod_btn_set {
        margin-bottom: 4.5vw;
    }
    .mod_btn_center {
        margin-bottom: 3vw;
    }
    .mod_btn_single li {
        margin: 0 auto 2.4vw;
    }
    .mod_btn_center li {
        margin: 0 2.4vw 2.4vw 0;
    }
    .mod_btn_single .mod_btn a,
    .mod_btn_center .mod_btn a,
    .mod_btn_set .mod_btn a {
        padding-right: 6.5vw;
    }
    .mod_btn_center .mod_btn a,
    .mod_btn_set .mod_btn a {
        height: 3vw;
    }
    .mod_btn a .mod_btn_text {
        max-width: calc(100% - 4vw);
    }
    .mod_btn a .mod_blank {
        margin: 0 0 -.4vw .8vw;
        width: 2vw;
        height: 2vw;
    }
    .mod_btn a .mod_pdf {
        margin-left: 1vw;
        padding: .05vw .4vw .05vw .25vw;
        height: 1vw;
        font-size: 1vw;
    }
    .mod_btn_single .mod_btn a .mod_pdf {
        top: -.1vw;
    }

}
@media screen and (max-width: 479px){

    .mod_btn {
        width: 90%;
        max-width: 400px;
    }
    .mod_btn::after {
        width: 16px;
        height: calc(100% - 1px);
        top: 0;
    }
    .ticket_btn_col2 .mod_btn::after {
        width: 14px;
        right: -7px;
    }
    .mod_btn a {
        padding: 20px 30px;
    }
    .mod_btn a .mod_btn_text {
        display: inline;
        max-width: auto;
    }
    
    .mod_btn_center .mod_btn {
        width: 300px;
    }
    .mod_btn_single,
    .mod_btn_set {
        margin-bottom: 60px;
    }
    .mod_btn_center {
        margin-bottom: 30px;
    }
    .mod_btn_center {
        display: block;
    }
    .mod_btn_center li {
        margin: 0 auto 30px;
    }
    .mod_btn_center .mod_btn a,
    .mod_btn_set .mod_btn a {
        display: block;
        height: auto;
    }
    .mod_btn_center .mod_btn a .mod_pdf,
    .mod_btn_set .mod_btn a .mod_pdf {
        display: inline;
    }
    .mod_btn_set {
        display: block;
    }
    .mod_btn_set .mod_btn {
        width: 92.5vw;
        margin-left: -30px;
        margin-bottom: -1px;
    }
    .btn_area .mod_btn_set {
        margin: -200px 0 0 4vw;
    }
    .btn_area .mod_btn_set .mod_btn {
        width: 92.5vw;
    }

}
@media screen and (max-width: 374px){
    
    .mod_btn {
        max-width: 95%;
    }
    .mod_btn_set .mod_btn,
    .btn_area .mod_btn_set .mod_btn {
        width: 95vw;
        max-width: calc(100% + 40px);
    }
    
}


/*--- link ---*/

.mod_link a {
    position: relative;
    display: inline;
    font-weight: bold;
}
.mod_link span.mod_arrow {
    display: inline;
    position: relative;
    width: 30px;
    margin-left: 15px;
}
.mod_link span.mod_arrow::before,
.mod_link span.mod_arrow::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -24px;
}
.mod_link span.mod_arrow::before {
    width: 12px;
    height: 12px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(45deg);
}
.mod_link span.mod_arrow::after {
    width: 30px;
    height: 1px;
    background: #447cc2;
}
.mod_link span.mod_blank {
    position: relative;
    top: 2px;
    margin-left: 10px;
    content: url("/shared/img/common/icon_blank.png");
}
.mod_link span.mod_pdf {
    position: relative;
    display: inline;
    margin-left: 10px;
    padding: 1px 10px 1px 5px;
    width: 30px;
    height: 16px;
    border: 1px solid #447cc2;
    border-right: none;
    color: #447cc2;
    font-size: 14px;
    font-style: normal;
    font-weight: bold;
}
.mod_link span.mod_pdf::after {
    transform: skewX(-15deg);
    content: "";
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    top: -1px;
    right: -3px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
}

.mod_link.mod_text {
    margin-bottom: 25px;
}
.mod_link.mod_text li {
    margin-bottom: 5px;
}
.mod_link.mod_text span.mod_arrow::before {
    right: -8px;
}
.mod_link.mod_text span.mod_arrow::after {
    display: none;
}
.mod_link.mod_text span.mod_blank {
    display: inline-block;
    top: 5px;
    width: 24px;
    height: 24px;
    background: url("/shared/img/common/icon_blank_2.png") no-repeat;
    background-size: cover;
    content: none;
}
.mod_link.mod_text span.mod_pdf {
    padding: 1px 7px 1px 4px;
    width: auto;
    height: 14px;
    border-right: 1px solid #447cc2;
    font-size: 12px;
    font-style: italic;
    font-weight: normal;
}
.mod_link.mod_text span.mod_pdf::after {
    display: none;
}

.mod_ankerlink {
    margin-bottom: 60px;
    display: flex;
    flex-wrap: wrap;
}
.mod_ankerlink li {
    margin: 0 60px 30px 0;
}
.mod_ankerlink li a {
    position: relative;
    display: block;
    padding: 0 40px 10px 0;
    font-size: 26px;
    font-weight: 700;
    font-style: italic;
    line-height: 1.6;
    border-bottom: 4px solid #dbecee;
}
.mod_ankerlink a::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 20px;
    right: 5px;
    width: 15px;
    height: 15px;
    border-top: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    transform: rotate(135deg);
    transition: .25s;
}
.mod_ankerlink a::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 7px;
    right: 13px;
    width: 1px;
    height: 30px;
    background: #447cc2;
    transition: .25s;
}
.mod_ankerlink li a:hover {
    text-decoration: none;
    border-bottom-color: #447cc2;
}
.mod_ankerlink li a:hover::before {
    top: 27px;
}
.mod_ankerlink li a:hover::after {
    top: 14px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .mod_link span.mod_arrow {
        width: 3vw;
        margin-left: 1.5vw;
    }
    .mod_link span.mod_arrow::before {
        right: -2.4vw;
        width: 1.2vw;
        height: 1.2vw;
    }
    .mod_link span.mod_arrow::after {
        right: -2.4vw;
        width: 3vw;
    }
    .mod_link span.mod_blank {
        top: .2vw;
        font-size: 2vw;
    }
    .mod_link span.mod_pdf {
        margin-left: 1vw;
        padding: .1vw 1vw .1vw .5vw;
        width: 3vw;
        height: 1.6vw;
        font-size: 1.4vw;
    }
    .mod_link span.mod_pdf::after {
        width: 1.6vw;
        top: -.1vw;
        right: -.3vw;
    }

    .mod_link.mod_text {
        margin-bottom: 2.5vw;
    }
    .mod_link.mod_text li {
        margin-bottom: .5vw;
    }
    .mod_link.mod_text span.mod_arrow::before {
        right: -8px;
    }
    .mod_link.mod_text span.mod_blank {
        top: .4vw;
        width: 2vw;
        height: 2vw;
    }
    .mod_link.mod_text span.mod_pdf {
        padding: .05vw .5vw .05vw .4vw;
        height: 1.2vw;
        font-size: 1vw;
    }
    
    .mod_ankerlink {
        margin-bottom: 5vw;
    }
    .mod_ankerlink li {
        margin: 0 4vw 3vw 0;
    }
    .mod_ankerlink li a {
        padding: 0 40px 10px 0;
        font-size: 2.25vw;
    }
    .mod_ankerlink a::before {
        top: calc(-10px + 2.75vw);
    }
    .mod_ankerlink a::after {
        height: 2.75vw;
    }
    .mod_ankerlink li a:hover::before {
        top: calc(-10px + 3.25vw);
    }
    .mod_ankerlink li a:hover::after {
        top: calc(7px + .5vw);
    }    
    
}
@media screen and (max-width: 479px){

    .mod_link.mod_text {
        margin-bottom: 25px;
    }
    .mod_link.mod_text li {
        margin-bottom: 5px;
    }
    .mod_link.mod_text span.mod_arrow::before {
        right: -8px;
    }
    .mod_link.mod_text span.mod_blank {
        top: 4px;
    }
    .mod_link.mod_text span.mod_pdf {
        padding: 1px 7px 1px 4px;
        height: 14px;
        font-size: 12px;
    }
    
    .mod_ankerlink li {
        margin: 0 20px 15px 0;
    }
    .mod_ankerlink li a {
        font-size: 22px;
        line-height: 1.4;
    }
    .mod_ankerlink a::before {
        top: 13px;
    }
    .mod_ankerlink a::after {
        top: 5px;
        height: 24px;
    }
    .mod_ankerlink li a:hover::before {
        top: 18px;
    }
    .mod_ankerlink li a:hover::after {
        top: 10px;
    }

}

/*--- table ---*/

.mod_table {
    margin-bottom: 60px;
    width: 100%;
    border-top: 1px solid #447cc2;
    border-left: 1px solid #447cc2;
}
.mod_table th,
.mod_table td {
    border-right: 1px solid #447cc2;
    border-bottom: 1px solid #447cc2;
    line-height: 1.6;
}
.mod_table th {
    padding: 23px 30px;
    text-align: left;
    font-size: 17px;
    font-weight: bold;
}
.mod_table td {
    padding: 23px 20px;
    font-size: 16px;
}
.mod_table_blue {
    background: #eef6f7;
}
.mod_table .mod_text,
.mod_table .mod_list,
.mod_table .mod_list li,
.mod_table .mod_list_num,
.mod_table .mod_list_num li,
.mod_table .mod_list_kome,
.mod_table .mod_list_kome li,
.mod_table .mod_list_atte,
.mod_table .mod_list_atte li,
.mod_table .mod_list_atte_num,
.mod_table .mod_list_atte_num li,
.mod_table .mod_list_kome_num,
.mod_table .mod_list_kome_num li,
.mod_table .mod_link {
    margin-bottom: 0!important;
}
.mod_table .mod_btn {
    text-align: left!important;
}
.mod_table .mod_btn_single,
.mod_table .mod_btn_center,
.mod_table .mod_btn_set {
    margin-top: 30px;
}


@media screen and (max-width: 1320px){

    .mod_table_scroll {
        margin-bottom: 60px;
        overflow-x: auto;
    }
	.mod_table_scroll::-webkit-scrollbar{
	   width: 10px;
	}
	.mod_table_scroll::-webkit-scrollbar-track{
	   background-color: #e4e7ec;
	}
	.mod_table_scroll::-webkit-scrollbar-thumb{
	   background-color: #447cc2;
	}
    .mod_table_scroll .mod_table {
        margin-bottom: 20px;
        min-width: 1280px;
    }

}
@media screen and (min-width: 480px) and (max-width: 1024px){

    .mod_table {
        margin-bottom: 5vw;
    }
    .mod_table th {
        padding: 2vw 2.5vw;
        font-size: 1.55vw;
    }
    .mod_table td {
        padding: 2vw 2.5vw;
        font-size: 1.5vw;
    }
    .mod_table_scroll .mod_table {
        margin-bottom: 1.5vw;
        min-width: 100vw;
    }
    
    .mod_table .mod_btn_single,
    .mod_table .mod_btn_center,
    .mod_table .mod_btn_set {
        margin-top: 3vw;
    }

}
@media screen and (max-width: 479px){

    .mod_table {
        margin-bottom: 40px;
    }
    .mod_table th {
        padding: 16px 12px;
        font-size: 16px;
    }
    .mod_table td {
        padding: 16px 12px;
        font-size: 15px;
    }
    .mod_table_scroll .mod_table {
        margin-bottom: 15px;
        min-width: 1200px;
    }
    .mod_table_scroll .mod_table th {
        padding: 16px 30px;
    }
    .mod_table_scroll .mod_table td {
        padding: 16px 20px;
    }
    
}

/*--- accordion, framebox ---*/

.mod_accordion {
    margin-bottom: 60px;
    border-left: 1px solid #447cc2;
    border-right: 1px solid #447cc2;
    border-bottom: 1px solid #447cc2;
}
.mod_accordion dt {
    position: relative;
    padding: 40px 135px 40px 45px;
    border-top: 1px solid #447cc2;
    color: #447cc2;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    line-height: 1.6;
    cursor: pointer;
}
.mod_accordion dd {
    padding: 60px 60px 30px;
    background: #eef6f7;
}
.mod_accordion dt span {
    display: block;
    position: absolute;
    top: 50%;
    right: 40px;
    width: 60px;
    height: 1px;
    background: #447cc2;
}
.mod_accordion dt span:nth-of-type(2) {
    display: block;
    transform: rotate(90deg);
}
.mod_accordion dt.minus span:nth-of-type(2) {
    display: none;
}
.mod_accordion dd {
    display: none;
}
.mod_accordion dt.opened + dd {
    display: block;
}

.mod_framebox {
    margin-bottom: 60px;
    padding: 60px 60px 30px;
    background: #eef6f7;
    border: 1px solid #447cc2;
    border-radius: 20px;
}

@media screen and (min-width: 480px) and (max-width: 1024px){

    .mod_accordion {
        margin-bottom: 4.5vw;
    }
    .mod_accordion dt {
        padding: 3vw 10vw 3vw 3.3vw;
        font-size: 1.75vw;
    }
    .mod_accordion dd {
        padding: 4.5vw 4.5vw 2.5vw;
    }
    .mod_accordion dt span {
        right: 3vw;
        width: 4.5vw;
    }

    .mod_framebox {
        margin-bottom: 4.5vw;
        padding: 4.5vw 4.5vw 2.5vw;
        border-radius: 1.5vw;
    }
    
}
@media screen and (max-width: 479px){
    
    
    .mod_accordion {
        margin-bottom: 40px;
    }
    .mod_accordion dt {
        padding: 28px 55px 28px 20px;
    }
    .mod_accordion dd {
        padding: 40px 20px 10px;
    }
    .mod_accordion dt span {
        right: 15px;
        width: 40px;
    }

    .mod_framebox {
        margin-bottom: 40px;
        padding: 40px 20px 10px;
    }    
    
}
