@charset "UTF-8";

/* CSS INFORMATION -================================================= */
/* File name : common.css */
/* Description : 共通ベースラインCSS */
/* ================================================================== */

/* ================================================================== */
/*    共通・大枠
/* ================================================================== */
html {
    color: #333;
    font-size: 5px;
    font-size: calc(10 / 750 * 100vw);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, Helvetica, sans-serif;
    background-color: #f3f3f3;
}

@media screen and (min-width: 768px) {
    html {
        font-size: calc(10 / 1100 * 100vw);
    }
}

@media screen and (min-width: 1100px) {
    html {
        font-size: 10px;
    }
}

* {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
}

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

a {
    display: block;
    color: #333;
    text-decoration: none;
}

a:active {
    color: #333;
}

input,
button,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

strong {
    font-weight: 700;
}

.main {
    display: block;
    overflow: hidden;
}

.inner {
    margin: 0 auto;
}

.br {
    white-space: pre-wrap;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
}

@media screen and (min-width: 768px) {
    a {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    a:hover {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .inner {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 calc(50 / 1100 * 100%);
    }

    .sp {
        display: none !important;
    }
}

@media screen and (min-width: 1100px) {
    .inner {
        padding: 0 50px;
    }
}


/* ================================================================== */
/*    動画
/* ================================================================== */
.movie_wrap {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}

.movie_wrap * {
    position: initial;
}

#ytvPlayer,
#player_thumbnail {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.vjs-icon-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.vjs-ima3-ad-container {
    position: absolute !important;
    width: 100%;
    left: 0;
}

.vjs-ima3-html5 .vjs-ima3-ad-container > *,
.vjs-ima3-html5 .vjs-ima3-ad-container > * div,
.vjs-ima3-html5 .vjs-ima3-ad-container > * iframe {
    width: 100%!important;
    height: 100%!important;
    left: 0;
    top: 0;
}

.resumeDialog {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.6);
    font-size: 24px;
    color: #777;
    text-align: center;
}

.resumeDialog .resumeTitle {
    width: 70%;
    height: auto;
    top: 0;
    left: 0;
    right: 0;
    margin: 10% auto 5%;
}

.resumeDialog .playStartImg {
    width: 50%;
    margin: 0 auto;
}

.resumeDialog .resumeStartImg {
    width: 50%;
    margin: 0 auto;
}

.video-js .vjs-time-tooltip {
    word-break: normal;
}

.vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner {
    position: inherit;
}

@media screen and (min-width: 768px) {
    .resumeDialog .resumeTitle {
        position: absolute;
        top: 40%;
        left: 0;
        right: 0;
        width: 50%;
        display: block;
        margin: auto;
        top: 0 !important;
        margin-top: 22% !important;
    }

    .resumeDialog .playStartImg {
        position: absolute;
        top: 54%;
        left: 20%;
        width: 29%;
        display: block;
        top: 0 !important;
        margin-top: 30.5% !important;
    }

    .resumeDialog .resumeStartImg {
        position: absolute;
        top: 54%;
        right: 20%;
        width: 29%;
        display: block;
        top: 0 !important;
        margin-top: 30.5% !important;
    }
}

@media screen and (min-width: 1100px) {

}


/* ================================================================== */
/*    スライダー
/* ================================================================== */
.slick-slider li a:active,
.slick-slider li a:visited,
.slick-slider li a:focus {
    border: 0;
    outline: 0;
}

