@charset "UTF-8";

.mt0 {
    margin-top: 0px !important;
}

.mr0 {
    margin-right: 0px !important;
}

.ml0 {
    margin-left: 0px !important;
}

.mb0 {
    margin-bottom: 0px !important;
}

.pt0 {
    padding-top: 0px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mr5 {
    margin-right: 5px !important;
}

.ml5 {
    margin-left: 5px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.pt5 {
    padding-top: 5px !important;
}

.pb5 {
    padding-bottom: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pb15 {
    padding-bottom: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.pt25 {
    padding-top: 25px !important;
}

.pb25 {
    padding-bottom: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.pt35 {
    padding-top: 35px !important;
}

.pb35 {
    padding-bottom: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.pt45 {
    padding-top: 45px !important;
}

.pb45 {
    padding-bottom: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mr55 {
    margin-right: 55px !important;
}

.ml55 {
    margin-left: 55px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.pt55 {
    padding-top: 55px !important;
}

.pb55 {
    padding-bottom: 55px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mr60 {
    margin-right: 60px !important;
}

.ml60 {
    margin-left: 60px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pb60 {
    padding-bottom: 60px !important;
}

.mt65 {
    margin-top: 65px !important;
}

.mr65 {
    margin-right: 65px !important;
}

.ml65 {
    margin-left: 65px !important;
}

.mb65 {
    margin-bottom: 65px !important;
}

.pt65 {
    padding-top: 65px !important;
}

.pb65 {
    padding-bottom: 65px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.mr70 {
    margin-right: 70px !important;
}

.ml70 {
    margin-left: 70px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.pt70 {
    padding-top: 70px !important;
}

.pb70 {
    padding-bottom: 70px !important;
}

.mt75 {
    margin-top: 75px !important;
}

.mr75 {
    margin-right: 75px !important;
}

.ml75 {
    margin-left: 75px !important;
}

.mb75 {
    margin-bottom: 75px !important;
}

.pt75 {
    padding-top: 75px !important;
}

.pb75 {
    padding-bottom: 75px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mr80 {
    margin-right: 80px !important;
}

.ml80 {
    margin-left: 80px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pb80 {
    padding-bottom: 80px !important;
}

.mt85 {
    margin-top: 85px !important;
}

.mr85 {
    margin-right: 85px !important;
}

.ml85 {
    margin-left: 85px !important;
}

.mb85 {
    margin-bottom: 85px !important;
}

.pt85 {
    padding-top: 85px !important;
}

.pb85 {
    padding-bottom: 85px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mr90 {
    margin-right: 90px !important;
}

.ml90 {
    margin-left: 90px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.pt90 {
    padding-top: 90px !important;
}

.pb90 {
    padding-bottom: 90px !important;
}

.mt95 {
    margin-top: 95px !important;
}

.mr95 {
    margin-right: 95px !important;
}

.ml95 {
    margin-left: 95px !important;
}

.mb95 {
    margin-bottom: 95px !important;
}

.pt95 {
    padding-top: 95px !important;
}

.pb95 {
    padding-bottom: 95px !important;
}

.mt100 {
    margin-top: 100px !important;
}

.mr100 {
    margin-right: 100px !important;
}

.ml100 {
    margin-left: 100px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.pt100 {
    padding-top: 100px !important;
}

.pb100 {
    padding-bottom: 100px !important;
}

.text-big {
    font-size: 20px;
    font-size: 0.8333333333rem;
}

.text-small {
    font-size: 12px;
    font-size: 0.75rem;
}

.clearfix {
    zoom: 1;
}

.clearfix:before,
.clearfix:after {
    display: block;
    height: 0;
    visibility: hidden;
    content: "\0020";
}

.clearfix:after {
    clear: both;
}

.clear {
    clear: both;
}

.center {
    text-align: center;
}

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

@media screen and (min-width: 768px) {
    .sp {
        display: none !important;
    }
}

@media screen and (min-width: 480px) {
    img.sp02 {
        display: none !important;
    }
}

@media screen and (max-width: 480px) {

    img.pc02 {
        display: none !important;
    }
}

* {
    box-sizing: border-box;
}

*::after,
*::before {
    box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

html {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

a:link {
    color: #0a1ea7;
}

a:active {
    color: #0e2bf1;
}

a:visited {
    color: #941d55;
}

html,
body {
    height: 100%;
    color: #000;
}

html {
    font-family: 'ヒラギノ角ゴ ProN W3', "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, 'MS Pゴシック', 'MS PGothic', sans-serif;
    font-size: 62.5%;
    scroll-behavior: smooth;
}

@media screen and (max-width: 1024px) {
    html {
        font-size: 1vw;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 2.3vw;
    }
}

body {
    font-size: 1.4rem;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    text-decoration: none;
}

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

@media screen and (min-width: 768px) {
    a:hover {
        opacity: .7;
    }
}

a[href^="tel:"] {
    color: #000;
}

@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        display: inline-block;
        pointer-events: none;
    }
}

@media print {

    .animated,
    .anim-fadeInUp,
    .anim-listFadeInUp,
    .anim-fadeInUp02,
    .slideIn {
        opacity: 1 !important;
    }

    .sp {
        display: none !important;
    }

    .l-header {
        position: absolute !important;
    }
}

.l-main {
    max-width: 1200px;
    margin: 0 auto;
}


.sekisui {
    position: absolute;
    top: 33px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}


.contents01 {
    padding-top: 60px;
    background-image: linear-gradient(#900000, #e40012 30% 70%, #900000);
}


@media screen and (max-width: 900px) {
    .sekisui {
        top: 10px;
    }
}


@media screen and (max-width: 767px) {

    .sekisui {
        top: 5px;
    }

    .sekisui a {
        display: block;
        width: 9em;
    }
}

@media screen and (max-width: 480px) {
    .sekisui {
        top: 15px;
    }
}

.mv {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .mv {
        margin-bottom: 1.5em;
    }
}

@media screen and (max-width: 767px) {
    .contents01 {
        margin: 1em 0;
    }
}

.contents01 h2 {
    text-align: center;
    margin-bottom: -20px;
    position: relative;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .contents01 h2 {
        margin-bottom: 0;
        padding-top: 0;
        border-radius: 10px 10px 0 0;
        width: 96%;
        margin: 0 auto;
    }

    .contents01 h2 img {
        width: 12em;
        margin-bottom: 15px;
    }
}

.contents01 .inner {
    max-width: 1085px;
    margin: 0 auto;
    position: relative;
    border-radius: 10px;
}

@media screen and (max-width: 767px) {
    .contents01 .inner {
        background-color: transparent;
    }
}

/*
.contents01 .inner::before,
.contents01 .inner::after {
    content: "";
    display: block;
    height: 100%;
    width: 18px;
    background: url(../img/09.png) repeat-y 0 0;
    position: absolute;
    top: 0;
    pointer-events: none;
}
*/

@media screen and (max-width: 767px) {

    .contents01 .inner::before,
    .contents01 .inner::after {
        display: none;
    }
}

.contents01 .inner::before {
    left: 0;
}

.contents01 .inner::after {
    right: 0;
}

.contents01 .present {
    padding: 0em 0 1em;
    position: relative;
}

@media screen and (max-width: 1024px) {
    .contents01 .inner {
        max-width: 1200px;
        margin: 0 auto;
        position: relative;
        border-radius: 10px;
        width: 96%;
    }

    .contents01 .present {
        width: 96%;
        padding: 5em 0 3em;
        position: relative;
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
    .contents01 .present {
        padding: 1em 1% 1.5em;
        background-color: #fff;
        margin-top: -8px;
    }
}

.contents01 h3 {
    text-align: center;
}

@media screen and (max-width: 767px) {
    .contents01 h3 {
        margin: 0 auto;
        /*        margin: 0 -2.2em -2em 0;*/
    }
}

.contents01 .reserve {
    text-align: center;
    padding: 21m 0 1.5em;
    border-radius: 10px;
}

@media screen and (max-width: 767px) {
    .contents01 .reserve {
        padding: 0;
    }
}

.contents01 .reserve .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1em;
    position: relative;
}

@media screen and (max-width: 767px) {
    .contents01 .reserve .button {
        display: flex;
        padding: 0 3%;
        width: 100%;
        margin-bottom: .6em;
    }

    .contents01 .reserve .button a {
        display: block;
    }

    .contents01 .reserve .button img {
        width: 100%;
    }
}

.contents01 .reserve .button::before,
.contents01 .reserve .button::after {
    content: "";
    display: block;
    position: absolute;
}


@media screen and (max-width: 900px) {

    .contents01 .reserve .button::before,
    .contents01 .reserve .button::after {
        display: none;
    }
}

.contents01 .reserve .button::before {
    right: calc(104% + 2px);
    bottom: -67px;
    width: 128px;
    height: 179px;
    background: url(../img/06.png) no-repeat 50% 50%;
}

.contents01 .reserve .button::after {
    left: calc(100% + 23px);
    bottom: -62px;
    width: 139px;
    height: 172px;
    background: url(../img/04.png) no-repeat 50% 50%;
}

.contents01 .reserve p {
    font-size: 17px;
    color: #fff;
    line-height: 1.4;
}

@media screen and (max-width: 1024px) {
    .contents01 .reserve .button::before {
        right: calc(100% + 2px);
        bottom: -23px;
        width: 100px;
        height: 117px;
        background: url(../img/04.png) no-repeat 50% 50%;
        background-size: 80%;
    }

    .contents01 .reserve .button::after {
        left: calc(100% + 1px);
        bottom: -43px;
        width: 100px;
        height: 156px;
        background: url(../img/06.png) no-repeat 50% 50%;
        background-size: 95%;
    }
}


@media screen and (max-width: 767px) {
    .contents01 .reserve p {
        font-size: 85%;
        line-height: 1.6;
        letter-spacing: -.08em;
        width: 96%;
        display: block;
        margin: 0 auto;
    }
}

.contents01 .reserve p strong {
    color: #fff100;
    font-weight: bold;
}

.contents02 {
    padding: 2em 0 3.5em;
}

.brsp {
    display: none;
}

@media screen and (max-width: 767px) {
    .contents02 {
        padding: 1.2em 0 3.5em;
    }

    .contents02 {
        padding-bottom: 2.5em;
    }

    br.sp {
        display: none;
    }

    .brsp {
        display: block;
    }

}

.contents02 h2 {
    font-size: 28px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    margin-bottom: .6em;
}

@media screen and (max-width: 767px) {
    .contents02 h2 {
        font-size: 120%;
        font-weight: bold;
    }
}

.contents02 ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1080px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .contents02 ul {
        flex-wrap: wrap;
        padding: 0 4%;
    }
}

.contents02 ul li {
    width: 210px;
}

@media screen and (max-width: 767px) {
    .contents02 ul li {
        width: 49%;
        margin-bottom: .6em;
    }
}

.contents02 ul a {
    display: flex;
    font-weight: bold;
    color: #fff;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    height: 56px;
    width: 100%;
    padding-left: .5em;
    background-image: linear-gradient(90deg, #a97a21, #cba100 20%, #8f6f2a 50%, #bfa15d 80%, #a58222);
}

@media screen and (max-width: 767px) {
    .contents02 ul a {
        height: auto;
        font-size: 100%;
        padding: .6em 0 .6em .5em;
    }
}

.contents02 ul a::after {
    content: "";
    display: block;
    width: 27px;
    height: 27px;
    background: url(../img/07.png) no-repeat 50% 50%/100% auto;
    margin-left: .5em;
}

@media screen and (max-width: 767px) {
    .contents02 ul a::after {
        width: 1.5em;
        height: 1.5em;
    }
}

.contents02 .img {
    text-align: center;
    margin-top: 3.3em;
}

@media screen and (max-width: 767px) {
    .contents02 .img {
        margin-top: 2em;
        padding: initial;
    }
}



/* END CSS */
