@charset "UTF-8";

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;
}

*{
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
}

body {
    line-height:1;
}

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

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

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

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

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
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;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

.clearfix:after {
    content: ".";  /* 新しい要素を作る */
    display: block;  /* ブロックレベル要素に */
    clear: both;
    height: 0;
    visibility: hidden;
}

/*************   共通設定   *************/
img{
    border: none;
    vertical-align: bottom;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
.clear{
    clear: both;
    display: block;
}
.right{
    float: right;
}
.right_img{
    float: right;
    margin: 0 0 0 15px;
}
.right_sp{
    float: right;
}
.right_img_sp{
    float: right;
    margin: 0 0 0 15px;
}
.left{
    float: left;
}
.left_img{
    float: left;
    margin: 0 15px 0 0;
}
.left_sp{
    float: left;
}
.left_img_sp{
    float: left;
    margin: 0 15px 0 0;
}
.center{
    text-align: center;
}
.normal{
    font-weight: normal;
}
.bold{
    font-weight: bold;
}
.mb5{
    margin-bottom: 5px;
}
.mb10{
    margin-bottom: 10px;
}
.mb15{
    margin-bottom: 15px;
}
.mb20{
    margin-bottom: 20px;
}
.mb25{
    margin-bottom: 25px;
}
.mb30{
    margin-bottom: 30px;
}
.mb35{
    margin-bottom: 35px;
}
.mb40{
    margin-bottom: 40px;
}
.mb45{
    margin-bottom: 45px;
}
.mb50{
    margin-bottom: 50px;
}
.mt5{
    margin-top: 5px;
}
.mt10{
    margin-top: 10px;
}
.mt15{
    margin-top: 15px;
}
.mt20{
    margin-top: 20px;
}
.mt25{
    margin-top: 25px;
}
.mt30{
    margin-top: 30px;
}
.mt35{
    margin-top: 35px;
}
.mt40{
    margin-top: 40px;
}
.mt45{
    margin-top: 45px;
}
.mt50{
    margin-top: 50px;
}
.ml5{
    margin-left: 5px;
}
.ml10{
    margin-left: 10px;
}
.ml15{
    margin-left: 15px;
}
.ml20{
    margin-left: 20px;
}
.ml25{
    margin-left: 25px;
}
.ml30{
    margin-left: 30px;
}
.ml35{
    margin-left: 35px;
}
.ml40{
    margin-left: 40px;
}
.ml45{
    margin-left: 45px;
}
.ml50{
    margin-left: 50px;
}
.mr5{
    margin-right: 5px;
}
.mr10{
    margin-right: 10px;
}
.mr15{
    margin-right: 15px;
}
.mr20{
    margin-right: 20px;
}
.mr25{
    margin-right: 25px;
}
.mr30{
    margin-right: 30px;
}
.mr35{
    margin-right: 35px;
}
.mr40{
    margin-right: 40px;
}
.mr45{
    margin-right: 45px;
}
.mr50{
    margin-right: 50px;
}
/* .caution{
    color: #F00;
} */
.black01{
    color: #000;
}
.orange01{
    color: #F90;
}
.orange02{
    color: #F60;
}
.gray01{
    color: #CCC;
}
.gray02{
    color: #999;
}
.gray03{
    color: #666;
}
.gray04{
    color: #333;
}
.red01{
    color: #FF0004;
}

.mainvisual img.pic01{
    width: 100%;
}

.mincho{
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.marugo{
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}

/*************   リンク設定   *************/
a:link,a:visited{
    color: #000;
    text-decoration:none;
}
a:hover,a:active{
    color: #000;
    text-decoration:none;
}
a:hover {
    transition: all .3s;
    opacity: .7;
}

a.style01:link,a.style01:visited{
    color: #000;
    text-decoration:underline;
}
a.style01:hover,a.style01:active{
    color: #000;
    text-decoration:none;
}
a.style02{
    color: #000;
    text-decoration:none;
}
a.style02:hover{
    color: #000;
    text-decoration:underline;
}

a.hover:hover img {
    filter: alpha(opacity=80);
    -moz-opacity:0.80;
    opacity:0.80;
}

.show_sp{
    display: none !important;
}
.show_sp02{
    display: none !important;
}




/****************************ボタン設定****************************/
button {
    cursor: pointer;
    border: none;
    background: #fff;
}
button:hover {
    transition: all .3s;
    opacity: .7;
}
.search_btn {
    padding: 3px 7px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #D16455;
    border: 2px solid #E1877D;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(139,101,112,.7);
}
.search_btn span {
    display: block;
    padding: 10px 0;
    border-top: 1px solid #D16455 ;
    border-bottom: 1px solid #D16455 ;
}
.search_btn.current {
    top: 0;
    color: #fff;
    border: 1px solid #D16455;
    background: #D16455;
    box-shadow: none;
}
.search_btn.current span {
    border-top: 1px solid #fff ;
    border-bottom: 1px solid #fff ;
}
.search_btn:hover {
    color: #fff;
    border: 2px solid #D16455;
    background: #D16455;
    box-shadow: none;
}
.search_btn:hover span {
    border-top: 1px solid #fff ;
    border-bottom: 1px solid #fff ;
}
.search_btn.current:hover {
    top: 0;
}

.search_btn02 {
    padding: 3px;
    color: #6E6132;
}
.search_btn02 span {
    border: none;
}
.search_btn02.current span {
    border: none;
}
.search_btn02:hover span {
    border: none;
}

.condition_btn {
    position: relative;
    margin: 0 10px 0 0;
    padding: 3px 7% 3px 15px;
    font-size: 1.4rem;
    text-align: left;
    background: #fff;
    border: 1px solid #000;
    border-radius: 30px;
    vertical-align: middle;
}
.condition_btn img {
    position: absolute;
    top: 6px;
    right: 10px;
    display: inline-block;
    width: 15px;
    margin-right: auto;
}
.condition_btn .color {
    display: inline-block;
    background: #DC0037;
    width: 13px;
    height: 13px;
    margin: 0 10px 0 0;
    border-radius: 50px;
    vertical-align: -1px;
}

.reset {
    padding: 10px 0 0;
    text-align:right;
}
.reset_btn {
    padding: 0;
    font-size: 1.4rem;
    font-weight: 600;
    background: none;
    color: #666;
    border: none;
    border-bottom: 1px solid #666;
}
.reset_btn:hover {
    border-bottom: 1px solid #ffffff;
}

.button01 {
    display: block;
    width: 200px;
    margin: 0 auto;
    padding: 15px;
    font-size: 1.6rem;
    font-weight: 600;
    background-color: #D16455;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
    color: #fff;
    border: none;
    border-radius: 20rem;
}
.button01:hover {
    box-shadow: none !important;
}
.button02 {
    display: block;
    width: 200px;
    padding: 15px;
    font-size: 1.6rem;
    font-weight: 600;
    background-color: #36bc71;
    box-shadow: 0px 2px 0px 0px rgb(29 93 12 / 70%);
    color: #fff;
    border: none;
    border-radius: 20rem;
}
.button02:hover {
    box-shadow: none !important;
}
.button03 {
    display: block;
    width: 200px;
    padding: 15px;
    font-size: 1.6rem;
    font-weight: 600;
    background-color: #6e6132;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
    color: #fff;
    border: none;
    border-radius: 20rem;
}
.button03:hover {
    box-shadow: none !important;
}

.btnBlock .add_btn {
    width: 30%;
    /* margin: 0 2%; */
    padding: 10px 0 5px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #D16455;
    border: 2px solid #E1877D;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(139,101,112,.7);
    line-height: 1.3;
    text-align: center;
}
.btnBlock .add_btn_icon {
    display: block;
    width: 28px;
    margin: 0 auto 5px;
}
.btnBlock .add_btn:hover {
    box-shadow: none;
}
.btnBlock_02 .add_btn {
    width: 30%;
    /* margin: 0 2%; */
    padding: 10px 0 5px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #D16455;
    border: 2px solid #E1877D;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgba(139,101,112,.7);
    line-height: 1.3;
}
.btnBlock_02 .add_btn_icon {
    display: block;
    width: 28px;
    margin: 0 auto 5px;
}
.btnBlock_02 .add_btn:hover {
    box-shadow: none;
}
.btnBlock02 .button01 {
    width: 310px;
    padding: 15px 0;
    text-align: center;
    color :#ffffff;
}
.cancel_btn {
    background: #000;
    box-shadow: 0px 2px 0px 0px rgba(45,45,45,.7);
}
.return_btn {
    background: #888;
    box-shadow: 0px 2px 0px 0px rgba(45,45,45,.7);
}
.past_reservation_btn {
    background: #ffffff;
    color: #666666!important;
    border: solid 1px #666666;
    box-shadow: 0px 2px 0px 0px rgba(45,45,45,.7);
}



/****************************段落設定****************************/
h1{
    margin: 0;
    padding: 0;
}

h2{
    margin: 0;
    padding: 0;
}

h3{
    margin: 0;
    padding: 0;
}

.headingL {
    display: flex;
    justify-content: center;
    padding: 0 0 25px;
    font-size: 2.1rem;
    font-weight: 600;
    color: #6E6132;
}
.headingL .deco {
    width: 25px;
}
.headingL .deco01 {
    margin-right: 1rem;
}
.headingL .deco02 {
    margin-left: 1rem;
}
.headingL .deco img {
    vertical-align: middle;
}

.headingM {
    padding: 0 0 20px;
    text-align: center;
    font-weight: 600;
}
.headingM span {
    display: inline-block;
    position: relative;
    width: 1px; /* 縦棒の幅 */
    height: 13px; /* 縦棒の長さ */
    background: #DECE51; /* 縦棒の色 */
    margin: 0 15px;
}
.headingM span::after {
    content: "";
    position: absolute;
    top: 6px; /* 横棒のy位置 */
    left: -4px; /* 横棒のX位置 */
    width: 10px; /* 横棒の長さ */
    height: 1px; /* 横棒の幅 */
    background: #DECE51; /* 横棒の色 */
}


/**************************** body ****************************/
body{
    font-size: 1.6rem;
    line-height: 1.5;
    color: #000000;
    font-family: 'Yu Gothic', '游ゴシック', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    /* min-width:960px; */
    height: 100%;
}

/**************************** header ****************************/
header{
    margin: 0;
    padding: 0;
}

.headerbox{
    margin: 0;
    padding: 10px 20px;
}
.headerbox_in {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.headerInfo {
    display: flex;
}
.headerInfo .info_item {
    padding: 0 10px;
    font-weight: 600;
}

/**************************** footer ****************************/
footer{
    margin: 0;
    padding: 0;
    background:#6E6132;
}

.footerbox{
    margin: 0;
    padding: 20px 0;
    text-align: center;
}
.footerbox_in{
    margin: 0 auto;
    padding: 0;
    /* width: 920px; */
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
}

#pagetop{
    margin: 0;
    padding: 0;
    position: fixed;
    bottom: 50px;
    right: 20px;
    display: none;
}

/**************************** section ****************************/
section{
    margin: 0;
    padding: 0;
}

article{
    margin: 0;
    padding: 0;
}

/**************************** nav ****************************/
nav{
    margin: 0;
    padding: 0;
}

/* .gnav{
    margin: 0 auto;
    padding: 0 10px;
    width: 100%;
    height: 65px;
}
.gnav_in{
    margin: 0 auto;
    padding: 0;
    width: 960px;
    height: 65px;
}
.gnav ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
.gnav ul li{
    margin: 0;
    padding: 0;
    width: 160px;
    height: 60px;
    float: left;
} */

/****************************table設定****************************/
table.table_style01{
    margin: 0;
    padding: 0;
    width: 100%;
    border-collapse: collapse;
}
table.table_style01 th{
    margin: 0;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px dotted #CCCCCC;
}
table.table_style01 td{
    margin: 0;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px dotted #CCCCCC;
}

table.table_inquiry{
    margin: 0;
    padding: 0;
    width: 100%;
    border-collapse: collapse;
}
table.table_inquiry th{
    margin: 0;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    border: 1px dotted #CCCCCC;
}
table.table_inquiry td{
    margin: 0;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    border: 1px dotted #CCCCCC;
}
table.table_inquiry td.btn{
    margin: 0;
    padding: 20px;
    text-align: center;
    vertical-align: top;
    border: none;
}

/**************************** form設定 IE_CSS3 ****************************/
input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="text"] ,
input[type="date"] ,
input[type="email"] ,
input[type="tel"] ,
input[type="password"] ,
input[type="number"] ,
textarea,
select {
    padding: 10px;
    font-size:1.6rem;
    border:1px solid #000;
    cursor: pointer;
}
select {
    padding: 12px;
    position: relative;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.selectWrap {
    position: relative;
}
.selectWrap:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 20px;
    background-image: url(../img/select_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 9px;
    pointer-events: none;
}
input[type="radio"] {
    vertical-align: inherit;
    /*display: none;*/
}
input[type="radio"]:not(:checked)+.label_textbefore {
    border-color: #000;
}
input[type="radio"]:checked+.label_text:before {
    background-color: #6E6132;
}
.inputLabel {
    display: block;
}
.inputLabel .label_text::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    padding: 2px;
    background-clip: content-box;
    vertical-align: text-bottom;
}

input[type="date"] {
    position: relative;
    position: relative;
}
input[type="date"]:after {
    font-family: FontAwesome;
    font-weight: 900;
    content: "\f073";
    color: #C46A5A;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
    z-index: 100;
}
input[type="date"]::-webkit-inner-spin-button {
    z-index: 1;
}
input[type="date"]::-webkit-clear-button {
    z-index: 1;
}

input[type="checkbox"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 28px;
    width: 28px;
    vertical-align: -0.8rem;
    /* transition:all .15s ease-out 0s; */
    color: #fff;
    background: #fff;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    border: 1px solid #333;
    border-radius: 10%;
}
input[type=checkbox]::before,
input[type=checkbox]::after {
    position: absolute;
    content: "";
    background: #fff;
    /* transition: all .2s ease-in-out; */
}
input[type=checkbox]::before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
}
input[type=checkbox]::after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(40deg);
    /* transition-delay: .2s; */
}
input[type=checkbox]:checked::before {
    left: 3px;
    top: 15px;
    width: 10px;
    height: 2px;
    border-radius: 2px;
}
input[type=checkbox]:checked::after {
    right: 9px;
    bottom: 4px;
    width: 2px;
    height: 17px;
    border-radius: 2px;
}
input[type=checkbox]:indeterminate::before,input[type=checkbox]:indeterminate::after {
    width: 7px;
    height: 2px;
    transform: rotate(0);
    /* background: #D16455; */
}
input[type=checkbox]:indeterminate::before {
    left: 1px;
    top: 7px;
}
input[type=checkbox]:indeterminate::after {
    right: 1px;
    bottom: 7px;
}
input[type=checkbox]:checked {
    background: #D16455;
    border: 1px solid #fff;
}




