@charset "UTF-8";
.Contents{
padding:clamp(40px, 23.4254px + 4.4199vw, 80px) 0;
}
.ultra-pop {
margin-top: clamp(30px, 4.42vw + 13.4px, 70px);
margin-bottom: clamp(30px, 2.21vw + 21.7px, 50px);
}
@media screen and (min-width: 898px) {
body.page-id-15 .doubleBorder,
body.page-id-19 .doubleBorder,
body.page-id-21 .doubleBorder,
body.page-id-23 .doubleBorder,
body.post-type-archive-ticket .doubleBorder,
body.post-type-archive-goods .doubleBorder,
body.single .doubleBorder{
min-height:400px;
}
}
body.page-id-15 .comingsoon,
body.post-type-archive-ticket .comingsoon,
body.post-type-archive-goods .comingsoon,
body.single .comingsoon{
margin: 15vh auto;
}
/* ticket */
body.post-type-archive-ticket .doubleBorder{
font-size: clamp(16px, 4vw, 18px);
}
.contetns__title{
color:var(--Key-color);
margin:0 auto 1.5em;
font-size: clamp(20px, 4vw, 24px);
line-height:1.8;
font-family: "Noto Serif JP", serif;
font-weight: 700;
padding-bottom: .6em; 
border-bottom: solid 1px var(--line-color);
background: url('../images/common/underline.png') no-repeat center bottom;
background-size: 110px auto; 
}
.ticket_title{	
margin: 0 auto.5em;	
padding:5px 0 5px 10px;
display: flex;
align-items: center;
justify-content: center;
color:var(--white-color);
font-size: clamp(18px, 3vw, 20px);
font-weight: 700;
background-color: var(--Key-color);
border-radius: 3px;	
text-align:left;
}
.ticket_contents{
margin:1em auto 2em;
font-size:16px;
line-height:1.8;
text-align:left;
}
.ticket_contents .comingsoon{
text-align:center;
}
.ticket-txt{
margin: 0 auto 2em;	
font-size: clamp(14px, 4vw, 16px);
font-family: "Noto Serif JP", serif;
font-weight: 700;
}
.tab-container .ticket_title{	
margin: 2em auto.5em;	
background-color: var(--line-color);
}
.ticket_sub_title{
margin: 0 auto 1em;	
font-size: clamp(16px, 4vw, 18px);
font-weight: 700;
border-bottom: solid 2px var(--Key-color);
}
.my-ticket-box {
background-color: #fbf5f4;
margin:.5em auto;
padding: .5em 1em;
border-radius: 8x;
}
.post-item-content{
text-align:left;
}
.ticket_notes{
margin:1em auto 2em;
font-size:14px;
line-height:2;
text-align:left;
}
/* tab */
.tab-container {
margin: 0 auto;
}
.tab-panel {
padding: 0;
}
/* GOODS */