@media screen and (min-width: 768px) {
    .slick-arrow {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .slick-arrow:hover {
        opacity: 0.7;
    }

    .slick-dots li {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .slick-dots li:not(.slick-active):hover {
        opacity: 0.7;
    }
}

/* ================================================================== */
/*    ボタン
/* ================================================================== */
.btn1 a {
    width: 230px;
    width: calc(460 / 750 * 100vw);
    margin: 0 auto;
    padding: 18px 0;
    padding: calc(35 / 750 * 100vw) 0;
    background-color: #fabe00;
    border-radius: 0.3em;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.arrow1::after {
    content: "";
    display: block;
    width: 7px;
    width: calc(14 / 750 * 100vw);
    height: 15px;
    height: calc(30 / 750 * 100vw);
    background: url(../images/common/btn_arrow_bk.svg) no-repeat left center;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 20px auto 0;
    margin: auto calc(40 / 750 * 100vw) auto 0;
}

.arrow2::after {
    content: "";
    display: block;
    width: 7px;
    width: calc(14 / 750 * 100vw);
    height: 15px;
    height: calc(30 / 750 * 100vw);
    background: url(../images/common/btn_arrow_yellow.svg) no-repeat left center;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 20px auto 0;
    margin: auto calc(40 / 750 * 100vw) auto 0;
}

@media screen and (min-width: 768px) {
    .btn1 a {
        width: calc(226 / 1100 * 100vw);
        padding: calc(11 / 1100 * 100vw) 0;
        font-size: 1.6rem;
    }

    .arrow1::after {
        width: calc(7 / 1100 * 100vw);
        height: calc(13 / 1100 * 100vw);
        margin: auto calc(20 / 1100 * 100vw) auto 0;
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }

    .arrow1:hover::after {
        right: -1%;
    }

    .arrow2::after {
        width: calc(7 / 1100 * 100vw);
        height: calc(12 / 1100 * 100vw);
        margin: auto calc(16 / 1100 * 100vw) auto 0;
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }

    .arrow2:hover::after {
        right: -1%;
    }
}

@media screen and (min-width: 1100px) {
    .btn1 a {
        width: 226px;
    }

    .arrow1::after {
        width: 7px;
        height: 13px;
        margin: auto 20px auto 0;
    }

    .arrow2::after {
        width: 7px;
        height: 12px;
        margin: auto 16px auto 0;
    }
}


/* ================================================================== */
/*    header
/* ================================================================== */
#wrapper {
    padding: 21.33% 0 0;
    padding: calc(160 / 750 * 100%) 0 0;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
}

.header1 {
    padding: 2.8% 4%;
    padding: calc(21 / 750 * 100%) calc(30 / 750 * 100%);
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 0 calc(8 / 750 * 100vw) rgba(0,0,0,0.3);
    box-shadow: 0 0 calc(8 / 750 * 100vw) rgba(0,0,0,0.3);
    z-index: 2;
}

.header1 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.header_ttl {
    width: 27.53%;
    width: calc(190 / 690 * 100%);
}

.header_search {
    width: 43.48%;
    width: calc(300 / 690 * 100%);
}

.search_input {
    width: 100%;
    padding: 6.67% 2.27% 7% 8%;
    padding: calc(20 / 300 * 100%) calc(68 / 300 * 100%) calc(21 / 300 * 100%) calc(24 / 300 * 100%);
    background-color: #f2f2f2;
    border-radius: 4rem;
    color: #8f8f8f;
    font-size: 2.6rem;
}

.search_btn {
    width: 15px;
    width: calc(30 / 750 * 100vw);
    height: 15px;
    height: calc(30 / 750 * 100vw);
    background: url(../images/common/img_mv_search.png) no-repeat left top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 8% auto 0;
    margin: auto calc(24 / 300 * 100%) auto 0;
}

.header2 {
    width: 100%;
    background-color: #ffce33;
    overflow: hidden;
}

.header2 .inner {
    overflow-x: scroll;
}

.header2_nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 3.2%;
    padding: 0 calc(24 / 750 * 100%);
}

.header2_nav_list li {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-right: 0.5em;
}

.header2_nav_list li a {
    padding: 10px 6px;
    padding: calc(20 / 750 * 100vw) calc(12 / 750 * 100vw);
    color: #896d17;
    font-size: 2.5rem;
    line-height: 1;
}

.header2_nav_list li.current a {
    color: #333;
}

.header2_nav_list li.current a::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    height: calc(6 / 750 * 100vw);
    background-color: #3e3e3e;
    position: absolute;
    left: 0;
    bottom: 0;
}

