@charset "UTF-8";
/* CSS Document */
/*
 オリジナルリセットcss
 ----------------------------------------------------------- */
p {
    margin-bottom: 0;
}
img {
    display: block;
}
/*
 デバイス共通
 ----------------------------------------------------------- */
html {
    font-size: 62.5%; /* 10px基準 */
}
body {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
    font-size: 1.6rem; /* 16px */
    line-height: 2;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    word-break: break-all;
}
a, a img {
    transition: all .3s;
}
/*a:hover, a img:hover {
  opacity: 0.7;
}*/
.dib {
    display: inline-block;
}
.m0a {
    margin: 0 auto;
}
.mla {
    margin-left: auto;
}
.posr {
    position: relative;
}
.posa {
    position: absolute;
}
.imgr {
    display: block;
    max-width: 100%;
    height: auto;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .sp_scroll {
        width: 100%;
        overflow-x: scroll;
    }
    .sp_scroll > * {
        min-width: 768px;
    }
}
/*
 見出し
 ----------------------------------------------------------- */
h1 {
    font-size: 36px; /* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429)); /* 24px~36pxで可変*/
    line-height: 1.3;
}
h2 {
    font-size: 24px; /* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143)); /* 20px~24pxで可変*/
    line-height: 1.3;
    margin: 0;
    text-align: center;
}
h3 {
    margin: 0;
    padding: 0;
}
@media screen and (min-width: 1200px) { /* 1200px以上 */
    h1 {
        font-size: 3.6rem; /* 36px */
    }
    h2 {
        font-size: 2.4rem; /* 24px */
    }
}
@media screen and (max-width: 640px) { /* 640px以下 */
    body {
        line-height: 2;
    }
    h1 {
        font-size: 2.4rem; /* 24px */
    }
    h2 {
        font-size: 2rem; /* 20px */
    }
}
/*
 テキスト関連
 ----------------------------------------------------------- */