/* フォーム */
.wpcf7 {
margin: 0 auto;
width: min(1280px, 100%);
text-align: left;
}
.contact-form {
width: 90%;
margin: 4em auto 0;
padding: 45px 30px;
background-color: #fdfcfa;
border-radius: 8px;
}
.form-item {
margin-bottom: 25px;
}
.form-item label {
display: block;
font-weight: 500;
color: #4e4a46;
font-size: 14px;
letter-spacing: 0.08em;
transition: color 0.3s ease;
}
.required {
display: inline-block;
font-size: 10px;
padding: 2px 10px;
border-radius: 0;
color: #ffffff;
margin-left: 12px;
vertical-align: middle;
background-color: #c5a880;
font-weight: normal;
letter-spacing: 0.05em;
transition: background-color 0.3s ease;
}
.name-flex {
display: flex;
gap: 20px;
}
.name-field {
flex: 1; 
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
width: 100%;
padding: 14px;
border: 1px solid #e2ded8; 
background-color: #ffffff;
border-radius: 4px;
box-sizing: border-box;
font-size: 15px;
color: #4e4a46;
transition: all 0.4s ease;
}
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus {
outline: none;
border-color: #c5a880;
background-color: #faf8f5; 
box-shadow: 0 0 6px rgba(197, 168, 128, 0.15);
}
.contact-form textarea {
height: 180px;
resize: vertical;
}
.wpcf7-spinner {
display: none !important;
}
.contact-form .form-submit {
display: flex !important;
justify-content: center !important;
align-items: center !important;
clear: both !important;
width: 100% !important;
margin-top: 45px !important;
}
.contact-form .form-submit input[type="submit"] {
display: block !important;
float: none !important;
margin: 0 !important;
width: auto !important;
min-width: 260px;
background-color: var(--Key-color) !important;
color: var(--white-color) !important;
border: 1px solid var(--Key-color) !important;
padding: 16px 70px;
font-size: 14px;
font-family: "Noto Serif JP", serif !important;
font-weight: 700 !important;
border-radius: 3px !important;
cursor: pointer;
letter-spacing: 0.15em;
transition: all 0.3s ease;
}
.contact-form .form-submit input[type="submit"]:hover {
opacity: .7;
background-color:var(--font-color)!important;
border-color:var(--font-color)!important;
}
@media screen and (max-width: 560px) {
.contact-form .form-submit {
display: block !important;
width: 100% !important;
padding: 0 !important;
}
.contact-form .form-submit input[type="submit"] {
display: block !important;
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
margin: 0 auto !important;
padding: 18px 20px !important;
font-size: 15px !important;
}
}


.confirm-text {
font-size: 16px;
color: #4e4a46;
padding: 10px 0;
border-bottom: 1px dashed #e2ded8;
margin: 0;
}
.confirm-buttons {
display: flex !important;
gap: 20px;
justify-content: center;
}
.contact-form .back-btn {
background-color: #ffffff !important;
color: #4e4a46 !important;
padding: 16px 50px;
font-size: 14px;
font-weight: 500;
border: 1px solid #e2ded8 !important;
cursor: pointer;
letter-spacing: 0.15em;
transition: all 0.3s ease;
}
.contact-form .back-btn:hover {
background-color: #faf8f5 !important;
border-color: #4e4a46 !important;
}
.contact-form .wpcf7-not-valid-tip {
font-size: 0 !important;
color: transparent !important;
}
.contact-form .wpcf7-not-valid-tip::after {
font-size: 12px !important;
color: #a85d53 !important;
font-weight: 500 !important;
letter-spacing: 0.05em;
display: block;
margin-top: 5px;
}
[data-name="your-last-name"] .wpcf7-not-valid-tip::after { content: "お名前(姓)を入力してください。"; }
[data-name="your-first-name"] .wpcf7-not-valid-tip::after { content: "お名前(名)を入力してください。"; }
[data-name="your-email"] .wpcf7-not-valid-tip::after { content: "メールアドレスを入力してください。"; }
[data-name="your-message"] .wpcf7-not-valid-tip::after { content: "メッセージ本文を300文字以内でご入力ください。"; }
.wpcf7 form.invalid .form-item label {
color: #a85d53 !important;
}
.wpcf7 form.invalid .form-item label .required {
background-color: #aa4d41 !important;
}
.wpcf7 form.invalid input:not([type="submit"]).wpcf7-not-valid,
.wpcf7 form.invalid textarea.wpcf7-not-valid {
border-color: #a85d53 !important;
background-color: #fffaf9 !important; 
}
.wpcf7 form .wpcf7-response-output,
div.wpcf7-response-output,
.wpcf7-response-output {
border: 1px solid transparent !important;
background-color: transparent !important;
color: transparent !important;
padding: 16px 20px !important;
margin: 35px auto 0 auto !important;
text-align: center !important;
font-size: 14px !important;
font-weight: 500 !important;
letter-spacing: 0.08em !important;
border-radius: 4px !important;
box-shadow: none !important;
}
.wpcf7 form.invalid .wpcf7-response-output,
div.wpcf7-response-output.wpcf7-validation-errors {
border: 1px solid #a85d53 !important;
background-color: #fffaf9 !important;
color: #a85d53 !important;
transition: all 0.3s ease;
}
@media screen and (max-width: 898px) {
.contact-form {
padding:0!important;
}
.name-flex {
flex-direction: column;
gap: 0;
}
}
@media screen and (max-width: 898px) {
body.page-id-16 .doubleBorder,
body.page-id-24 .doubleBorder,
body.page-id-26 .doubleBorder {
min-height:600px;
}
body.page-id-16 .contact-form,
body.page-id-24 .contact-form{
width: 90%;
padding: 0;
background-color:none;
border-radius: 8px;
}
body.page-id-24 .contact-form-confirm .back-button {
min-width: 230px !important;
}
}
/* ============================================
   お問い合わせ確認画面
   ============================================ */
