/*******************************************************
 * for MAIL FORM PAGES
 *******************************************************/
	
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200&display=swap');


input, select {
}
.grecaptcha-badge { bottom: clamp(125px, 23vw, 180px) !important; }

@media screen and (max-width: 500px){
.grecaptcha-badge { bottom: 120px !important; }
}
@media screen and (min-width: 840px){
.grecaptcha-badge { bottom: 190px !important; }
}

/* Cloudflare Turnstile ------------------------------*/
.cf7-cf-turnstile {
  margin-top: 3rem !important;
  text-align: center;
}
@media screen and (min-width: 768px){
.cf7-cf-turnstile { margin-bottom: -30px !important; }
}


/*------------------------------------------------------
  Contents above the input form: info & menu
-------------------------------------------------------*/
.entry-content > .w600:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
.entry-content .w600 {
 margin-left: auto;
 margin-right: auto;
 max-width: 600px;
}

.entry-content > .caution-box:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide), .entry-content .caution-box {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
  border: 1px solid;
  padding: 1rem 1.5rem;
}

.basic-hd.formset .entry-header h1 {
 max-width: 800px;
 letter-spacing: 0.05em;
}
.formset h2 {
 padding-top: 0;
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 400;
 text-align: center;
 font-size: 2.5em;
}
.formset .post-2253 .entry-header,
.reserve753 .formset .entry-header,
.rev753-step2 .formset .entry-header,
.rev753-step3 .formset .entry-header { display: none; }
.formset .entry-content h1.monts {
 margin-bottom: 2rem;
 font-family: "Montserrat", sans-serif;
 font-weight: 300;
 line-height: 1.3;
 text-align: center;
}
.formset .entry-content h2 strong {
 display: block;
 font-size: 1.5rem;
 font-weight: 400;
 font-family: 'Noto Sans JP', sans-serif;
 letter-spacing: 0.2em;
}
h3.revhead {
 display: inline-block;
 margin: 0 0 2rem -2em;
 padding: 0.5rem 2rem;
 min-width: 12em;
 background-color: #775739;
 border: 0;
 border-radius: 0 50px 50px 0;
 color: #fff;
 font-weight: bold;
 text-align: center;
 letter-spacing: 0.15em;
}
.formset .entry-content h3.caution {
 margin-bottom: 0.5rem;
 padding: 0;
 border: 0;
 color: #555;
 font-weight: bold;
 display: flex;
 align-items: center;
}
.formset h3.caution::before,
.formset .caution h3::before {
 margin-right: 0.5rem;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e002";
 font-variation-settings:
 'FILL' 1,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24 
}

.formset .shichigo-forms {
 margin: 0 0 3rem;
 padding: 0;
 display: flex;
 align-items: center;
 justify-content: center;
}
.formset .shichigo-forms li {
 margin: 0 clamp(8px, 4vw, 12px);
 width: calc((85% - 14px) / 2);
 max-width: 16em;
 text-align: center;
 list-style: none;
}
.formset .shichigo-forms li a {
 display: block;
 padding: 0.7rem;
 border: 3px solid #bd956e;
 color: #bd956e;
 font-weight: 700;
 position: relative;
}
.formset .shichigo-forms li a::after {
 width: 1rem;
 height: 1rem;
 position: absolute;
 top: 50%;
 right: 3px;
 transform: translateY(-50%);
 font-family: "Material Symbols Outlined";
 content: "\e5e1";
 font-variation-settings:
  'FILL' 0,
  'wght' 600,
  'GRAD' 0,
  'opsz' 24;
}
.formset .shichigo-forms li.current a {
 background-color: #bd956e;
 color: #fff;
}
.formset .shichigo-forms li.current a::after { display: none; }
.formset .shichigo-forms li.current a:hover { opacity: .5; }