textarea {
    width: 100%;
}

.w100{
    width: 100%;
}
.w80 {
    width: 80%;
}
.w50 {
    width: 50%;
}
.w30 {
    width: 30%;
}

input[type="submit"]{
    border: none;
    background-color: #0055A7;
    width: 250px;
    padding: 15px 0;
    text-align: center;
    cursor: pointer;
    color: #FFF;
    font-weight: bold;
    font-size: 18px;
    margin: 0 10px 10px;
}
input[type="submit"].back{
    background-color: #666;
}
input[type="submit"]:hover{
    opacity: 0.8;
}

input::-webkit-input-placeholder {
    color: #999;
}

input:-ms-input-placeholder {
    color: #999;
}

input::placeholder {
    color: #999;
}

.stepBar {
    position: relative;
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
    text-align: center;
    width: 100%;
    overflow: hidden;
    *zoom: 1;
}
.stepBar .step {
    position: relative;
    float: left;
    display: inline-block;
    line-height: 40px;
    padding: 0 40px 0 20px;
    background-color: #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.stepBar .step:before, .stepBar .step:after {
    position: absolute;
    left: -15px;
    display: block;
    content: '';
    background-color: #eee;
    border-left: 4px solid #FFF;
    width: 20px;
    height: 20px;
}
.stepBar .step:after {
    top: 0;
    -webkit-transform: skew(30deg);
    transform: skew(30deg);
}
.stepBar .step:before {
    bottom: 0;
    -webkit-transform: skew(-30deg);
    transform: skew(-30deg);
}
.stepBar .step:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.stepBar .step:first-child:before, .stepBar .step:first-child:after {
    content: none;
}
.stepBar .step:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.stepBar .step.current {
    color: #FFF;
    background-color: #26bfa1;
}
.stepBar .step.current:before, .stepBar .step.current:after {
    background-color: #26bfa1;
}
.stepBar.step2 .step {
    width: 50%;
}
.stepBar.step3 .step {
    width: 33.333%;
}
.stepBar.step4 .step {
    width: 25%;
}
.stepBar.step5 .step {
    width: 20%;
}

/****************************canvas設定****************************/
div#stage{
    width:500px;
    height:500px;
    position:absolute;
    top:50%;
    left:50%;
    margin-left:-250px;
    margin-top:-250px;
    background:#000;
}