.contact-form-confirm {
font-size: 18px !important;
}
.contact-form-confirm .form-item,
.contact-form-confirm .name-flex {
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid #aa4d41; 
}
.contact-form-confirm label,
.contact-form-confirm .form-item,
.contact-form-confirm .name-field {
color: #aa4d41 !important;
}
.contact-form-confirm label p, .contact-form-confirm .form-item p, .contact-form-confirm .name-field p {
color: var(--font-color) !important;
}
.contact-form-confirm input[type="text"],
.contact-form-confirm input[type="email"],
.contact-form-confirm textarea {
border: none !important; 
background: transparent !important;
box-shadow: none !important;
pointer-events: none;
height: auto !important;
padding-left: 0 !important;
padding-right: 0 !important;
resize: none !important;
font-size: 18px !important;
font-weight: 500 !important; 
font-family: inherit !important;
color: var(--font-color) !important; 
}
.contact-form-confirm .name-flex {
display: flex;
gap: 20px;
}
.contact-form-confirm .name-field {
flex: 1;
border: none !important;
margin: 0 !important;
padding: 0 !important;
font-size: 18px !important;
}
.contact-form, 
.wpcf7,
.contact-form table,
.contact-form td,
.contact-form th {
word-break: break-all !important;
overflow-wrap: break-word !important;
}
/* ============================================
   ボタン全体の配置・中央寄せ（実績のある確定コード）
   ============================================ */
#my-submit-area {
text-align: center !important;
width: 100% !important;
clear: both !important;
}
#my-submit-area button,
#my-submit-area input[type="submit"] {
display: inline-block !important;
float: none !important;
margin: 10px 15px !important;
width: auto !important;
font-size: 14px !important;
font-weight: 500 !important;
border-radius: 0 !important;
cursor: pointer;
letter-spacing: 0.15em !important;
transition: all 0.3s ease !important;
font-family: "Noto Serif JP", serif !important;
font-weight: 700 !important;
border-radius: 3px !important;
}
#my-submit-area .wpcf7-spinner {
display: none !important;
}
@media screen and (max-width: 480px) {
#my-submit-area {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
width: 100% !important;
box-sizing: border-box !important;
}
#my-submit-area button, 
#my-submit-area input[type="submit"] {
display: block !important;
float: none !important;
margin: 10px auto !important; 
width: 100% !important;
max-width: 280px !important; 
min-width: 0 !important;
padding: 16px 20px !important; 
font-size: 13px !important; 
}
}
@media screen and (max-width: 540px) {
#my-submit-area {
display: block !important;
width: 100% !important;
padding: 0 !important; 
}
#my-submit-area button, 
#my-submit-area input[type="submit"],
.contact-form-confirm input[type="submit"] {
display: block !important;
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
float: none !important;
margin: 15px 0 !important;
padding: 18px 20px !important;
font-size: 16px !important;
}
}
/* ============================================
   各ボタンの個別デザイン（通常時・ホバー時）
   ============================================ */