.formset .entry-content h3.rev-h3 {
 margin-bottom: 1rem !important;
 padding: 0.3rem;
 max-width: 910px !important;
 background-color: #bd956e;
 border: 0;
 color: #fff;
 letter-spacing: 0.2em;
}
.formset ul.cotact-menu {
 margin: 0 auto 5rem !important;
 padding: 0;
 max-width: 910px !important;
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem;
} 
.formset .cotact-menu li {
 margin: 0;
 padding: 0;
 width: calc((100% - 0.5rem) / 2);
 border: 1px solid #c8c8c8;
 border-radius: 4px;
 font-size: 105%;
 font-weight: 500;
 list-style: none;
 background-position: 6px bottom;
 background-size: contain;
 background-repeat: no-repeat;
}
.formset .cotact-menu li a {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 padding: 0.6rem 1rem 0.6rem 3rem;
 width: 100%;
 height: 100%;
 color: #404040;
 text-align: center;
 position: relative;
 transition: .3s;
}
.formset .cotact-menu li:first-child a { padding: 0.3rem 1rem 0.3rem 3rem;}
.formset .cotact-menu li a::after {
 display: block;
 position: absolute;
 right: 2px;
 top: 50%;
 transform: translateY(-50%);
 font-size: 140%;
font-family: "Material Symbols Outlined";
  content: "\e5e1";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.formset .cotact-menu li a:hover { color: #cd2653; }
.formset .cotact-menu li .red {
 width: 100%;
 font-size: 80%;
}
.formset .cotact-menu li.ctm-syukatsu {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_01.png");
}
.formset .cotact-menu li.ctm-jyuken {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_02.png");
}
.formset .cotact-menu li.ctm-miai {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_03.png");
}
.formset .cotact-menu li.ctm-profile {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_04.png");
}
.formset .cotact-menu li.ctm-business {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_05.png");
}
.formset .cotact-menu li.ctm-iei {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_06.png");
}
.formset .cotact-menu li.ctm-shichigo {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_07.png");
}
.formset .cotact-menu li.ctm-memorial {
 background-image: url("https://crit-photo.com/wp-content/uploads/2025/09/icon_08.png");
}

@media screen and (min-width: 600px){
.formset .cotact-menu li { width: calc((100% - 1rem) / 3); }
}
@media screen and (min-width: 700px){
.formset .entry-content h3.rev-h3 { margin-top: 4rem; margin:4rem auto; display: block;}
}
.formset .telinfo { padding-bottom: 2rem; }
.formset .telinfo ul {
 margin: 0 0 2rem;
 padding: 0 5%;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.formset .telinfo li {
 margin: 0 0 1.5rem;
 padding: 5px 14px;
 width: calc(100% / 3);
 font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
 font-weight: bold;
 text-align: center;
 line-height: 1.8;
 letter-spacing: normal;
 list-style: none;
}
.formset .telinfo li span {
 display: block;
 color: #bd956e;
 font-size: 110%;
 letter-spacing: 0.05em;
}
.formset .telinfo li span.stx { font-size: 90%; }
.formset .telinfo li + li:not(:nth-child(4)) { border-left: 1px solid #c8c8c8; }

.formset .step { margin: 2.5rem auto 3rem!important; }
.formset .step img {
 width: auto;
 height: clamp(65px, 15vw, 70px);
}

.caution {
 margin: 2rem 0;
 padding: 1rem 0.5rem 0;
 border-top: 1px dotted #c1c1c1;
 border-bottom: 1px dotted #c1c1c1;
}
.caution h3 { 
 margin: 0 0 0.5rem;
 padding: 0;
 border: 0;
 color: #d15041;
 font-weight: bold;
 display: flex;
 align-items: center;
}

ul.tellist {
 margin: 0 auto;
 padding: 0;
 max-width: 660px !important;
}
ul.tellist.webentry { margin-bottom: 6rem; }

.formset .tellist li {
 margin: 0 0 0.5rem;
 padding: 0.8rem 1rem;
 width: 100%;
 border: 1px solid #d5d5d5;
 font-weight: bold;
 text-align: center;
 list-style: none;
 display: flex;
 justify-content: space-between;
}
.formset .tellist li span {
 margin-left: 1rem;
 color: #bd956e;
}

@media screen and (max-width: 767px){
.formset .telinfo.noshow { display: none; }
}

@media screen and (min-width: 768px){
h2#reserve {
 padding-top: 4rem;
 position: relative;
}
h2#reserve::before {
 content: "";
 width: 3em;
 height: 1px;
 background-color: #a5a5a5;
 position: absolute;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 }
.formset ul.tellist {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 margin-top: 2.5rem;
 }
.formset .tellist li {
 display: block;
 margin: 0 0 1rem;
 padding: 1rem 1.2rem;
 width: calc((100% - 2rem) / 2);
}
.formset .tellist li span {
 display: block;
 margin: 0.2rem 0 0;
}
 
}


/*------------------------------------------------------
 Input Form
-------------------------------------------------------*/
.formblock {
 margin: 0 auto;
 width: 910px;
}
.formblock input[type="submit"]:hover,
.formblock input[type="button"]:hover,
.formblock input[type="reset"]:hover {
 text-decoration: none;
 opacity: 0.5;
}
.entry-content .formblock h3 {
 margin: 4rem 0 1.5rem;
 font-weight: 500;
}
.entry-content .formblock h3 { margin-top: 0; }
.entry-content .formblock h4 {
 margin: 1rem 0 0.5rem;
}

.formblock dl {
 margin: 0 0 1.5rem;
 padding: 0;
}
.formblock dl.type { margin: 1rem 0 clamp(2rem, 8vw, 3.5rem); }
.formblock dt,
.formblock dt label {
 padding: 0;
 font-weight: bold;
 width:100%!important;
}
.formblock dt .required::before {
 display: inline-block;
 content: "必須";
 margin: 0 0 0 1rem;
 padding: 0.3em 0.4em;
 background-color: #dc3c3c;
 color: #fff;
 font-size: 85%;
 font-weight: normal;
 line-height: 1;
}

.formblock .onerow .wpcf7-list-item { display: block; }
.formblock input,
.formblock textarea,
.formblock select {
 background-color: #f9f7f4;
 border-color: #dcdcdc;
 border-radius: 4px;
}
.formblock input:focus,
.formblock textarea:focus {
 outline: none;
 background-color: #ffedd3;
 border: 2px solid #f9B674;
}
.formblock select:focus {
 outline: none;
 border: 2px solid #f9B674;
}
.formblock ::placeholder { color: #bcbcbc; }

.formblock dd label { position: relative; }
.formblock dd label input[type=radio]{
 position: absolute;
 visibility: hidden;
}
.formblock dd label .wpcf7-list-item-label {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
 -webkit-transition: all 0.25s linear;
}
.formblock dd label:hover { font-weight: bold; }
.formblock dd label .wpcf7-list-item-label::before {
 margin-right: 0.5rem;
 background-color: #f9f7f4;
 height: 25px;
 width: 25px;
 border: 2px solid #dcdcdc;
 border-radius: 100%;
 transition: border .25s linear;
 -webkit-transition: border .25s linear;
}
.formblock dd label input[type=radio]:checked ~ .wpcf7-list-item-label::after {
 background-color: #404040;
 height: 13px;
 width: 13px;
 border-radius: 100%;
 position: absolute;
 top: 6px;
 left: 6px;
}
.formblock dd .wpcf7-list-item { margin: 0 2em 0 0; }
.formblock dt.tsp,
.formblock dd:has(.wpcf7-list-item) + dt,
.formblock dd:has(select) + dt,
.formblock dd:has(textarea) + dt { margin-top: clamp(3rem, 8vw, 4rem); }
.formblock dt.nosp,
.formblock dd + dd { margin-top: 1.5rem!important; }

.formblock .btn { margin-bottom: 0; text-align: center;}

.formblock dd span + .notes {
	display: block;
	margin-top: 0.3rem;
}

/* 2column -----------------------------------*/
.formblock .clm2 p {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
}
.formblock .clm2 p input[type=date] {
 margin-right: 15px;
 width: 12em;
 height: 46px;
}
.formblock .clm2 p input[type=button] {
 margin-right: 20px;
 padding: 1rem 1.25rem;
 width: calc((100% - 20px) / 2);
 background-color: #fff;
 border: 3px solid;
 color: #bd956e;
 position: relative;
}
.formblock .clm2 p input[type=button]::before {
 position: absolute;
 top: 50%;
 left: 10px;
 transform: translateY(-50%);
 font-size: 140%;
 font-family: "Material Symbols Outlined";
 content: "\eaa7";
 font-variation-settings:
 'FILL' 0,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24 
}
.formblock .clm2 p input[type=submit] {
 padding: 1rem 1.25rem;
 width: calc((100% - 20px) / 2);
 border: 3px solid #bd956e;
 color: #fff;
 position: relative;
}
.formblock .clm2 p input[type=submit]::before {
 position: absolute;
 top: 50%;
 right: 10px;
 transform: translateY(-50%);
 font-size: 140%;
 font-family: "Material Symbols Outlined";
 content: "\eaaa";
 font-variation-settings:
 'FILL' 0,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24 
}
.formblock .accept {
 margin: clamp(3rem, 10vw, 4.5rem) 0 0;
 padding: 0;
 text-align: center;
 line-height: 1;
 color: #aaa;
}
.formblock .accept label {
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: bold;
}
.formblock .accept input {
 margin-right: 0.5rem;
 background-color: #f6f6f6;
 border: 2px solid #dcdcdc;
}
.formblock .accept a { border-bottom: 1px dotted; }
.formblock .accept input:checked {
 background-color: #ffedd3;
 border-color: #f9b674;
}
.formblock .accept input:checked + .wpcf7-list-item-label { color: #404040; }
.formblock .wpcf7-checkbox .wpcf7-list-item-label::before,
.formblock .wpcf7-checkbox .wpcf7-list-item-label::after { display: none; }
.formblock .wpcf7-checkbox label {
 display: flex;
 align-items: center;
}
.formblock .wpcf7-checkbox label input[type="checkbox"] { margin-right: 0.5rem; }

.formblock input[type="button"],
.formblock input[type="reset"],
.formblock input[type="submit"] {
 margin: 2rem auto 0;
 padding: 1.2rem 1.25rem;
 background-color: #bd956e;
 width: 85%;
 max-width: 20em;
 border-radius: 4px;
 color: #fff;
 font-weight: 500;
 letter-spacing: 0.1em;
 line-height: 1.25;
}


/* error ------------------------------*/
.formblock .wpcf7-not-valid-tip {
 font-weight: bold;
 display: flex;
 align-items: center;
}
.formblock .wpcf7-not-valid-tip::before {
 margin: 0 0.3rem 0 0.5rem;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e88e";
 font-variation-settings:
 'FILL' 1,
 'wght' 700,
 'GRAD' 0,
 'opsz' 24
}
.formblock dd:has(.wpcf7-not-valid-tip) input,
.formblock dd:has(.wpcf7-not-valid-tip) textarea,
.formblock dd:has(.wpcf7-not-valid-tip) select {
 background-color: #ffeff0;
 border: 2px solid #dc3232;
}
.formblock dd:has(.wpcf7-not-valid-tip):has(.wpcf7-list-item-label) { background-color: #ffeff0; }
.wpcf7 form .wpcf7-response-output {
 margin: 1rem 0;
 padding: 1rem;
 border: 6px double #00a0d2;
 color: #00a0d2;
 font-size: 120%;
 font-weight: bold;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {	color: #dc3232; }
.wpcf7 form.spam .wpcf7-response-output { color: #f56e28; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { color: #ffb900; }

@media screen and (min-width: 768px){
.formblock input[type="button"],
.formblock input[type="reset"],
.formblock input[type="submit"] {
 margin: 3rem auto;
 padding: 1rem 1.25rem 3rem;
} 
}


@media screen and (max-width: 768px){
.formblock {
 margin: 0 auto;
 width: 100%;
}	
}

/* 753 reserve: costume --------------------------------*/
.formblock dt.cos { margin-top: 1.5rem !important; }
.formblock dt.cos.nosp { margin-top: 0.8rem !important; }
.formblock dt.cos span {
 display: inline-block;
 margin-top: 1rem;
 padding: 0.1rem 0.6rem;
 border: 1px solid #af6653;
 color: #af6653;
}

/* 753 reserve: oyakopack ------------------------------*/
.formblock dt.oyako { margin: 2.5rem 0 1rem; }
.formblock dt.oyako span {
 display: inline-block;
 margin-bottom: 0.5rem;
 padding: 0.4rem 0.5rem 0.3rem 0.8rem;
 background-color: #f0e8e3;
 color: #af6653;
 font-size: 105%;
 position: relative;
}
.formblock dt.oyako span::before {
 content: "";
 position: absolute;
 top: 100%;
 left: 50%;
 transform: translateX(-50%);
 border: 5px solid transparent;
 border-top: 7px solid #f0e8e3;
}

.formblock dd p { margin-bottom: 1.2rem; }
.formblock dd summary {
 color: #cd2653;
 font-weight: bold;
 display: flex;
 align-items: center;
 position: relative;
}
.formblock dd summary span { border-bottom: 1px dotted; }
.formblock dd summary::before {
 margin-right: 0.3rem;
 font-size: 150%;
 font-family: "Material Symbols Outlined";
 content: "\e887";
 font-variation-settings:
 'FILL' 1,
 'wght' 500,
 'GRAD' 0,
 'opsz' 24
}
.formblock dd summary:hover {
 opacity: .5;
 cursor: pointer;
}
.formblock dd details div { padding: 1rem 0; }


/* Web entry page ------------------------------*/
.web-entry .basic-hd .entry-header .section-inner h1 { font-weight: 500; }
.web-entry .basic-hd .entry-header .section-inner {
 padding: clamp(10px, 40vw, 250px) clamp(1.5rem, 5vw, 4rem) clamp(18px, 5vw, 170px);
 background-image: url(/wp/wp-content/themes/twentytwenty-child/img/form/webentry-main.jpg);
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}

.web-entry .important-tx { margin-bottom: 0.8rem; }
.web-entry h3:not(.revhead) {
 margin: clamp(4rem, 8vw, 6rem) 0 1.5rem;
 font-weight: bold;
}
.web-entry h3:not(.noborder):not(.revhead) {
 padding-bottom: 0.3rem;
 border-bottom: 1px solid #555;
}
.web-entry .line_bt {
 display: flex;
 margin-bottom: 1rem;
 gap: 15px;
}
.web-entry .line_bt .wp-block-image {
 margin-top: 0 !important;
 margin-bottom: 0 !important;
}

.web-entry .momentous,
.date-form .momentous {
 margin: 0 auto clamp(4rem, 10vw, 8rem);
 padding: 2rem 1.5rem 1rem;
 border: 5px double #d5d5d5;
 max-width: 660px !important;
}
.date-form .momentous { margin: 0 auto clamp(2rem, 5vw, 4rem); }
.web-entry .momentous > p,
.date-form .momentous > p { margin-bottom: 1rem; }
.web-entry .momentous > p + p,
.date-form .momentous > p + p { margin-top: 1.5rem; }
.web-entry .momentous > p::before,
.date-form .momentous > p::before {
 margin-right: 0.3rem;
 color: #bd956e;
 font-size: 140%;
 vertical-align: sub;
 font-family: "Material Symbols Outlined";
 content: "\e937";
 font-variation-settings:
 'FILL' 1,
 'wght' 400,
 'GRAD' 0,
 'opsz' 24
}

.web-entry .momentous details.summary-box,
.date-form .momentous details.summary-box { margin: 0 auto 2rem !important; }
.web-entry .momentous details summary,
.date-form .momentous details summary {
 padding: 1rem 3rem 1rem 1.5rem;
 font-weight: bold;
}

@media screen and (max-width: 500px){
.web-entry .momentous details.summary-box,
.date-form .momentous details.summary-box { width: 100% !important; }
.web-entry .line_bt,
.date-form .line_bt { gap: 8px; }
}
@media screen and (min-width: 768px){
.web-entry .momentous,
.date-form .momentous { padding: 2.5rem 2.5rem 1.5rem; }

}

.has-text-align-center02{
	text-align: center;
	font-weight: bold;
	color: #a14b24;
    font-size: 2em;	
}
.has-text-align-center{
	text-align: center;
}

.formblock dd {
  grid-column: 2;
  margin: 0 0 0 0% !important;
  width: 100%;
}

.h3_center{
	text-align: center;
}