/**************************** sp header ****************************/
#spmenubtn{
    margin: 0;
    padding:0;
    cursor: pointer;
    top: 0;
    right: 0;
    position: absolute;
    display: none;
}

#overlay{
    display: none;
    width: 100%;
    height:100%;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    background: #fff;
    /*overflow-y: auto;*/
}
/* #spmenubtnclose{
    margin: 0;
    padding: 0;
    cursor: pointer;
    top: 0;
    right: 0;
    position: absolute;
    color: #FFF;
} */

.spmenu{
    margin: 0;
    padding: 80px 0 0 0;
}
.spmenu .info_item{
    margin: 0;
    padding: 0;
}


/********* ハンバーガーメニュー設定 *********/
.menu{
    /*width: 100%;
    position: absolute;
    right: 6px;*/
}
.menu-trigger,
.menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

}
.menu-trigger {
    margin-right: 0;
    display: none;
    position: absolute;
    right:20px;
    top: 20px;
    z-index: 900;
    width: 30px;
    height: 20px;
}
.menu-trigger em {
    font-size: 10px;
    bottom: -20px;
    position: absolute;
    text-decoration: none;
    font-style: normal;
    /*font-family: 'GenJyuuGothic03';*/
    color: #000;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #6E6132;
    border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger span:nth-of-type(2) {
    top: 8px;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 0px;
}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
}
.menu-trigger.active span{
    background-color: #6E6132;
}
.menu-trigger.active{
    position: fixed;
}


/********* ページネーション *********/
.pagination {
    text-align: center;
}
.pagination a,
.pagination span {
    display: inline-block;
    margin: 8px 2px;
    text-decoration: none;
    border-radius: 100%;
    width: 42px;
    height: 42px;
    padding: 14px 0;
    box-sizing: border-box;
    color: #666;
    font-weight: bold;
    line-height: 1;
    background: #f5f5f5;
}
.pagination a.symbol {
    padding: 11px 0;
    font-size: 2rem;
}
.pagination a:hover {
    opacity: 0.7;
}
.pagination .current {
    background: #FAE4DD;
}


.navigation {
    border-top: 1px dotted #ccc;
    margin:0 0 0 0;
    padding:20px 0 60px 0;
    font-size:1em;
}
.navigation a{
    color: #000;
    text-decoration: none;
}
.navigation a:hover{
    color: #000;
    text-decoration: underline;
}
.navigation .previous {
    float: left;
    width: 47%;
}
.navigation .next {
    float: right;
    width: 47%;
    text-align:right;
}

/**************************** container ****************************/
.main {
    padding: 60px 0;
}
.container{
    width: 900px;
    margin: 0 auto;
    padding: 30px 25px;
    border-radius: 20px;
    box-shadow: 0 0 8px #ccc;
}

/********** 
衣装一覧 
**********/
.search .search_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 87%;
    margin: 0 auto;
    padding: 0 0 60px;
}
.search .search_btn {
    width: 22%;
    margin: 0 1% 10px;
}
.search .search_btn._last {
    width: 46%;
}
.search_active {
    margin: 0 auto 30px;
    padding: 30px;
    background: #F0EFEA;
    border-radius: 5px;
}
.search_active .search_item {
    width: 90%;
    margin: 0 auto;
    padding: 0;
}
.search_condition .title {
    padding: 0 0 10px;
    font-weight: 600;
}

.section02 {
    padding: 60px 0 0;
}

.cardList .result {
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
}
.cardList .inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1%;
    padding: 30px 0;
}
.cardList_item {
    display: block;
    width: 24%;
    height: 305px;
    margin: 0 0 1% 1%;
    border: 1px solid #CBCBCB;
    position: relative;
}
.cardList_image {
    display: block;
    width: 100%;
    height: 100%;
}
.cardList_image:hover {
    transition: all .3s;
    opacity: .7;
}
.cardList_item .fav_btn {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 10;
    width: 40px;
}
.cardList_image._disabled::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(102,102,102,.6);
}
.cardList_item .tag,
.sliderBox .tag {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    background: #C7B23B;
    color: #FFF;
    box-sizing: border-box;
    display: inline-block;
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
}
.sliderBox .tag  {
    left: 10%;
}
.cardList_item .tag::after,
.sliderBox .tag::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #C7B23B transparent;
    border-style: solid;
    content: '';
    right: -15px;
    border-width: 18px 15px 18px 0px;
}




/********** モーダル **********/
.no_scroll {
    overflow: hidden;
}
.modal_area {
    width: 100% !important;
}
.modal_window {
    display: none;
    position: fixed;
    top: 7%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    height: 90%;
    background-color: #fff;
    z-index: 960;
    padding: 2rem;
    overflow: scroll;
}
.modal_window_center {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 800px;
    width: 100%;
    height: 90%;
    background-color: #fff;
    z-index: 960;
    padding: 2rem;
    overflow: scroll;
}
.modal_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 950;
}

/*モーダルを消すボタン*/
.modal_window .delete_btn05 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}


/* 予約種別選択モーダル */
.modal_window.reservationSelect {
    padding: 40px 40px;
    height: auto;
    width: 650px;

}
.reservationSelect .title {
    padding: 0 0 30px;
    font-size: 2rem;
    font-weight: 600;
    color: #6E6132;
    text-align: center;
    white-space: nowrap;
}
.btnBlock10 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
}
.btnBlock10 .button03 {
    width: 265px;
    padding: 15px 0;
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
}
.reservationSelect .text {
    font-size: 1.4rem;
    font-weight: 600;
    color: #cb2b3d;
    padding: 5px 0 0 40px;
    text-indent: -14px;
}

/* 衣装対象者選択モーダル */
.modal_window.tragetSelect {
    padding: 60px 80px;
    height: auto;
}
.tragetSelect .title {
    padding: 0 0 30px;
    font-size: 2rem;
    font-weight: 600;
    color: #6E6132;
}
.tragetSelect .inputField {
    padding: 0 0 50px;
}
.tragetSelect .inputField dl {
    display: flex;
}
.tragetSelect .inputField dl dt,
.tragetSelect .inputField dl dd {
    width: 50%;
    padding: 10px 0;
}
.tragetSelect .inputField dl dt {
    font-weight: 600;
}
.tragetSelect .inputField dl dd {
    padding: 10px 0;
}
.tragetSelect .inputField dl dd .date {
    margin: 0 0 10px;
}
.tragetSelect .inputField._radio {
    display: flex;
    justify-content: space-around;
    padding-top: 20px;
    text-align: center;
}
.tragetSelect .inputField._radio .inputLabel {
    display: block;
}
.tragetSelect .inputField._radio .inputLabel .label_text::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    padding: 2px;
    background-clip: content-box;
}
/* 日時選択モーダル */
.modal_window.dateSelect {
    padding: 60px 80px;
}
.dateSelect .title {
    padding: 0 0 30px;
    font-size: 2rem;
    font-weight: 600;
    color: #6E6132;
}
.dateSelect .inputField {
    padding: 0 0 50px;
}
.dateSelect .inputField dl {
    display: flex;
}
.dateSelect .inputField dl dt,
.dateSelect .inputField dl dd {
    width: 50%;
    padding: 10px 0;
}
.mode-decision .dateSelect .inputField dl dt{
    width: 60%;
}
.dateSelect .inputField dl dt {
    font-weight: 600;
}
.dateSelect .inputField dl dd {
    padding: 10px 0;
}
.dateSelect .inputField dl dd .date {
    margin: 0 0 10px;
}
.dateSelect .inputField._radio {
    display: flex;
    justify-content: space-around;
    padding-top: 20px;
    text-align: center;
}
.dateSelect .inputField._radio .inputLabel {
    display: block;
}
.dateSelect .inputField._radio .inputLabel .label_text::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    padding: 2px;
    background-clip: content-box;
}