.contact-form-confirm input[type="submit"] {
min-width: 230px !important; 
background-color: var(--Key-color) !important;
color: #ffffff !important;
padding: 16px 70px !important;
border: 1px solid var(--Key-color) !important;
font-family: "Noto Serif JP", serif !important;
font-weight: 700 !important;
border-radius: 3px !important;
}
.contact-form-confirm input[type="submit"]:hover {
opacity: .7;
background-color:var(--font-color)!important;
border-color:var(--font-color)!important;
}
.contact-form-confirm .back-button {
min-width: 230px !important; 
background-color: #ecebe9 !important;
color: #6e6a66 !important;
padding: 16px 70px !important;
border: 1px solid #ecebe9 !important;
font-family: "Noto Serif JP", serif !important;
font-weight: 700 !important;
border-radius: 3px !important;
display: inline-block !important;
text-align: center !important;
cursor: pointer;
}
.contact-form-confirm .back-button:hover {
background-color: #cac7c0 !important;
color: var(--white-color) !important; 
border-color: #cac7c0 !important;
opacity: .7;
}
@media screen and (max-width: 540px) {
.contact-form .form-submit input[type="submit"] {
width: 100% !important;
max-width: 320px;
min-width: 0 !important;
padding: 16px 20px !important;
font-size: 13px;
}
}
@media screen and (max-width: 480px) {
#my-submit-area {
display: block !important;
width: 100% !important;
padding: 0 !important; 
}
#my-submit-area button, 
#my-submit-area input[type="submit"] {
display: block !important;
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
float: none !important;
margin: 15px 0 !important;
padding: 18px 20px !important;
font-size: 16px !important;
}
}
/* ============================================
   サンクスページ（送信完了画面）のデザイン
   ============================================ */
.thanksTitle {
font-size: 20px !important;
font-weight: 700 !important;
color: var(--font-color) !important; 
line-height: 1.8 !important;
margin: 0 auto 1em !important;
width: min(650px, 100%);
}
@media screen and (max-width: 600px) {
.thanksTitle {
text-align:left;
}
}
.thanks-txt {
font-size: 16px !important;
font-weight: 400 !important;
line-height: 1.8 !important;
margin: 0 auto 1em !important;
text-align: left !important;
width: min(650px, 100%);
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select {
font-size: 16px;
}
@media screen and (max-width: 414px) {
body.page-id-19 .doubleBorder,
body.page-id-21 .doubleBorder {
padding: 0 0 20px!important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea,
.wpcf7-form select,
.wpcf7-form input[type="submit"] {
box-sizing: border-box !important; 
width: 100% !important; 
max-width: 100% !important;
}
.wpcf7-form textarea {
resize: vertical !important; 
}
}
/* .cf-turnstile {
display: none !important;
} */
.message_from{
font-size: 12px !important;
color: #a85d53 !important;
font-weight: 500 !important;
letter-spacing: 0.05em;
padding-top:.5em;
padding-left:1em;
}
@media screen and (max-width: 700px) {
.message_from{
display: block;
padding-left:0;
}
}


/* SINGLE */
body.single .doubleBorder{
text-align: left;
}
body.single .mainContents dl{
border-bottom: solid 2px var(--font-color);
margin:0 auto 1.5em;
padding-bottom: .6em; 
}
body.single .mainContents dl>dt{
font-size: clamp(14px, 4vw, 16px);
}
body.single .mainContents dl>dd{
font-size: clamp(16px, 4vw, 18px);
}
body.single .mainContents .newsContents{
font-size: clamp(14px, 4vw, 16px);
line-height:1.7;
font-weight: 400;
}
body.single .mainContents .newsContents img{
margin-top:1em;
margin-bottom:1em;
}
body.single .wp-block-paragraph {
font-size: clamp(16px, 4vw, 18px) !important;
font-weight: 400!important;
margin:0 auto !important;
width: 100%;
}
body.single .original-button {
margin:0 auto 100px;
}