@media screen and (min-width: 768px) {
    #wrapper {
        padding: calc(116 / 1100 * 100%) 0 0;
    }

    .header1 {
        padding: calc(11 / 1100 * 100%) 0;
        -webkit-box-shadow: 0 0 calc(8 / 1100 * 100vw) rgba(0,0,0,0.3);
        box-shadow: 0 0 calc(8 / 1100 * 100vw) rgba(0,0,0,0.3);
    }

    .header_ttl {
        width: calc(175 / 1000 * 100%);
    }

    .header_search {
        width: calc(250 / 1000 * 100%);
        -ms-flex-item-align: center;
        align-self: center;
    }

    .search_input {
        padding: calc(8 / 250 * 100%) calc(45 / 250 * 100%) calc(8 / 250 * 100%) calc(24 / 250 * 100%);
        font-size: 1.6rem;
        font-family: YakuHanJP, "Noto Sans JP", "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
    }

    .search_btn {
        width: calc(19 / 1100 * 100vw);
        height: calc(19 / 1100 * 100vw);
        margin: auto calc(16 / 250 * 100%) auto 0;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .search_btn:hover {
        opacity: 0.7;
    }

    .header2 .inner {
        overflow-x: auto;
    }

    .header2_nav_list li {
        padding-right: calc(30 / 1000 * 100%);
    }

    .header2_nav_list li:last-child {
        padding-right: 0;
    }

    .header2_nav_list li a {
        padding: calc(15 / 1100 * 100vw) calc(5 / 1100 * 100vw);
        font-size: 1.6rem;
    }

    .header2_nav_list li:not(.current) a:hover {
        opacity: 0.7;
    }

    .header2_nav_list li.current a {
        font-weight: 700;
    }

    .header2_nav_list li.current a::after {
        height: calc(6 / 1100 * 100vw);
    }
}

@media screen and (min-width: 1100px) {
    #wrapper {
        padding: 116px 0 0;
    }

    .header1 {
        padding: 11px 0;
        -webkit-box-shadow: 0 0 8px rgba(0,0,0,0.3);
        box-shadow: 0 0 8px rgba(0,0,0,0.3);
    }

    .search_btn {
        width: 19px;
        height: 19px;
    }

    .header2_nav_list li a {
        padding: 15px 5px;
    }

    .header2_nav_list li.current a::after {
        height: 6px;
    }
}

@media screen and (min-width: 1500px) {
    #wrapper {
        padding: 70px 0 0;
    }

    .header1 {
        padding: 0;
    }

    .header1 .inner {
        display: block;
    }

    .header1 .inner::before {
        content: "";
        display: block;
        width: 100%;
        padding-top: 70px;
    }

    .header_ttl {
        width: calc(175 / 1100 * 100%);
        position: absolute;
        top: 0;
        left: 0;
        margin: 11px 0 0 -145px;
    }

    .header_search {
        width: calc(250 / 1100 * 100%);
        position: absolute;
        top: 0;
        right: 0;
        margin: 15px -190px 0 0;
    }

    .header2 {
        width: 1000px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 2;
        margin: 0 auto;
        background-color: transparent;
    }

    .header2 .inner {
        padding: 0;
    }

    .header2_nav_list li a {
        padding: 27px 5px;
        color: #999;
    }

    .header2_nav_list li.current a {
        color: #f39700;
    }

    .header2_nav_list li.current a::after {
        background-color: #ffce33;
    }
}


/* ================================================================== */
/*    pankuzu
/* ================================================================== */
.pankuzu {
    background-color: #ececec;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}

.pankuzu_list {
    padding: 2.53% 2.67%;
    padding: calc(19 / 750 * 100%) calc(20 / 750 * 100%);
}

.pankuzu_list li {
    display: inline;
    color: #8f8f8f;
    font-size: 3rem;
    line-height: 1;
    padding: 0 0.3em 0 0;
}

.pankuzu_list li:not(:last-child)::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0.5em;
    height: 1.4em;
    background: url(../images/common/btn_arrow_yellow.svg) no-repeat center center;
    background-size: 100% auto;
    margin: 0 0 0 0.3em;
}