/* 衣装詳細モーダル */
.modal_window.clothesDetail {
    padding: 80px 60px;
    height: 90%;
}
.modalBlock01 {
    padding: 0 0 30px;
}
.modalBlock01 .inner {
    display: flex;
}
.modalBlock01 .inner > div {
    width: 50%;
}
.modalBlock01 .sliderBox {
    padding: 0 5%;
    position: relative;
}
.modalBlock01 .slider01_outer {
    position: relative;
}
.modalBlock01 .slider01_outer .fav_btn {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 10;
    width: 40px;
}
.modalBlock01 .slider01_item {
    height: 385px;
}
.modalBlock01 .slider01_item_img {
    width: 100%;
    height: 100%;
    border: 1px solid #CBCBCB;
}
.modalBlock01 .thumbs {
    margin: 10px auto 0;
    border: 1px solid #CBCBCB;
}
.modalBlock01 .thumbs .slick-track {
    transform: unset !important;
}
.modalBlock01 .thumbs .thumbs_image {
    height: 95px;
    border-right: 1px solid #CBCBCB;
}
.modal_window .slick-arrow {
    width: 40px;
    height: 40px;
    z-index: 10;
}
.modal_window .slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
}
.modal_window .slick-next:before {
    background: url(../img/slider_arrow02.png) !important;
    background-size: 40px !important;
    background-size: contain!important;
}
.modal_window .slick-prev:before {
    background: url(../img/slider_arrow01.png) !important;
    background-size: 40px !important;
    background-size: contain!important;
}
.modalBlock01 .contentBox {
    padding: 0 5%;
    font-weight: 600;
}
.modalBlock01 .contentBox .attention {
    width: fit-content;
    margin: 0 auto 30px;
    text-align: center;
    font-size: 1.7rem;
    color: #DC0037;
    background:linear-gradient(transparent 60%, #FBED70 60%);
}
.modalBlock01 .contentBox .alert {
    padding: 15px;
    background: #F0EFEA;
}
.modalBlock01 .contentBox .alert .title {
    margin: 0 auto;
    padding: 3px 10px;
    text-align: center;
    color: #DC0037;
    background: #fff;
}
.modalBlock01 .contentBox .alert .date {
    padding: 10px 0 0;
    color: #DC0037;
    text-indent: -2rem;
    padding-left: 2rem;
}
.modalBlock01 .contentBox .alert .memo {
    padding: 10px 0 0;
}
.modalBlock01 .contentBox .menuList {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 30px 15% 0;
}
.modalBlock01 .contentBox .menuList dt,
.modalBlock01 .contentBox .menuList dd {
    padding: 5px;
    font-size: 1.4rem;
    border-top: 1px solid #CBCBCB;
}
.modalBlock01 .contentBox .menuList dt:last-of-type,
.modalBlock01 .contentBox .menuList dd:last-of-type {
    border-bottom: 1px solid #CBCBCB;
}
.modalBlock01 .contentBox .menuList dt {
    width: 45%;
}
.modalBlock01 .contentBox .menuList dd {
    width: 55%;
    font-weight: normal;
}
.modalBlock01 .contentBox .favbox_btn {
    width: 100%;
    margin: 30px auto;
    padding: 13px;
    color: #D16455;
    border: 2px solid #E1877D;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
}
.modalBlock01 .contentBox .favbox_btn .icon {
    display: inline-block;
    width: 18px;
    margin-right: 10px;
    vertical-align: text-bottom;
}
.modalBlock01 .contentBox .favbox_btn._done {
    padding: 15px;
    background: #D16455;
    color: #fff;
    border: none;
    box-shadow: none;
}
.modalBlock01 .contentBox .favbox_btn:disabled {
    padding: 15px;
    background: #888;
    color: #fff;
    border: none;
    box-shadow: none;
}
.modalBlock02 {
    padding: 30px 0;
}
.modalBlock02 .sliderBox {
    height: 100%;
}
.modalBlock02 .slider02 {
    width: 100%;
    height: 100%;
    margin-left: -1%;
}
.modalBlock02 .slider02 .slick-track {
    width: 100%;
}
.modalBlock02 .slider02 .slick-slide {
    width: 100%;
}
.modalBlock02 .cardList_item {
    width: 24% !important;
    height: 224px;
    margin: 0 0 0 1%;
}
.sliderBox .slick-dots li {
    width: 10px;
}
.sliderBox .slick-dots li button:before {
    color: #878787;
    opacity: 1;
}
.sliderBox .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #EABEAD;
}
.clothesDetail .button_close {
    background-color: #888;
    box-shadow: 0px 2px 0px 0px rgba(45, 45, 45, .7);
}


/* マイページ見学申し込み詳細情報入力 */
.form_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 70px;
}
.form_body._bg {
    background: #F0EFEA;
    margin: 0 auto 50px;
    padding-top: 60px;
    position: relative;
}
.form_body .inputField._last {
    padding-bottom: 30px;
}
.form_body .inputField .plan,
.form_body .inputField .desired_plan {
    display: block;
    width: 50%;
    margin-left: auto;
}
.desired_plan_none {
    display: none;
}
.registForm table {
    width: 100%;
    border-top: 1px solid #E1E1E1;
}
.registForm table tr {
    border-bottom: 1px solid #E1E1E1;
}
.registForm table th,
.registForm table td {
    padding: 20px 0;
}
.registForm table th {
    width: 35%;
    text-align: left;
    vertical-align: middle;
}
.registForm table th .icon_caution {
    width: 20px;
}
.registForm table th span.small{
    font-size: 14px;
}
.registForm table td {
    width: 65%;
}
.registForm table td .mail_confirm {
    display: block;
    text-align: right;
}
.registForm table td .mail_confirm .item {
    display: inline-block;
    margin: 8px 0 0;
    padding: 3px 15px;
    color: #36BC79;
    border: 1px solid #36BC79;
    border-radius: 30px;
}
.registForm table td .mail_confirm .item02 {
    display: inline-block;
    margin: 5px 0 0;
    padding: 3px 0 3px 10px;
    color: #36BC79;
    /*border: 1px solid #36BC79;
    border-radius: 30px;*/
}
.registForm table td._radio {
    display: flex;
    justify-content: space-around;
    width: 100%;
}

.registForm table td .unit {
    display: inline-block;
    margin-left: 5px;
    vertical-align: bottom;
    font-weight: 600;
}
.registForm table td._last {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
span.caution {
    display: inline-block;
    margin-left: 10px;
    padding: 0 7px;
    font-size: 1.2rem;
    border-radius: 5px;
    color: #fff;
    background: #DC0037;
    vertical-align: middle;
}
.registForm table .people_numbe {
    display: block;
    /*margin-left: 10px;
    padding: 0 7px;*/
    font-size: 1.2rem;
    border-radius: 5px;
    color: #000;
}
.registForm table .memo {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 600;
}
.registForm table .memo a {
    color: #3770B2;
    text-decoration: underline;
}
.registForm .select_btn {
    width: 270px;
    margin: 30px auto;
    background: #D16455;
    color: #fff;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
}
.registForm02 {
    position: relative;
}
.form_body .delete_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}

.hideBox.none {
    display: none;
}
.hideBox02.none {
    display: none;
}
.hideBox03.none {
    display: none;
}
/*.hideBox04.block {
    display: block;
  opacity: 1;
  visibility: visible;
  height: 750px;
}*/
.hideBox04 {
    display: none;
    /*height: 0;
      opacity: 0;
    transition: .5s;
      visibility: hidden;*/
}
.cardLis02  {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1%;
    padding: 30px 0;
}
.cardLis02 .cardList_item {
    position: relative;
    margin-bottom: 0;
    height: auto;
    border: none;
    padding: 0 0 20px;
}
.cardLis02 .cardList_item .image {
    height: 280px;
    position: relative;
    border: 1px solid #CBCBCB;
}
.cardLis02 .cardList_item .image._disabled::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(102,102,102,.6);
}
.cardLis02 .cardList_item .image:hover {
    opacity: 1;
}
.cardLis02 .cardList_item .delete_btn {
    position: absolute;
    right: 7px;
    bottom: 7px;
    z-index: 10;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #000;
    border-radius: 30px;
}
.cardLis02 .cardList_item .delete_btn.del-box,
.cardLis02 .cardList_item .delete_btn.del-box-kakutei {
    top: initial;
    width: auto;
}
.cardLis02 .cardList_item .detailLink {
    position: relative;
    display: block;
    padding: 7px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #666;
    border-bottom: 1px solid #cbcbcb;
}
.cardLis02 .cardList_item .detailLink::after {
    font-family: FontAwesome;
    font-weight: 900;
    content: "\f105";
    color: #666;
    font-size: 2rem;
    position: absolute;
    right: 8px;
    bottom: 0;
}
.cardLis02 .cardList_item .detailLink:hover {
    opacity: .7;
}
.cardLis02 .cardList_item .alert {
    font-weight: 600;
}
.cardLis02 .cardList_item .alert_text {
    position: relative;
    padding: 8px 0;
    color: #DC0037;
    cursor: pointer;
}
.cardLis02 .cardList_item .alert_text::after {
    font-family: FontAwesome;
    font-weight: 900;
    content: "\f105";
    color: #DC0037;
    font-size: 2rem;
    position: absolute;
    right: 8px;
    bottom: 6px;
    transition: all .3s;
}
.cardLis02 .cardList_item .alert_text.alert_text-none::after{
    content: none;
}
.cardLis02 .cardList_item .alert_text.open::after {
    transform: rotate(90deg);
    bottom: -4;
}
.cardLis02 .cardList_item .alert_in {
    display: none;
    padding: 15px;
    background: #FCF2EE;
}
.cardLis02 .cardList_item .alert_in .title {
    margin: 0 auto;
    padding: 3px 10px;
    text-align: center;
    color: #DC0037;
    background: #fff;
}
.cardLis02 .cardList_item .alert_in .date {
    padding: 10px 0 0;
    color: #DC0037;
    text-indent: -2rem;
    padding-left: 2rem;
}
.cardLis02 .cardList_item .alert_in .memo {
    padding: 10px 0 0;
}
.btnBlock {
    display: flex;
    justify-content: space-around;
    width: 60%;
    margin: 0 auto;
    padding: 40px 0 60px;
}
.caution_memo {
    background: #F0EFEA;
    margin: 0 auto;
    padding: 40px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #DC0037;
    text-align: center;
}
.caution_memo .text {
    text-align: left;
    display: inline-block;
}
.btnBlock02 {
    width: 100%;
    padding: 60px 0 40px;
}
.btnBlock02 a:visited {
    color : #ffffff;
}