.fwb {
    font-weight: bold !important;
}
.underline {
    text-decoration: underline;
}
.font_xs {
    font-size: 0.666em;
}
/*12px*/
.font_s {
    font-size: 0.777em;
}
/*14px*/
.font_m {
    font-size: 1.333em;
}
/*24px*/
.font_l {
    font-size: 2.222em;
}
/*40px*/
.font_xl {
    font-size: 3.333em;
}
/*font-weight*/
.fw_100 {
    font-weight: 100;
}
.fw_200 {
    font-weight: 200;
}
.fw_300 {
    font-weight: 300;
}
.fw_400 {
    font-weight: 400;
}
.fw_500 {
    font-weight: 500;
}
.fw_600 {
    font-weight: 600;
}
.fw_700 {
    font-weight: 700;
}
.fw_800 {
    font-weight: 800;
}
/*text-align*/
.tac {
    text-align: center !important;
}
.tal {
    text-align: left !important;
}
.tar {
    text-align: right !important;
}
.shadow {
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.font_min {
    font-family: "Yu Mincho", YuMincho, HG明朝B, "MS Mincho", serif;
}
.font_go {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.indent {
    text-indent: -1em;
    padding-left: 1em;
}
.note {
    position: relative;
    font-size: 0.777em;
    padding-left: 1em;
}
.note:before {
    position: absolute;
    content: "※";
    top: 0;
    left: 0;
    font-size: 1em;
    line-height: 1.554em;
}
@media (min-width: 768px) and (max-width: 959px) {
    .tab_shadow {
        text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
    }
}
@media screen and (max-width: 767px) {
    .sp_tal {
        text-align: left !important;
    }
    .sp_shadow {
        text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
    }
}
/*
 余白&幅調整
 ----------------------------------------------------------- */
.mt0 {
    margin-top: 0;
}
.mt5 {
    margin-top: 5px;
}
.mt10 {
    margin-top: 10px;
}
.mt15 {
    margin-top: 15px;
}
.mt20 {
    margin-top: 20px;
}
.mt30 {
    margin-top: 30px;
}
.mt45 {
    margin-top: 45px;
}
.mt60 {
    margin-top: 60px;
}
.mt75 {
    margin-top: 75px;
}
.mt90 {
    margin-top: 90px;
}
.mt120 {
    margin-top: 120px;
}
.mb0 {
    margin-bottom: 0;
}
.mb5 {
    margin-bottom: 5px;
}
.mb10 {
    margin-bottom: 10px;
}
.mb15 {
    margin-bottom: 15px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb40 {
    margin-bottom: 40px;
}
.mb45 {
    margin-bottom: 45px;
}
.mb60 {
    margin-bottom: 60px;
}
.mb75 {
    margin-bottom: 75px;
}
.mb90 {
    margin-bottom: 90px;
}
.mb120 {
    margin-bottom: 120px;
}
.pt0 {
    padding-top: 0;
}
.pt5 {
    padding-top: 5px;
}
.pt10 {
    padding-top: 10px;
}
.pt15 {
    padding-top: 15px;
}
.pt20 {
    padding-top: 20px;
}
.pt30 {
    padding-top: 30px;
}
.pt45 {
    padding-top: 45px;
}
.pt60 {
    padding-top: 60px;
}
.pt75 {
    padding-top: 75px;
}
.pt90 {
    padding-top: 90px;
}
.pt120 {
    padding-top: 120px;
}
.pb0 {
    padding-bottom: 0;
}
.pb5 {
    padding-bottom: 5px;
}
.pb10 {
    padding-bottom: 10px;
}
.pb15 {
    padding-bottom: 15px;
}
.pb20 {
    padding-bottom: 20px;
}
.pb30 {
    padding-bottom: 30px;
}
.pb45 {
    padding-bottom: 45px;
}
.pb60 {
    padding-bottom: 60px;
}
.pb75 {
    padding-bottom: 75px;
}
.pb90 {
    padding-bottom: 90px;
}
.pb120 {
    padding-bottom: 120px;
}
.pl0 {
    padding-left: 0;
}
.pl10 {
    padding-left: 10px;
}
.pr0 {
    padding-right: 0;
}
.pr10 {
    padding-right: 10px;
}
.ph0 {
    padding-left: 0;
    padding-right: 0;
}
.ph15 {
    padding-left: 15px;
    padding-right: 15px;
}
@media screen and (max-width: 767px) {
    .spmt0 {
        margin-top: 0;
    }
    .spmt5 {
        margin-top: 5px;
    }
    .spmt10 {
        margin-top: 10px;
    }
    .spmt15 {
        margin-top: 15px;
    }
    .spmt20 {
        margin-top: 20px;
    }
    .spmt30 {
        margin-top: 30px;
    }
    .spmt45 {
        margin-top: 45px;
    }
    .spmt60 {
        margin-top: 60px;
    }
    .spmb0 {
        margin-bottom: 0;
    }
    .spmb5 {
        margin-bottom: 5px;
    }
    .spmb10 {
        margin-bottom: 10px;
    }
    .spmb15 {
        margin-bottom: 15px;
    }
    .spmb20 {
        margin-bottom: 20px;
    }
    .spmb30 {
        margin-bottom: 30px;
    }
    .spmb40 {
        margin-bottom: 40px;
    }
    .spmb45 {
        margin-bottom: 45px;
    }
    .spmb60 {
        margin-bottom: 60px;
    }
    .sppt0 {
        padding-top: 0;
    }
    .sppt5 {
        padding-top: 5px;
    }
    .sppt10 {
        padding-top: 10px;
    }
    .sppt15 {
        padding-top: 15px;
    }
    .sppt20 {
        padding-top: 20px;
    }
    .sppt30 {
        padding-top: 30px;
    }
    .sppt45 {
        padding-top: 45px;
    }
    .sppt60 {
        padding-top: 60px;
    }
    .sppb0 {
        padding-bottom: 0;
    }
    .sppb5 {
        padding-bottom: 5px;
    }
    .sppb10 {
        padding-bottom: 10px;
    }
    .sppb15 {
        padding-bottom: 15px;
    }
    .sppb20 {
        padding-bottom: 20px;
    }
    .sppb30 {
        padding-bottom: 30px;
    }
    .sppb45 {
        padding-bottom: 45px;
    }
    .sppb60 {
        padding-bottom: 60px;
    }
    .sppl0 {
        padding-left: 0;
    }
    .sppr0 {
        padding-right: 0;
    }
    .spph0 {
        padding-left: 0;
        padding-right: 0;
    }
}
@media screen and (max-width: 767px) {
    .spwd50 {
        width: 50% !important;
    }
    .spwd60 {
        width: 60% !important;
    }
    .spwd70 {
        width: 70% !important;
    }
    .spwd80 {
        width: 80% !important;
    }
    .spwd90 {
        width: 90% !important;
    }
}
/*
 ボタン
 ----------------------------------------------------------- */
.btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    background: #25ad38;
    margin: 0 auto;
    border: 3px solid #25ad38;
    border-radius: 5px;
    color: #fff;
    font-weight: bold;
    font-size: 190%;
    font-family: inherit;
    padding: 5px;
    transition: all 0.2s ease;
    cursor: pointer;
    -webkit-box-shadow: 0px 4px 0px #197827;
    box-shadow: 0px 4px 0px #197827;
    text-align: center;
    /*padding: 10px 0;*/
    position: relative;
    width: 100%;
}
.btn a {
    color: #FFF;
}
.btn:focus {
    color: #FFF;
    text-decoration: none;
}
.btn:hover {
    background: #45ba55;
    border: 3px solid #45ba55;
    -webkit-box-shadow: 0px 4px 0px #236251;
    box-shadow: 0px 4px 0px #236251;
    color: #FFF;
    text-decoration: none;
}
.btn img {
    position: absolute;
    right: 5px;
    width: 20%;
    top: -12px;
}
.btn_gradient {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    background: #2d660a;
    background: -moz-linear-gradient(#5edd00 0%, #2d660a 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#5edd00), to(#2d660a));
    background: -webkit-linear-gradient(#5edd00 0%, #2d660a 100%);
    background: -o-linear-gradient(#5edd00 0%, #2d660a 100%);
    background: -ms-linear-gradient(#5edd00 0%, #2d660a 100%);
    background: linear-gradient(#5edd00 0%, #2d660a 100%);
}
button {
    margin: 0 auto;
    text-align: center;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 100%;
}
button img:hover {
    opacity: .7;
}
/*
 Page Top
 ----------------------------------------------------------- */
/*TOPへ戻る*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 9999;
}
.pagetop a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    background-color: #153aa1;
    border-radius: 50%;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
.pagetop a:before {
    position: absolute;
    content: "";
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 12px solid #fff;
    top: 50%;
    right: 50%;
    transform: translateX(50%) translateY(-60%);
}
.pagetop a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.pagetop a:link, .pagetop a:visited {
    color: #fff;
}
@media screen and (max-width: 767px) {
    .pagetop {
        bottom: 20px;
        right: 5px;
    }
}
/*
 ページ下部固定部分
 ----------------------------------------------------------- */
.btm_fix {
    position: fixed;
    left: 0;
    bottom: 0;
    background: #000;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    z-index: 998;
}
.btm_fix a {
    width: 50%;
    min-width: 400px;
}
@media screen and (max-width: 767px) {
    .btm_fix a {
        width: 90%;
        min-width: inherit;
        font-size: 1.2em;
    }
}
/*
 white-box
 ----------------------------------------------------------- */
.white_box {
    padding: 45px;
    background-color: #fff;
    margin-bottom: 30px;
}
.white_box:last-of-type {
    margin-bottom: 0;
}
@media (min-width: 768px) and (max-width: 959px) {
    .white_box {
        padding: 30px;
        margin-bottom: 15px;
    }
}
@media screen and (max-width: 767px) {
    .white_box {
        padding: 15px;
        margin-bottom: 15px;
    }
}
/*
 check_list
 ----------------------------------------------------------- */
.check_list li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 3px;
}
.check_list li:last-child {
    margin-bottom: 0;
}
.check_list li:before {
    position: absolute;
    content: "\f058";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: 0;
    left: 0;
    color: orange;
}
.list_border {
    border-bottom: 2px dashed #000;
}
.list_border_stop {
    border-bottom: 2px dashed #000;
    display: inline-block;
}
/*
 Container / Break
 ----------------------------------------------------------- */
@media (min-width: 960px) {
    .container {
        width: 960px;
        margin: 0 auto;
        position: relative;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }
    .container_l {
        padding: 0 15px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .p_none {
        display: none;
    }
    .pt_none {
        display: none;
    }
    .ps_none {
        display: none;
    }
    .t_none {
        display: block;
    }
    .ts_none {
        display: block;
    }
    .s_none {
        display: block;
    }
}
@media (min-width: 768px) and (max-width: 959px) {
    body {
        overflow-x: hidden;
    }
    .container {
        width: 768px;
        margin: 0 auto;
        position: relative;
        margin-right: auto;
        margin-left: auto;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }
    .container_l {
        padding: 0 15px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .p_none {
        display: block;
    }
    .pt_none {
        display: none;
    }
    .ps_none {
        display: block;
    }
    .t_none {
        display: none;
    }
    .ts_none {
        display: none;
    }
    .s_none {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    body {
        overflow-x: hidden;
    }
    .container_l {
        padding: 0 15px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .p_none {
        display: block;
    }
    .pt_none {
        display: block;
    }
    .ps_none {
        display: none;
    }
    .t_none {
        display: block;
    }
    .ts_none {
        display: none;
    }
    .s_none {
        display: none;
    }
}
@media (min-width: 1200px) {
    .container_l {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        box-sizing: border-box;
        padding: 0;
    }
}

/* 20250414_nishimura */
.price-revision {
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 40px;
}

.price-revision a:link,
.price-revision a:visited {
  color: #0000ff;
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .price-revision {
    font-size: 16px;
    margin-bottom: 32px;
  }
}

.ticket {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
}

@media (max-width: 767.98px) {
    .ticket {
        font-size: 3.6vw;
    }
}