.pankuzu_list li a,
.pankuzu_list li span {
    display: inline;
    vertical-align: middle;
    padding: 0 0.5em;
    color: #8f8f8f;
}

@media screen and (min-width: 768px) {
    .pankuzu {
        border-top: 0;
        border-width: 2px;
    }

    .pankuzu_list {
        padding: calc(8 / 1000 * 100%) calc(30 / 1000 * 100%);
    }

    .pankuzu_list li {
        font-size: 1.4rem;
    }

    .pankuzu_list li a:hover {
        opacity: 0.7;
    }

    .pankuzu_list li:not(:last-child)::after {
        margin-top: 0.1em;
    }

    .pankuzu_list li a,
    .pankuzu_list li span {
        padding: 0 0.5em;
    }
}


/* ================================================================== */
/*    sns_share
/* ================================================================== */
.sns_share {
    padding: 6.67% 0;
    padding: calc(50 / 750 * 100%) 0;
    background-color: #ebebeb;
}

.sns_share_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 90%;
    width: calc(675 / 750 * 100%);
    margin: 0 auto;
}

.sns_share_list li {
    width: 48.89%;
    width: calc(330 / 675 * 100%);
    margin: 0 2.22% 0 0;
    margin: 0 calc(15 / 675 * 100%) 0 0;
}

.sns_share_list li:last-child {
    margin: 0;
}

.sns_share_list li a {
    padding: 11.52% 0;
    padding: calc(38 / 330 * 100%) 0;
    font-size: 2.8rem;
    border-radius: 0.4em;
    text-align: center;
    color: #fff;
}

.facebookShare a {
    background-color: #3c5a98;
}

.twitterShare a {
    background-color: #000;
}

.sns_share_list li img {
    width: 41.82%;
    width: calc(138 / 330 * 100%);
    margin: 0 auto;
}

@media screen and (min-width: 768px) {
    .sns_share {
        padding: 0;
    }

    .sns_share_list {
        width: calc(492 / 1000 * 100%);
        padding: calc(45 / 1000 * 100%) 0;
    }

    .sns_share_list li {
        width: calc(226 / 492 * 100%);
        margin: 0 calc(40 / 492 * 100%) 0 0;
    }

    .sns_share_list li a {
        padding: calc(18 / 226 * 100%) 0;
        border-radius: 0.2em;
        font-size: 1.6rem;
    }

    .sns_share_list li a:hover {
        opacity: 0.7;
    }

    .sns_share_list li img {
        width: calc(85 / 226 * 100%);
    }
}

@media screen and (min-width: 1200px) {
    .sns_share {
    }
}


/* ================================================================== */
/*    footer
/* ================================================================== */
.footer {
    background-color: #3a4747;
}

.pagetop {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    visibility: visible;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    padding-top: calc(100 / 750 * 100%);
}

.pagetop.fixed {
    position: fixed;
    top: auto;
    bottom: 0;
    z-index: 100;
}