.cardLis02 .cardList_item .delete_btn02 {
    position: absolute;
    right: 7px;
    bottom: 7px;
    z-index: 10;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #000;
    border-radius: 30px;
}
.form_body .cardLis02 .cardList_item {
    width :32%;
}

/* 見学検討中BOX */
.selected_number {
    padding: 15px 20px 20px 45px;
    position: fixed;
    bottom: 5px;
    right: 5px;
    z-index: 99;
    background-color: #ffffff;
    border: solid 1px #666;
    border-radius: 5px;

}
.selected_number_text {
    position: relative;
    font-weight: bold;
}
.selected_number .selected_number_text::before {
    position: absolute;
    content: '';
    background: url("../img/icon_select.png") top right no-repeat;
    background-size: 15px;
    width: 15px;
    height: 15px;
    right: 145px;
    top: 9px;
}
.selected_number_count {
    padding: 0 5px 0 10px;
    font-size: 2rem;
}

.caution_memo02 {
    background: #F0EFEA;
    margin: 0 auto;
    padding: 40px 0;
    font-size: 1.6rem;
    font-weight: 600;
    /* color: #DC0037;*/
    text-align: center;
}
.caution_memo02 .text {
    /*text-align: left;*/
    display: inline-block;
}
.btnBlock03 .button01 {
    width: 310px;
    margin-top: 20px;
}
.btnBlock04 {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    padding: 20px 0 60px;
}
.btnBlock04 .button01 {
    width: 310px;
    padding: 15px 0;
    color :#ffffff;
    text-align: center;
}
.cardList_item .checkColor {
    position: absolute;
    z-index: 99;
    top: 0;
}
.confirmationForm02{
    display: flex;
}
.confirmationForm02 table {
    width: 50%;
    border-top: 1px solid #ffffff;
}
.confirmationForm02 table tr {
    border-bottom: 1px solid #ffffff;
    height: 60px;
}
.confirmationForm02 table th,
.confirmationForm02 table td {
    padding: 20px 0;
}
.confirmationForm02 table th {
    width: 35%;
    text-align: left;
    vertical-align: middle;
    color: #d16455;
}
.confirmationForm02 table th span.small{
    font-size: 14px;
}
.confirmationForm02 table td {
    width: 65%;
}
.confirmationForm02_img {
    text-align: center;
    padding: 0 0 0 30px;
    width: 50%;
}

/* 見学申込 */
.btnBlock05 {
    width: 100%;
    padding: 20px 0 30px 0;
}
.btnBlock05 .button01 {
    width: 310px;
    padding: 15px 0;
    color :#ffffff;
}

/*衣装件数folow*/



/* 撮影申込 */

/* マイページ見学申込内容変更確認 */
.application_details_table_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding:  0 70px 30px;
}
table.application_details_table {
    width: 100%;
    border-collapse: collapse;
    border: solid 1px #6e6132;/*表全体を線で囲う*/
    margin: 0 auto;
}
.application_details_table th,
.application_details_table td {
    display: block;
    line-height: 2;
    /*padding-left: 10px;*/
    text-align: center;
}
.application_details_table th {
    /*text-align: left;*/
    background-color: #f0efea;
}
.application_details_table td {
    border-bottom: solid 1px #6e6132;
}
.application_details_table td.border_b_none {
    border-bottom: none;
}
.application_details_table td._height {
    height: 60px;
}

.caution_memo03 {
    background: #F0EFEA;
    margin: 30px auto;
    padding: 20px 0;
    font-size: 1.6rem;
    font-weight: 600;
    color: #DC0037;
    text-align: center;
}
.caution_memo03 .text {
    text-align: left;
    display: inline-block;
}
.caution_memo03_in {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0 10px 0;
}
.caution_memo03_icon {
    width:70px;
}
.caution_memo03_icon img {
    width: 100%;
}
.btnBlock06 {
    /*    width: 100%;*/
    padding: 0 0 0 20px;
}
.btnBlock06 a:visited {
    color: #ffffff;
}
.btnBlock06 .button02 {
    width: 310px;
    /*    padding: 15px 0;*/
    color :#ffffff;
}

/* 会員登録 */
.btnBlock_02 {
    display: flex;
    justify-content: space-around;
    width: 60%;
    margin: 0 auto;
    padding: 40px 0 20px;
}
._padding_none {

}
.form_body._padding_none {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 0 70px;
}
.dateSelect .title._padding_none {
    padding: 30px 0 0;
    font-size: 2rem;
    font-weight: 600;
    color: #6E6132;
}
.dateSelect .inputField._padding_none {
    padding: 20px 0 10px;
}

/* ログイン */

.registForm table._boder_none {
    width: 100%;
    border-top: none;
}
.registForm table tr._boder_none {
    border-bottom: none;
}
.btnBlock07 {
    width: 100%;
    padding: 40px 0 30px 0;
}
.btnBlock07 .button01 {
    width: 310px;
    padding: 15px 0;
    color :#ffffff;
}
.headingL._padding_re {
    display: flex;
    justify-content: center;
    padding: 40px 0 0;
    font-size: 2.1rem;
    font-weight: 600;
    color: #6E6132;
}

/* マイページ予約一覧 */
.my_name {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding-top: 20px;
}
.news-list_body {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding:  0 70px 10px;
}
.news-list {
    list-style: none;
    width: 100%;
    border-collapse: collapse;
    border-top: solid 1px #cbcbcb;
    border-bottom: solid 1px #cbcbcb;
    margin: 0 auto;
}
.news-list .item{
    border-bottom: 1px solid #cbcbcb;
}
.news-list .item:last-child{
    border-bottom: none;
}
.news-list .item a{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-wrap: nowrap;
    text-decoration: none;
    color: #333;
    line-height: 2;
}
.news-list .item a::after{
    position: absolute;
    content: '';
    top: 12px;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #666666;
    border-right: 2px solid #666666;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news-list .item:nth-child(even) {
    background-color: #f0efea;
}
.news-list .item .date {
    padding-left: 10px;
    font-weight: 600;
}
.news-list .item .title {
    padding: 0 30px 0 10%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.section03 {
    padding: 60px 0 ;
    border-bottom: dotted 1px #666666;
}

.visit_day_body {
    width: 100%;
    margin: 0 auto;
    padding:  0 0 30px;
}
.visit_day_box {
    text-align: center;
    width: 280px;
    margin: 0 auto;
}
.visit_day_title {
    position: relative;
    font-weight: bold;
    color: #fff;
    background-color: #d16455;
    line-height: 3;
}
.headingM02 {
    padding: 0;
    text-align: center;
    font-weight: 600;
}
.headingM02 span {
    display: inline-block;
    position: relative;
    width: 1px;
    height: 13px;
    background: #DECE51;
    margin: 0 15px;
}
.headingM02 span::after {
    content: "";
    position: absolute;
    top: 6px;
    left: -4px;
    width: 10px;
    height: 1px;
    background: #DECE51;
}
.plus.icon.deco01 {
    color: #dece51;
    position: relative;
    top: 24px;
    left: -23px;
}
.plus.icon.deco02 {
    color: #dece51;
    position: relative;
    top: 24px;
    right: -10px;
}
.plus.icon:before {
    content: '';
    position: absolute;
    left: 2px;
    width: 9px;
    height: 1px;
    background-color: currentColor;
}
.plus.icon:after {
    content: '';
    position: absolute;
    width: 13px;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}


.visit_day_date {
    font-weight: bold;
    background-color: #f0efea;
    font-size: 1.9rem;
    line-height: 4;
}
.btnBlock08 {
    padding: 0 0 60px 0 ;
    border-bottom: dotted 1px #666666;
    margin: 0 70px;
}

.btnBlock08 .button01 {
    width: 310px;
    margin-top: 20px;
    color :#ffffff;
    text-align: center;
}
.btnBlock09 .button01 {
    width: 310px;
    margin-bottom: 40px;
    color :#ffffff;
    text-align: center;
}

/* 会員マイページトップ */
.visit_day_body02 {
    width: 700px;
    margin: 0 auto;
    padding: 0 50px 30px;
    display: flex;
}
.visit_day_box02 {
    text-align: center;
    width: 280px;
    margin: 0 auto;
}

/* 非会員マイページトップ */
.benefits_body .delete_btn04 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}

.benefits_img_body {
    position: relative;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 0  30px 30px;
    cursor: pointer;
}
.benefits_img_body:hover {
    opacity: .6;
}
.benefits_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 40px 10px 0;
}
.benefits_body._bg {
    border-radius: 20px;
    box-shadow: 0 0 8px #ccc;
    /*margin: 0 auto 50px;*/
    /*padding-top: 30px;*/
    position: relative;
}
.benefits_body .delete_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}
.benefits {
    display: flex;
    flex-wrap: wrap;
    margin-left: -3%;
}
.benefits_box {
    width: 47%;
    margin: 0 0 3% 3%;
    padding-bottom: 20px;
    border-bottom: dotted 2px #dece51;
}
.benefits_box:nth-child(n+3) {
    border-bottom: none;
}
.benefits_box_in {
    display: flex;
    align-items: center;
    padding: 10px;
}
/*
.benefits_number {
  width: 100%;
}
*/
.circle {
    display: flex;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    background: #d16455;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    margin-right: 10px;
}
.circle span.circle_text01 {
    display: block;
    width: 100%;
    font-size: 1rem;
    font-weight: bold;
}
.circle span.circle_text02 {
    display: block;
    width: 100%;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 2px;
}
.benefits_title {
    font-weight: bold;
}
.benefits_icon {
    margin: 0 auto;
    width: 40%;
}

/* チャット */
.chat_box{
    /*	margin: 0 0 20px;*/
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 0 70px 10px;
}
.chat_box_in{
    height: 320px;
    overflow-y: scroll;
    padding: 15px;
    border-radius: 4px;
    margin: 0 0 15px;
    background-color: #e6e6e6;
    /*border: 5px solid #EEE;*/
}
.chat_box_in ul{
    list-style: none;
}
.chat_box_in ul li{
    width: 100%;
    padding: 0 60% 0 0;
    margin: 0 0 10px;
}
.chat_box_in ul li span.message{
    display: block;
    position: relative;
    width: 100%;
    padding: 5px 10px;
    font-size: 13px;
    border: 1px solid #6e6132;
    background-color: #ffffff;
    border-radius: 10px;
}


.chat_box_in ul li span.message:before {
    content: "";
    position: absolute;
    top: 30%;
    left: -15px;
    margin-top: -12px;
    border: 5px solid transparent;
    border-right: 12px solid #FFF;
    z-index: 2;
}

.chat_box_in ul li span.message:after {
    content: "";
    position: absolute;
    top: 33%;
    left: -19px;
    margin-top: -14px;
    border: 5px solid transparent;
    border-right: 14px solid #555;
    z-index: 1;
}
.chat_box_in ul li.user span.message:before {
    content: "";
    border: none;
}

.chat_box_in ul li.user span.message:after {
    content: "";
    border: none;
}
.chat_box_in ul li.user{
    text-align: end;
    padding: 0 0 0 60%;
}
.chat_box_in ul li.user span.message{
    text-align: initial;
    background-color: #d5ffd3;
    border: none;
}
.chat_box_in ul li .operater {
    display: flex;
}
.chat_box_in ul li .operater_box {
    padding: 0 50% 0 0;
}
.chat_box_in ul li .operater span.message {
    margin-left: 16px;
}
.chat_box_in .operater_box .send_date {
    padding-left: 45px;
    font-size: 1.2rem;
}
.chat_box_in .user .send_date {
    font-size: 1.2rem;
}


.chat_icon01 {
    width: 30px;
}
.chat_icon01 img {
    width: 100%;
}
.chat_send_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 10px;
}
.chat_box label.chat_icon02 {
    cursor: pointer;
    width: 20px;
    height: 20px;
}
.chat_box .chat_icon02 input[type="file"] {
    display: none;
}
.chat_box .input_box{
    margin: 0 0 10px;
}
.chat_box .btn_box{
    text-align: end;
}
.chat_box .chat_btn {
    width: 70px;
    padding: 2px 10px;
    background-color: #6e6132;
    margin: 0;
    color: #ffffff;
}

.chat_box .chat_input {
    height: 80px;
}


/* グラフ50% */
.graph {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    margin-left: auto;
    width: 200px;
    height: 200px;
    font-size: 5rem;
    font-weight: 700;
    color: #6e6132;
    border-radius: 50%;
    padding: 0 0 25px;
}
.graph .graph_box {
    text-align: center;
    padding-top: 30px;
}
.graph .graph_name {
    font-size: 2rem;
    display: block;
}
.graph .graph_percent {
    font-size: 6.5rem;
    line-height: 1.3;
}
.graph .graph_percent span {
    font-size: 3.5rem;
    padding-left: 3px;
}
.graph_text {
    padding-top: 25px;
    text-align: center;
}

/*グラフ10~90%*/
.graph_percent10 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 36deg, #cccccc 0% 100%);
}
.graph_percent20 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 72deg, #cccccc 0% 100%);
}
.graph_percent30 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 108deg, #cccccc 0% 100%);
}
.graph_percent40 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 144deg, #cccccc 50% 100%);
}
.graph_percent50 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 180deg, #cccccc 50% 100%);
}
.graph_percent60 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 216deg, #cccccc 50% 100%);
}
.graph_percent70 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 252deg, #cccccc 50% 100%);
}
.graph_percent80 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 288deg, #cccccc 50% 100%);
}
.graph_percent90 {
    background-image: radial-gradient(#ffffff 63%, transparent 61%),
        conic-gradient(#ffe5e2 0,
        #d16455 324deg, #cccccc 50% 100%);
}


/* 会員見学後マイページトップ */
/* グラフ100% */
.graph02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    margin-left: auto;
    width: 200px;
    height: 200px;
    font-size: 5rem;
    font-weight: 700;
    color: #6e6132;
    background-image: radial-gradient(#fdf5f2 63%, transparent 61%), linear-gradient(79deg, #ffe5e2, #d16455);
    border-radius: 50%;
    padding: 0 0 25px;
}
.graph02 .graph_img01 {
    position: absolute;
    width: 60px;
    top: -35px;
}
.graph02 .graph_img02 {
    position: absolute;
    width: 22px;
    top: -30px;
    right: -25px;
}
.graph02 .graph_img03 {
    position: absolute;
    width: 22px;
    bottom: 15px;
    left: -25px;
}
.graph02 .graph_box {
    text-align: center;
    padding-top: 25px;
}
.graph02 .graph_name {
    font-size: 2rem;
    display: block;
}
.graph02 .graph_percent {
    font-size: 6rem;
    line-height: 1;
    color: #d16455;
}
.graph02 .graph_percent span {
    font-size: 3.5rem;
    padding-left: 3px;
}


/* 予約内容入力 */
.time_form_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 70px;
}
.time_form_body .dateSelect .inputField:last-child {
    padding: 0;
}

.confirmation_form_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 70px;
}
.confirmation_form_body._bg {
    background: #F0EFEA;
    margin: 0 auto 50px;
    padding-top: 60px;
    position: relative;
}
.confirmation_form_body._bg._margin-t {
    background: #F0EFEA;
    margin: 20px auto 50px;
    padding-top: 60px;
    position: relative;
}
.confirmation_form_body .delete_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}
.confirmation_form_body .delete_btn02 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}
.confirmation_form_body .delete_btn03 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    padding: 0;
    background: none;
}


.confirmationForm table {
    width: 100%;
    border-top: 1px solid #ffffff;
}
.confirmationForm table tr {
    border-bottom: 1px solid #ffffff;
}
.confirmationForm table th,
.confirmationForm table td {
    padding: 20px 0;
}
.confirmationForm table th {
    width: 35%;
    text-align: left;
    vertical-align: middle;
    color: #d16455;
}
.confirmationForm table td {
    width: 65%;
}
.confirmationForm_img {
    text-align: center;
    padding: 60px 0 40px 0;
}


/* 衣装予約状況確認 */
.costume_id {
    padding-bottom:10px;
    text-align: center;
}

.selected_costume_slider .sliderBox .slick-arrow {
    width: 40px;
    height: 40px;
    z-index: 10;
}
.selected_costume_slider .sliderBox .slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
}
.selected_costume_slider .sliderBox .slick-next:before {
    background: url(../img/slider_arrow02.png) !important;
    background-size: 40px !important;
    background-size: contain!important;
}
.selected_costume_slider .sliderBox .slick-prev:before {
    background: url(../img/slider_arrow01.png) !important;
    background-size: 40px !important;
    background-size: contain!important;
}