.pagetop.none {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.pagetop a {
    width: 13.33%;
    width: calc(100 / 750 * 100%);
    padding-top: 13.33%;
    padding-top: calc(100 / 750 * 100%);
    background-color: rgba(210, 210, 210, 0.8);
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 0 calc(10 / 750 * 100vw) rgba(0,0,0,0.3);
    box-shadow: 0 0 calc(10 / 750 * 100vw) rgba(0,0,0,0.3);
    border-radius: 50%;
/*
    position: absolute;
    top: 0;
    right: 0;
*/
    z-index: 2;
    margin: -16.67% 2.67% 0 auto;
    margin: calc(-125 / 750 * 100%) calc(20 / 750 * 100%) 0 auto;
}

.pagetop a::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
    background: url(../images/common/btn_slide_arrow1.svg) no-repeat center center;
    background-size: 17% auto;
    background-size: calc(17 / 100 * 100%) auto;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.footer1 {
    background-color: #272727;
}

.footer_nav_list {
/*
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
*/
}

.footer_nav_list::after {
    content: "";
    display: block;
    clear: both;
}

.footer_nav_list li {
    width: 50%;
    float: left;
    border-bottom: 2px solid #535353;
}

.footer_nav_list li:nth-child(odd) {
    border-right: 1px solid #535353;
}

.footer_nav_list li:nth-child(even) {
    border-left: 1px solid #535353;
}

.footer_nav_list li a {
    padding: 11.47% 10.67%;
    padding: calc(43 / 375 * 100%) calc(40 / 375 * 100%);
    color: #fff;
    font-size: 2.6rem;
    line-height: 1;
}

.footer2 {
    padding: 6.67% 0;
    padding: calc(50 / 750 * 100%) 0;
    background-color: #000;
}

.footer_btn_top {
    margin: 0 0 6.67%;
    margin: 0 0 calc(50 / 750 * 100%);
}

.footer_btn_top a {
    width: 61.33%;
    width: calc(460 / 750 * 100%);
    margin: 0 auto;
    padding: 4.27% 0;
    padding: calc(32 / 750 * 100%) 0;
    border: 2px solid #fabe00;
    border-radius: 0.3em;
    color: #fabe00;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.footer2_list li {
    margin: 0 0 2.67%;
    margin: 0 0 calc(20 / 750 * 100%);
}

.footer2_list li:last-child {
    margin: 0;
}

.footer2_list li figure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 86%;
    width: calc(645 / 750 * 100%);
    margin: 0 0 0 auto;
}

.footer2_list li figure img {
    width: 14.11%;
    width: calc(91 / 645 * 100%);
}

.footer2_list li figure figcaption {
    width: 82.79%;
    width: calc(534 / 645 * 100%);
    color: #d1d1d1;
    font-size: 2.4rem;
    line-height: 1;
}

.footer3 {
    padding: 4% 6.67%;
    padding: calc(30 / 750 * 100%) calc(50 / 750 * 100%);
    background-color: #000;
    border-top: 2px solid #fabe00;
}

.footer small {
    display: block;
    color: #fabe00;
    font-size: 2.6rem;
    line-height: 1.5;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .pagetop a {
        width: calc(100 / 1100 * 100%);
        padding-top: calc(100 / 1100 * 100%);
        -webkit-box-shadow: 0 0 calc(10 / 1100 * 100vw) rgba(0,0,0,0.3);
        box-shadow: 0 0 calc(10 / 1100 * 100vw) rgba(0,0,0,0.3);
        position: absolute;
        top: 0;
        right: 0;
        margin: calc(-110 / 1100 * 100%) calc(60 / 1100 * 100%) 0 0;
    }

    .pagetop a:hover {
        background-color: rgba(243, 190, 22, 0.9);
    }

    .footer_nav_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: calc(940 / 1000 * 100%);
        margin: 0 auto;
        padding: calc(55 / 1000 * 100%) 0;
    }

    .footer_nav_list::after {
        display: none;
    }

    .footer_nav_list li {
        width: calc(313 / 940 * 100%);
        border-bottom: 0;
        border-right: 1px solid #535353;
        float: none;
    }

    .footer_nav_list li:nth-child(even) {
        border-left: 0;
    }

    .footer_nav_list li:nth-child(3n) {
        border-right: 0;
    }

    .footer_nav_list li a {
        padding: calc(15 / 313 * 100%) calc(17 / 313 * 100%);
        font-size: 1.6rem;
    }

    .footer2 {
        padding: calc(50 / 1100 * 100%) 0 calc(40 / 1100 * 100%);
    }

    .footer_btn_top {
        margin: 0 0 calc(55 / 1000 * 100%);
    }

    .footer_btn_top a {
        width: calc(460 / 1000 * 100%);
        padding: calc(17 / 1000 * 100%) 0 calc(19 / 1000 * 100%);
        font-size: 2.4rem;
        border-radius: 0.15em;
    }

    .footer_btn_top .arrow2::after {
        width: calc(10 / 1100 * 100vw);
        height: calc(16 / 1100 * 100vw);
        margin-right: calc(24 / 1100 * 100vw);
    }

    .footer2_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: calc(940 / 1000 * 100%);
    }

    .footer2_list li {
        margin: 0 calc(70 / 940 * 100%) 0 0;
    }

    .footer2_list li figure {
        width: 100%;
    }

    .footer2_list li figure img {
        width: calc(50 / 1100 * 100vw);
        margin: 0 calc(20 / 1100 * 100vw) 0 0;
    }

    .footer2_list li figure figcaption {
        font-size: 1.4rem;
    }

    .footer3 {
        padding: calc(15 / 1100 * 100%) calc(20 / 1100 * 100%);
    }

    .footer small {
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 1100px) {
    .pagetop a {
        width: 100px;
        padding-top: 100px;
        -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.3);
        box-shadow: 0 0 10px rgba(0,0,0,0.3);
        margin: -110px 60px 0 0;
    }

    .footer2 {
        padding: 50px 0 40px;
    }

    .footer_btn_top .arrow2::after {
        width: 10px;
        height: 16px;
        margin-right: 24px;
    }

    .footer2_list li figure img {
        width: 50px;
        margin: 0 20px 0 0;
    }

    .footer3 {
        padding: 15px 20px;
    }
}


/* ================================================================== */
/*    error
/* ================================================================== */
.error {
    padding: 2% 0 29.33%;
    padding: calc(150 / 750 * 100%) 0 calc(220 / 750 * 100%);
}

.error_ttl {
    margin: 0 0 10.67%;
    margin: 0 0 calc(80 / 750 * 100%);
}

.error_ttl h2 {
    margin: 0 0 2%;
    color: #f39700;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.error_ttl p {
    font-size: 2.6rem;
    line-height: 1.5;
    text-align: center;
}

.error_btn a {
    width: 61.33%;
    width: calc(460 / 750 * 100%);
    margin: 0 auto;
    padding: 4.27% 1.33% 4.27% 0;
    padding: calc(32 / 750 * 100%) calc(10 / 750 * 100%) calc(32 / 750 * 100%) 0;
    border: 2px solid #f39700;
    border: calc(4 / 750 * 100vw) solid #f39700;
    border-radius: 0.3em;
    color: #f39700;
    font-size: 2.8rem;
    line-height: 1;
    text-align: center;
}

.error_btn a.arrow1::after {
    background: url(../images/common/btn_arrow_orange.svg) no-repeat left center;
    background-size: 100% auto;
    margin: auto 10px auto 0;
    margin: auto calc(20 / 750 * 100vw) auto 0;
}

@media screen and (min-width: 768px) {
    .error {
        padding: calc(60 / 1100 * 100%) 0 calc(110 / 1100 * 100%);
    }

    .error_ttl {
        margin: 0 0 calc(180 / 1000 * 100%);
    }

    .error_ttl h2 {
        font-size: 2.6rem;
        text-align: left;
    }

    .error_ttl p {
        font-size: 1.6rem;
        text-align: left;
    }

    .error_btn a {
        width: calc(420 / 1000 * 100%);
        padding: calc(28 / 1000 * 100%) 0;
        border-width: 2px;
        font-size: 2rem;
    }

    .error_btn a.arrow1::after {
        margin: auto calc(20 / 1100 * 100vw) auto 0;
    }
}

@media screen and (min-width: 1100px) {
    .error {
        padding: 60px 0 110px;
    }

    .error_btn a.arrow1::after {
        margin: auto 20px auto 0;
    }
}


.block_banner {
    margin: 2% 5%;
}
.block_banner li:not(:last-child) {
    margin-bottom: 1.5rem 0;
}

.block_banner img {
    max-width: 640px;
    margin: 0 auto;
}