.reservation_date_table_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding:  0 10px 30px;
}
table.reservation_date_table {
    width: 100%;
    border-collapse: collapse;
    border: solid 1px #6e6132;
    margin: 0 auto;
    text-align: center;
}
.reservation_date_table th {
    /*display: block;*/
    line-height: 2;
    /*padding-left: 10px;*/
}
.reservation_date_table th {
    width: 50%;
    background-color: #f2bcaa;
}
.reservation_date_table tr:nth-child(2) td {
    padding-top: 5px;
}
.reservation_date_table tr:last-child td {
    padding-bottom: 5px;
    font-size: 2rem;
}
.reservation_date_table .selected {
    color: #36BC79;
}
.reservation_date_table .border_r {
    border-right: solid 1px #6e6132;
}
.reservation_date_table .not_selected {
    color: #dc0037;
}
/*カレンダー*/
.date_selection_calendar_body {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding:  0 10px;
}
.date_selection_calendar_title {
    font-size: 1.9rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 15px;
}
table.date_selection_calendar {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
    border: solid 2px #6e6132;
    margin: 0 auto;
    text-align: center;
}
.date_selection_calendar h1 {
    line-height: 100px;
    text-align: center;
    font-size: 30px;
}
.date_selection_calendar tr td span {
    display: block;
}
.date_selection_calendar tr td span .attention {
    display: inline;
    padding-left: 3px;
    color: #dc0037;
}
.date_selection_calendar th,
.date_selection_calendar td {
    text-align: center;
    padding: 5px;
    background-color: #fff;
    border: solid 1px black;
    line-height: 1.2;
}
.date_selection_calendar th {
    font-weight: bold;
    font-size: 1.7rem;
    padding: 13px 0;
}
.date_selection_calendar td {
    font-weight: bold;
    font-size: 1.4rem;
}

.date_selection_calendar .sun {
    background-color: #f2bcaa;
}
.date_selection_calendar .sat {
    background-color: #e8f0f9;
}
.date_selection_calendar .bg_grey {
    background-color: #cccccc;
}
.date_selection_calendar .today {
    background-color: #f6ea87;
}
.date_selection_calendar .not_reservation {
    color: #dc0037;
}
.date_selection_calendar .rebooking {
    color: #dc0037;
    padding-left: 3px;
}


/*カレンダースライダー*/
.date_selection_calendar_body .slick-arrow {
    width: 15px;
    height: 40px;
    z-index: 10;
}
.date_selection_calendar_body .slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
}
.date_selection_calendar_body .slick-next:before {
    background: url(../img/slider_arrow04.png) !important;
    background-repeat: no-repeat!important;

    background-size: contain!important;
}
.date_selection_calendar_body .slick-prev:before {
    background: url(../img/slider_arrow03.png) !important;
    background-repeat: no-repeat!important;
    background-size: contain!important;
}


/*********************
 20220907 追加 
*********************/

/* 予約種別選択ボタン */
.btnBlock10 {
    flex-direction: column;
}
.reservationSelect .text {
    width: fit-content;
    margin: 0 auto;
    padding: 5px 0 20px;
}

/* 4大特典 */
.hideBox04 {
    padding: 10px 0 0;
}
.benefits_img_body {
    padding: 20px  30px 30px;
    cursor: pointer;
}

/* サポートチャット */
.chat_box_in .send_time {
    display: inline-block;
    margin-left: 10px;
    font-size: 1.2rem;
}

/* 申し込み内容 */
.post_code {
    font-size: 20px;
    display: inline-block;
    padding: 10px
}

/* モーダル削除ボタン */
.delete_btn06 {
    background-color: transparent;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    padding: 0;
}

/*********************
 20220909 追加 
*********************/
/* 衣装予約状況確認 */
.check-reservation-status .modalBlock01 .inner {
    align-items: flex-end;
}

.registForm table .memo.carryon-list{
    display: none;
}

.alert.alert-danger {
    text-align: center;
    color: red;
    margin: 2rem auto;
}

.alert.alert-success {
    text-align: center;
    color: #06a700;
    margin: 2rem auto;
}

.clothes_system01 .search-detail{
    display: none;
}
.search-condition-list{
    display: none;
}
.section02.costume-list{
    padding: 0;
}
.swal2-styled.swal2-cancel,
.swal2-styled.swal2-confirm{
    font-size: 1.5em;
}

/*********************
 20221209 追加 
*********************/
/* ヘッダー */
.headerInfo {
    padding: 13px 2%;
    border-radius: 30px;
    background: #F0EFEA;
}
.headerInfo .fa-solid {
    color: #D67366;
}
.headerInfo .info_item {
    padding: 0 12px;
    transition: all .3s;
}
.headerInfo .info_item:hover {
    color: #D67366;
}
.spmenu .info_item {
    display: block;
    padding: 0 0 20px;
    text-align: center;
}
.spmenu .info_item .fa-solid {
    color: #D67366;
}
/* 衣装一覧 */
/*.cardList_image._exist::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(243, 231, 58, 0.5);
}*/
/* 衣装詳細モーダル */
.modal_window {
    height: auto;
    max-height: 90%;
}
.modal_window.clothesDetail {
    padding: 30px 60px 60px;
}
.costume_id {
    font-weight: normal;
}
.modalBlock01 .contentBox .menuList {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 30px 0 0;
}
.modalBlock01 .contentBox .alert {
    padding: 15px;
    background: #F7E5DE;
}
.modalBlock01 .contentBox .alert .title {
    width: fit-content;
    padding: 3px 25px;
    border-radius: 30px;
}
.modalBlock01 .contentBox .alert .date {
    color: #000;
}
.modalBlock01 .contentBox .alert .memo {
    font-weight: normal;
}
.modalBlock01 .contentBox .menuList span {
    margin: 0 5px 7px 0;
    padding: 3px 10px;
    background: #E0E0E0;
    border-radius: 30px;
    font-weight: normal;
}
.modalBlock01 .alert_type {
    margin: 0 0 10px;
    padding: 10px;
    border-radius: 5px;
    color: #fff;
    text-align: center;
}
.modalBlock01 .alert_type span {
    display: block;
}

.modalBlock01 .alert_type.type01 {
    background: #5FB978;
}
.modalBlock01 .alert_type.type02 {
    background: #EB5A24;
}
.modalBlock01 .alert_type.type03 {
    background: #DC0037;
}


/* 日程選択モーダル */
.dateSelect .inputField dl {
    align-items: center;
}
.dateSelect .inputField dl dd {
    display: flex;
    justify-content: space-between;
}
.dateSelect .inputField dl dd .date {
    margin: 0;
    width: 59% !important;
}
.dateSelect .inputField dl .selectWrap {
    width: 40%;
}
.dateSelect .inputField dl .selectWrap select {
    height: 100%;
}
.dateSelect .inputField._radio {
    justify-content: center;
}
.dateSelect .inputField._radio label {
    margin: 0 5% 0 0;
}

/* 見学検討中BOX */
input[type="submit"].button01 {
    display: block;
    width: 310px;
    margin: 0 auto;
    padding: 15px;
    font-size: 1.6rem;
    font-weight: 600;
    background-color: #D16455;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
    color: #fff;
    border: none;
    border-radius: 20rem;
}

/* 見学お申し込み */
.btnBlock05 .button01 {
    text-align: center;
}
#select-entry-costume {
    font-weight: bold;
    padding: 20px;
    color: #DC0037;
}
.reserve-entry-confirm .dateSelect .title {
    padding: 0 0 10px;
}
.reserve-entry-confirm .dateSelect .inputField._radio {
    padding: 20px 0;
}
.reserve-entry-confirm .form_body {
    padding: 30px 70px 0;
}
.form_body .inputField._last {
    text-align: center;
}
.confirmationForm02 table {
    width: 100%;
}

/* 申込内容変更確認 */
.registForm table td._radio {
    justify-content: center;
}
.registForm table td._radio label {
    margin: 0 5% 0 0;
}

/* 衣装選択 */
.reservation_date_table_body {
    padding: 0px 10px 20px;
}
.date_selection_calendar_box .arrow_btns {
    display: flex;
    justify-content: space-between;
}
.date_selection_calendar_box .arrow_btns button {
    font-size: 3rem;
    color: #333;
    /* padding: 5px ; */
}
.date_selection_calendar_box .month {
    margin: 0 auto 5px;
    display: block;
    font-size: 1.8rem !important;
}


/* 404 */
.systembox {
    padding: 10%;
    text-align: center;
    color: #333;
}
.systembox .h1_style01 {
    padding: 0 0 30px;
    font-size: 4rem;
}
.systembox .h2_style01_single {
    padding: 0 0 50px;
    font-size: 2rem;
}

.error-message{
    text-align: right;
    color: red;
}
.notice-outingdate{
    color: #DC0037;
    font-size: 14px;
    padding: 0px 10px 20px;
}
.benefits_title span{
    display: block;
    font-size: 13px;
    font-weight: normal;
    margin-top: 5px;
}
.benefits_title a{
    color: #D16455;
    text-decoration: underline;
}

/* 20230113 追加 */
.hideBox04 {
    margin: 0 0 60px;
}
.benefits_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.search_btn._last.current {
    color: #D16455;
    border: 2px solid #D16455;
    background: inherit;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
}
.search_btn._last.current span {
    border-top: 1px solid #D16455;
    border-bottom: 1px solid #D16455;
}
.btnBlock04 .select_btn_new {
    background-color: #5FB978;
}
.time_form_body .dateSelect .inputField dl dt {
    display: flex;
}
.time_form_body .dateSelect .inputField dl dt .time {
    margin-left: auto;
    padding-right: 5%;
    font-size: 17px;
}
.time_form_body .dateSelect .inputField dl .selectWrap {
    width: 100%;
}
.selectWrap02::after {
    content: none;
}

.chat_box_in ul li span.message:before {
    top: 33%;
    margin-top: 0;
}
.chat_box_in ul li span.message:after {
    top: 33%;
    margin-top: 0;
}
.reserve-entry-confirm .confirmationForm02 {
    flex-direction: column;
}
.reserve-entry-confirm .confirmationForm02_img {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 10px 0;
    padding: 0;
}
.reserve-entry-confirm .confirmationForm02_img span {
    width: 32%;
    padding: 0 0 15px;
    margin-right: 1%;
}
.reserve-entry-confirm .confirmationForm02_img img {
    object-fit: cover;
    height: 240px;
}
.reserve_btn {
    display: block;
    margin: 0 auto;
    padding: 13px;
    font-size: 1.6rem;
    font-weight: 600;
    border-radius: 20rem;
    width: 100%;
    color: #5FB978 !important;
    border: 2px solid #5FB978;
    background: #fff;
    box-shadow: 0px 2px 0px 0px rgb(139 101 112 / 70%);
    text-align: center;
}
.reserve_btn .fas {
    margin-right: 10px;
}
.all_select {
    display: block;
    text-align: center;
    padding: 15px 0 0;
}
.all_select input {
    vertical-align: middle;
}
.all_select span {
    display: inline-block;
    padding: 2px 0 0;
    font-weight: bold;
    border-bottom: 1px solid #000;
}
.explain {
    text-align: center;
}

.costume_id {
    padding-bottom: 8%;
}

/* .check-reservation-status .modalBlock01 .inner .sliderBox {
    width: 55%;
}
.check-reservation-status .modalBlock01 .inner .contentBox {
    width: 45;
} */
.modalBlock01 .slider01_item {
    height: 425px;
}
.reservation_date_table_body._first {
    padding: 0px 10px 7px;
}

/* 成功メッセージ */
.alert-success-frame {
    background-color: #defade;
    border: 3px solid #267726;
    color: #267726;
    margin: 10px 0 15px;
    padding: 10px;
    text-align: center;
}

/* 失敗メッセージ */
.alert-danger-frame {
    background-color: #ffcccc;
    border: 3px solid #8f0000;
    color: #8f0000;
    margin: 10px 0 15px;
    padding: 10px;
    text-align: center;
}

/* 衣装詳細モーダル */
#select-entry-costume .modalBlock01 {
    color: #000;
}

/* 日程・店舗検索 エラー */
.error-hopedate1,
.error-hopedate2,
.error-hopedate3,
.error-photodate,
.error-outingdate {
    text-align: right;
    color: #f00;
}
.error-photodate,
.error-outingdate {
    padding-right: 12%;
}
.select-scheduledate:disabled,
.select-costume-date:disabled {
    color: #fff;
    background: #888;
    box-shadow: 0px 2px 0px 0px rgb(45 45 45 / 70%);
}

span.note{
    display: block;
    font-size: 14px;
    margin-top: 3px;
}


/* 入力モードを指定 */
.ime-disabled{
    ime-mode: disabled;
}


/* 20230306 追加 */
.pv {
    text-align: center;
    background: #6E6132;
    padding: 30px 0 0;
}
.pv a {
    display: inline-block;
    width: fit-content;
    margin: 0 auto;
    padding: 5px 0;
    color: #fff;
    font-size: 1.4rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.store_name {
    margin: 0 auto 50px;
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    background: rgb(121, 163, 118, 0.8);
    color: #fff;
    padding: 7px 10%;
    width: fit-content;
    position: relative;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
}
.store_name::before,
.store_name::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 0;
    height: 0;
}
.store_name::before {
    top: -2px;
    left: -2px;
    border-width: 25px 0 25px 15px;
    border-color: transparent transparent transparent #FFF;
    border-style: solid;
}
.store_name::after {
    top: -2px;
    right: -2px;
    border-width: 25px 15px 25px 0;
    border-color: transparent #FFF transparent transparent;
    border-style: solid;
}

.cardList_item span.plan {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.2rem;
    color: #333;
    background: #fff;
    padding: 3px 5px;
}
/* add20230425 マイページ 新着メッセージ */
.message_info{
    width: 100%;
    background: #FCF2EE;
    padding: 10px 0;
    font-weight: bold;
    text-align: center;
}
.message_info.mb30{
    margin: 0 0 30px 0;
}
.message_info img {
    width: 18px;
    height: auto;
    margin: 0 5px 3px 0;
}
/* チャット 新着メッセージ */
.operater_box .message{
    position: relative;
}
.operater_box .message{
    position: relative;
}
/* .chat_box_in ul li .operater span.message */
.chat_box_in ul li.user {
    padding: 0 0 0 30%;
}
.chat_box_in ul li {
    padding: 0 30% 0 0;
}
.chat_box_in ul li .operater span .message_new {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(251,235,229,.8);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
}
.chat_box_in ul li .operater span .message_new .btn {
    background: #E95A24;
    padding: 3px 10px;
    text-align: center;
    color: #fff;
    font-size: 11px;
    border-radius: 20px;
    font-weight: normal;
    margin: 0 0 0 5px;
}
.chat_box_in ul li .operater span .message_new .btn:hover {
    background: #B84E17;
}
/* 20230501追加 */
.chat_box_in ul li.unread .operater span.message {
    color: transparent;
    text-shadow: 0 0 4px rgba(0,0,0,0.9);
}
.chat_box_in ul li .operater span .message_new {
    background: rgba(251,235,229,.7);
}
.chat_box_in ul li .operater span .message_new {
    color: #000;
    text-shadow: none;
}

.search_btn02 span.btn-message{
    font-size: 1.2rem;
    font-weight: normal;
    padding: 0;
    color: red;
}
.search_btn02 span.btn-message-label{
    padding: 6px 0 0;
}
.search_btn.current span.btn-message{
    color: #fff;
}
.costume-modal .description{
    margin-bottom: 20px;
    font-weight: normal;
}
span.note01{
    display: block;
    margin-top: 20px;
    color: rgb(255, 0, 4);
}

/* 20230629 追加　ページトップへスクロール */
#pagetop {
    display: block;
    width: 60px;
    height: 60px;
    padding: 8px;
    text-align: center;
    background: #D16455;
    color: #fff;
    position: fixed;
    bottom: 50px;
    right: 20px;
    border-radius: 999px;
    z-index: 100;
}
#pagetop i {
    display: block;
}
#pagetop:hover {
   opacity: .7;
}

/* 20230904追加 */
.modal_window .date {
    min-width: 150px;
}
.modal_window .timepicker{
    margin-left: 5px;
}

/* 20230925追加 */
.hopedate_caution_statement {
    font-weight: bold;
    color: rgb(255, 0, 4);
    padding-bottom: 50px;
}

/* 20231128追加 */
.costume-card-date-box {
    margin-top: 10px;
    color: #222222;
    font-size: 1.5rem;
}
.costume-card-date-box .date-heading {
    color: #484848;
}
.costume-card-date-box .date {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 8px;
}
.photo_wedding_label {
    padding: 10px 0 !important;
}

.cardList_item.costume-modal .new_label {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.2rem;
    color: #fff;
    background: #D16455;
    padding: 3px 5px;
}
.inner.costume-modal .contentBox .new_label {
    color: #fff;
    margin-left: 10px;
    padding: 3px 10px;
    background: #D16455;
    border-radius: 30px;
    font-weight: normal;
}