@charset "utf-8";
/* CSS Document */

html {scroll-behavior: smooth;}
:target { scroll-margin-top: calc(110vw / 19.2); }

body {
	color:#222222; font-size:calc(20 * 0.052vw); line-height: 1.8; letter-spacing: 0;
	font-family: "Zen Maru Gothic", "Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:500;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}

.robo { font-family: "Roboto Condensed", sans-serif; font-weight:600; }
.biz { font-family: "BIZ UDPGothic", sans-serif; font-weight: 700; font-style: normal; }



.rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}

button,input,textarea,select { appearance: none; -webkit-appearance: none; border:none; font-family: inherit; font-size: inherit; font-weight:500; letter-spacing: 0.1vw; }

strong,.bold { font-weight:900; }


.fs12vw { font-size:calc(12 * 0.052vw); }
.fs14vw { font-size:calc(14 * 0.052vw); }
.fs15vw { font-size:calc(15 * 0.052vw); }
.fs16vw { font-size:calc(16 * 0.052vw); }
.fs17vw { font-size:calc(17 * 0.052vw); }
.fs18vw { font-size:calc(18 * 0.052vw); }
.fs20vw { font-size:calc(20 * 0.052vw); }
.fs21vw { font-size:calc(21 * 0.052vw); }
.fs22vw { font-size:calc(22 * 0.052vw); }
.fs23vw { font-size:calc(23 * 0.052vw); }
.fs24vw { font-size:calc(24 * 0.052vw); }
.fs25vw { font-size:calc(25 * 0.052vw); }
.fs26vw { font-size:calc(26 * 0.052vw); }
.fs27vw { font-size:calc(27 * 0.052vw); }
.fs28vw { font-size:calc(28 * 0.052vw); }
.fs29vw { font-size:calc(29 * 0.052vw); }
.fs30vw { font-size:calc(30 * 0.052vw); }
.fs31vw { font-size:calc(31 * 0.052vw); }
.fs32vw { font-size:calc(32 * 0.052vw); }
.fs33vw { font-size:calc(33 * 0.052vw); }
.fs34vw { font-size:calc(34 * 0.052vw); }
.fs35vw { font-size:calc(35 * 0.052vw); }
.fs36vw { font-size:calc(36 * 0.052vw); }
.fs37vw { font-size:calc(37 * 0.052vw); }
.fs38vw { font-size:calc(38 * 0.052vw); }
.fs40vw { font-size:calc(40 * 0.052vw); }
.fs42vw { font-size:calc(42 * 0.052vw); }
.fs45vw { font-size:calc(45 * 0.052vw); }
.fs46vw { font-size:calc(46 * 0.052vw); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs53vw { font-size:calc(53 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); }
.fs55vw { font-size:calc(55 * 0.052vw); }
.fs56vw { font-size:calc(56 * 0.052vw); }
.fs60vw { font-size:calc(60 * 0.052vw); }
.fs62vw { font-size:calc(62 * 0.052vw); }
.fs64vw { font-size:calc(64 * 0.052vw); }
.fs65vw { font-size:calc(65 * 0.052vw); }
.fs66vw { font-size:calc(66 * 0.052vw); }
.fs68vw { font-size:calc(68 * 0.052vw); }
.fs70vw { font-size:calc(70 * 0.052vw); }
.fs72vw { font-size:calc(72 * 0.052vw); }
.fs80vw { font-size:calc(80 * 0.052vw); }
.fs84vw { font-size:calc(84 * 0.052vw); }
.fs86vw { font-size:calc(86 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs110vw { font-size:calc(100 * 0.052vw); }
.fs120vw { font-size:calc(120 * 0.052vw); }
.fs140vw { font-size:calc(140 * 0.052vw); }


img { border: none; vertical-align: middle; }

img.top { vertical-align: top; }
img.bottom { vertical-align: bottom; }
img.banner { border: solid 1px #DDD; }


address, em { font-style: normal; }

a { color:#222222; text-decoration: none; }

a:hover,input[type="submit"]:hover, input[type="reset"]:hover {opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";}


.position_r { position:relative; z-index:1; }
.position_a { position:absolute; z-index:2; }

/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix::after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.txt_right { margin-left:auto; margin-right:0; text-align:right; }


/******* end float **********/

/******* flex box ***********/
.flex {display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;justify-content: space-between;}
.height {justify-content: space-evenly; flex-wrap: wrap; align-items: stretch;}

.start { justify-content: flex-start; }
.wrap { flex-wrap: wrap; }
.js_center { justify-content: center; }

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }
.cover { width: 100%; height:100%; object-fit:cover; }

/****** layout ********/
.inner { width: calc(1800vw / 19.2); margin: 0 auto;}
.middle_inner { width: calc(1620vw / 19.2); margin: 0 auto;}
.inner_right { width: calc(1730vw / 19.2); margin: 0 0 0 auto; }
.inner_left { width: calc(1730vw / 19.2); margin: 0 auto 0 0; }

.low_inner { width: calc(1360vw / 19.2); margin: 0 auto;}
.minimum_inner { width: calc(800vw / 19.2); margin: 0 auto;}

.heading { width: 100%; }

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

dl.table { display:table; width:100%; }
dl.table dt,dl.table dd { display:table-cell; }

/****** display ********/

.pc { display: unset; }
.sp { display: none; }
.grid { display: grid; }


.black { color:#222222; }
.white { color:#FFFFFF; }
.orange { color:#E16A24; }
.brown { color:#601F07; }
.red { color:#B01E3E; }




.bg_black { background-color:#222222; }
.bg_white { background-color:#FFFFFF; }
.bg_white_red { background-color:#FBF9F9; }
.bg_orange { background-color:#E16A24; }
.bg_brown { background-color:#601F07; }
.bg_red { background-color:#B01E3E; }
.bg_light_gold { background-color:#C7B292; }

.bg_light_gray { background-color:#F2F2F2; }




.ttl { position:relative; margin-block-start: 0; margin-block-end: 2em; padding: 0 0 0.75em 0; }
.ttl .slug { display:block; line-height: 1.5; }
.ttl .ja { display:block; }






.more {
	position:relative; display: flex; justify-content: center; align-items: center; width:calc(240vw / 19.2); height:calc(60vw / 19.2);
	margin-block-start: 2.5em; margin-block-end: 1em; border-radius:50vmax;
}
.more i { position:absolute; inset:0 1em 0 auto; margin:auto; display: grid; align-items: center; }



.indent { text-indent:-1em; margin-left:1em; }

/**** animation ***************/


.fade_in { opacity: 0;transition: opacity 1s ease; }
.fade_in.active { opacity: 1; }

.fade_up { opacity: 0; transform:translateY(2vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_up.active { opacity: 1; transform:translateY(0); }


.fade_right { opacity: 0; transform:translateX(-30vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_right.active { opacity: 1; transform:translateX(0); }

.fade_left { opacity: 0; transform:translateX(30vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_left.active { opacity: 1; transform:translateX(0); }


.fade_zoom { opacity: 0; transform: scale(0.3); transition: opacity 0.6s ease, transform 0.4s ease;}
.fade_zoom.active { opacity: 1; transform: scale(1); }


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }


.text_mask {
	color: transparent; /* 文字色は透明にして背景で塗る */
	-webkit-background-clip: text;
	background-clip: text;
	
	background-image: linear-gradient(90deg, var(--text-color) 0%, var(--text-color) 50%, transparent 50%, transparent 100%);
	background-size: 200% 100%;
	background-position: 100% 0;
	background-repeat: no-repeat;
}

.text_mask.active { animation: bg_reveal 1s linear forwards; }

@keyframes bg_reveal {
	from { background-position: 100% 0; }
	to   { background-position: 0% 0; }
}



main { padding-top:calc(110vw / 19.2); }

#header { position:fixed; top: 0; width: 100%; height:calc(110vw / 19.2); z-index: 999; transition: background-color 0.4s ease; }
#header .logo { position: fixed; z-index: 1001; margin: 0.29em 0 0.29em 0; width:calc(515vw / 19.2); }
#header .logo a { align-items:center; }
#header .logo .logo_mark { width:calc(86vw / 19.2); aspect-ratio: 1 / 1; margin-right:calc(20vw / 19.2); }



#header .header_nav { width: calc(586vw / 19.2); padding: 1.25em 0 1.25em 0; }
#header .header_nav ul { list-style-type:none; margin: 0; padding: 0; justify-content: space-between; align-items: center; }
#header .header_nav ul .contact { }
#header .header_nav ul .contact a { width:calc(240vw / 19.2); height:calc(60vw / 19.2); display: flex; justify-content: center; align-items: center; border-radius:50vmax; }
#header .header_nav ul .contact a i { margin-right:0.3em; }









.bottom_contact {
	padding:4em 0 5em 0;
}
.bottom_contact .text { width: calc(720vw / 19.2); }
.bottom_contact .btn_box { width: calc(520vw / 19.2); }
.bottom_contact .btn_box .btn { display: flex; justify-content: center; align-items: center; width:100%; height:calc(100vw / 19.2); margin: 2.5em auto 2.5em auto; border-radius:0.5em; }
.bottom_contact .btn_box .btn i { margin-right: 0.3em; }





#footer { padding:3em 0 3em 0; }
#footer .site_info { width:calc(600vw / 19.2); margin-block-end:2em; }


#footer .site_info .logo { margin-block-start: 0; margin-block-end:2em; width:calc(515vw / 19.2); }
#footer .site_info .logo a { align-items:center; }
#footer .site_info .logo .logo_mark { width:calc(86vw / 19.2); aspect-ratio: 1 / 1; margin-right:calc(20vw / 19.2); }




#footer .site_info .location {  }
#footer .site_info .location dt { font-weight:700; }
#footer .site_info .location dd { margin:0; }


#footer .footer_nav { width:calc(820vw / 19.2); padding: 1em 0 0 0; }
#footer .footer_nav ul { list-style-type:none; margin: 0; padding: 0; justify-content: space-between; }
#footer .footer_nav ul.section { list-style-type: disc; margin-block-start: 0.5em; padding-left: 1.75em; }

#footer .copy { padding:0.5vw 0 0.5vw 0; }

#ptop { position: fixed; bottom: 5vw; right: 5vw; z-index: 100; display: flex; align-items: center; justify-content: center; width: 4.166666vw; height: 4.166666vw; line-height: 1vw; padding: 1vw; text-align: center; border-radius:100vmax; }



#fv {
	width:100%; height: calc(830vw / 19.2); place-items:center;
	background-image:url(../img/home/fv_bg.webp); background-position:center bottom; background-size:cover;
}
#fv .fv_inner { width:calc(1860vw / 19.2); margin:0 0 auto auto; }

#fv .text { z-index:3; mix-blend-mode: hard-light; padding: 4em 0 0 0; }
#fv .text .slug { margin: 0; letter-spacing: 0.075em; }
#fv .text .catch { width: max-content; text-align: center; font-weight: 700; margin-block-start:0.5em; }
#fv .slide { width:calc(1100vw / 19.2); height:calc(733vw / 19.2); inset:0 0 auto auto; transition: opacity 1s ease, inset 1s ease; }
#fv .slide .cover { border-radius: 0.75em; }
#fv .slide.active { opacity: 1; z-index:2; inset:0 0 auto auto; }
#fv .slide.passive { opacity: 0.5; z-index: 1; inset:2.25em 2.5em auto auto; }
#fv .slide.disable { opacity: 0; z-index: 0; inset:2.25em 2.5em auto auto; }



#top_topics {
	padding: 6em 0 7em 0; overflow: hidden;
}

#top_topics .top_topics_header { width:calc(400vw / 19.2); }

#top_topics .content { width:calc(870vw / 19.2); padding: 1em 0 0 0; }
#top_topics .content .box { border-bottom:dashed 1px #D9D9D9; margin: 0; padding: 1em 0 1em 0; }
#top_topics .content .box dt { width:10em; }
#top_topics .content .box dd { margin:0; }


#top_service { padding: 6em 0 7em 0; overflow: hidden; }
#top_service .box { width:calc(570vw / 19.2); margin: 0; }
#top_service .thumb { display: block; width:100%; aspect-ratio: 57 / 37; border-radius:1em; }
#top_service .thumb .slug { inset:auto auto 0.2em 0.3em; z-index:2; line-height: 1; }

#top_service .text { padding: 0 0.25em 0 0.25em; }
#top_service .text .box_ttl { line-height: 1.5; }
#top_service .text dd { margin:0; }
#top_service .text dd .more { margin:1.75em auto 0 auto; }


#top_service .box:has(.box_ttl:hover) .scale_in img { -webkit-transform: scale(1.05); transform: scale(1.05); }
#top_service .box:has(.more:hover) .scale_in img { -webkit-transform: scale(1.05); transform: scale(1.05); }




#top_company {
	padding: 6em 0 7em 0; overflow: hidden;
	background-image:url(../img/home/company_overview_bg.webp); background-size:cover;
}

#top_company .text { width:calc(860vw / 19.2); }
#top_company .thumb { width:calc(512vw / 19.2); height: calc(512vw / 19.2); aspect-ratio: 1 / 1; }


#top_company .text .catch {  }




/*==================== page header (hero) ====================*/
.page_header {
	position:relative; overflow:hidden; width:100%; height:calc(480vw / 19.2);
	display:grid; place-items:center;
	background-image:linear-gradient(to bottom, rgba(225,106,36,0.5) 6%, #601F07 94%);
}
.page_header .page_header_bg { position:absolute; inset:0; z-index:1; opacity:0.2; }
.page_header .page_header_ttl { position:relative; z-index:2; margin:0; padding:0 0 0.9em 0; text-align:center; line-height:1.4; }
.page_header .page_header_ttl .slug { display:block; letter-spacing:0.05em; }
.page_header .page_header_ttl .ja { display:block; margin-top:0.2em; }



/*==================== service ====================*/
.service_sec { position:relative; padding: calc(132vw / 19.2) 0 calc(120vw / 19.2); }
#writing { padding-bottom: calc(107vw / 19.2); }
#media { padding-top: calc(144vw / 19.2); padding-bottom: calc(224vw / 19.2); }
#community { padding-top: calc(161vw / 19.2); padding-bottom: calc(167vw / 19.2); }

/* section title  番号 + 英字 / 日本語 */
.service_sec .ttl { display:flex; align-items:flex-start; margin: 0 0 calc(71vw / 19.2); padding:0; }
.service_sec .ttl .num { line-height:1; margin-right: calc(24vw / 19.2); }
.service_sec .ttl .en .slug { display:block; line-height:1; }
.service_sec .ttl .en .ja { display:block; margin-top: calc(11vw / 19.2); }
.service_sec.reverse .ttl { justify-content:flex-end; }

/* thumb + decorative offset */
.service_sec .thumb { position:relative; width: calc(760vw / 19.2); aspect-ratio: 760 / 549; margin:0; }
.service_sec .thumb .cover { position:relative; z-index:2; border-radius: calc(10vw / 19.2); }
.service_sec .thumb::after {
	content:""; position:absolute; z-index:1; left: calc(70vw / 19.2); top: calc(63vw / 19.2);
	width:100%; height:100%; border-radius: calc(10vw / 19.2); background: rgba(255,235,224,0.3);
}
.service_sec.reverse .thumb::after { left: calc(-65vw / 19.2); top: calc(65vw / 19.2); background:#FFFFFF; }

/* text block */
.service_sec .text { width: calc(897vw / 19.2); }
.service_sec .text .catch { margin: 0 0 calc(44vw / 19.2); font-weight:700; line-height:1.6; }
.service_sec .text .lead { margin: 0 0 calc(56vw / 19.2); }

/* results ( 実績 ) */
.service_sec .results { background:#FFFFFF; border:1px solid #601F07; border-radius: calc(10vw / 19.2); padding: calc(22vw / 19.2) calc(35vw / 19.2) calc(40vw / 19.2); }
.service_sec .results .results_ttl { margin: 0 0 calc(27vw / 19.2); text-align:center; font-weight:700; line-height:1.8; }
.service_sec .results dl { margin:0; }
.service_sec .results dt {
	display:flex; align-items:center; height: calc(54vw / 19.2); padding: 0 calc(30vw / 19.2);
	background:#FFF9F6; border-radius: calc(5vw / 19.2); font-weight:700; line-height:1.4;
}
.service_sec .results dd { margin: 0 0 calc(31vw / 19.2); padding: calc(24vw / 19.2) calc(30vw / 19.2) 0; }
.service_sec .results dd:last-child { margin-bottom:0; }
.service_sec.reverse .results dt { background:#FFFFFF; border:1px solid #601F07; }

/* watermark logo */
.service_sec .service_logo { position:absolute; z-index:0; width: calc(400vw / 19.2); opacity:0.5; pointer-events:none; }
.service_sec .service_logo.logo_l { left: calc(291vw / 19.2); top: calc(-200vw / 19.2); }
.service_sec .service_logo.logo_r { left: calc(1251vw / 19.2); top: calc(1068vw / 19.2); }




/*==================== company ====================*/
.company_sec { position:relative; padding: calc(120vw / 19.2) 0; }
#greeting { padding-top: calc(125vw / 19.2); padding-bottom: calc(133vw / 19.2); }
#profile  { padding-top: calc(83vw / 19.2);  padding-bottom: calc(108vw / 19.2); }
#privacy  { padding-top: calc(118vw / 19.2); padding-bottom: calc(120vw / 19.2); }

.company_sec .ttl { text-align:center; margin: 0 0 calc(60vw / 19.2); padding:0; }
.company_sec .ttl .slug { display:block; line-height:1.4; }
.company_sec .ttl .ja { display:block; margin-top: calc(8vw / 19.2); }

/* greeting */
.company_sec .greeting_thumb { position:relative; width: calc(470vw / 19.2); aspect-ratio: 470 / 616; margin: calc(6vw / 19.2) 0 calc(40vw / 19.2) calc(80vw / 19.2); }
.company_sec .greeting_thumb .cover { position:relative; z-index:2; border-radius: calc(10vw / 19.2); }
.company_sec .greeting_thumb::after {
	content:""; position:absolute; z-index:1; left: calc(-64vw / 19.2); bottom: calc(-50vw / 19.2);
	width: calc(496vw / 19.2); height: calc(366vw / 19.2); border-radius: calc(10vw / 19.2); background: rgba(255,235,224,0.3);
}
.company_sec .greeting_text p { margin: 0 0 1.8em; }
.company_sec .greeting_text p:last-child { margin-bottom:0; }
.company_sec .greeting_sign { clear:both; margin: calc(40vw / 19.2) 0 0; font-weight:700; line-height:1.8; }

/* company profile */
.company_sec .profile_card { background:#FFFFFF; border-radius: calc(10vw / 19.2); padding: calc(60vw / 19.2) calc(219vw / 19.2); }
.company_sec .profile_card .table { position:relative; margin:0; padding: calc(18vw / 19.2) 0; border-bottom:1px solid #D9D9D9; }
.company_sec .profile_card .table::after { content:""; position:absolute; left:0; bottom:-1px; width: calc(200vw / 19.2); height:1px; background:#601F07; }
.company_sec .profile_card .table dt { width: 11em; padding-left: calc(32vw / 19.2); font-weight:700; vertical-align:top; }
.company_sec .profile_card .table dd { margin:0; padding-left: calc(32vw / 19.2); vertical-align:top; }

/* privacy policy */
.company_sec .privacy_intro { margin: 0 0 calc(70vw / 19.2); line-height:1.8; }
.company_sec .policy .policy_ttl { margin: calc(40vw / 19.2) 0 calc(10vw / 19.2); font-weight:700; line-height:1.6; }
.company_sec .policy .policy_ttl:first-child { margin-top:0; }
.company_sec .policy p { margin: 0 0 1em; line-height:1.8; }
.company_sec .policy .policy_list { margin: 0 0 1em; padding-left: 1.6em; list-style: disc; }
.company_sec .policy .policy_list li { line-height:1.8; }




/*==================== contact ====================*/



.contact_sec { position:relative; }
#contact_intro { padding: calc(136vw / 19.2) 0 calc(114vw / 19.2); }
.contact_sec .summary { line-height:1.8; }
#contact { padding: calc(84vw / 19.2) 0 calc(120vw / 19.2); }
#contact .ttl { margin-bottom: calc(20vw / 19.2); }
#contact .summary { margin: 0 0 calc(50vw / 19.2); }

.contact_sec .form_card { background:#FFFFFF; border-radius: calc(10vw / 19.2); padding: calc(70vw / 19.2) calc(220vw / 19.2); }

/* form rows (underline style) */
.contact_sec .form_row { position:relative; margin:0; padding: calc(26vw / 19.2) 0; border-bottom:1px solid #D9D9D9; }
.contact_sec .form_row::after { content:""; position:absolute; left:0; bottom:-1px; width: calc(265vw / 19.2); height:1px; background:#601F07; }
.contact_sec .form_row dt { width: calc(300vw / 19.2); vertical-align:top; padding-top: calc(12vw / 19.2); white-space:nowrap; }
.contact_sec .form_row dt .required,
.contact_sec .form_row dt .any {
	display:inline-flex; align-items:center; justify-content:center; vertical-align:middle;
	width: calc(55vw / 19.2); height: calc(30vw / 19.2); margin-right: calc(18vw / 19.2);
	border-radius: calc(5vw / 19.2); line-height:1;
}
.contact_sec .form_row dt .required { background:#E16A24; color:#FFFFFF; text-box: trim-both cap alphabetic; }
.contact_sec .form_row dt .any { background:#D9D9D9; color:#222222; text-box: trim-both cap alphabetic; }
.contact_sec .form_row dt .field { vertical-align:middle; }
.contact_sec .form_row dd { margin:0; vertical-align:top; }

/* inputs (box style) */
.contact_sec .form_row dd input,
.contact_sec .form_row dd textarea {
	display:block; width: calc(800vw / 19.2); max-width:100%;
	background:#FBF9F9; border:1px solid rgba(225,106,36,0.5); border-radius: calc(5vw / 19.2);
	font-family:inherit; color:#222222;
	height: calc(50vw / 19.2); padding: 0 calc(20vw / 19.2); line-height:1.6;
}
.contact_sec .form_row dd textarea {
	width: calc(1035vw / 19.2); height: calc(230vw / 19.2);
	padding: calc(14vw / 19.2) calc(20vw / 19.2); line-height:1.8; resize:vertical;
}
.contact_sec .form_row dd input:focus,
.contact_sec .form_row dd textarea:focus { outline:none; border-color:#E16A24; }
.contact_sec .form_row dd input::placeholder,
.contact_sec .form_row dd textarea::placeholder { color:#999999; }
.contact_sec .form_row dd .memo { display:block; margin: calc(14vw / 19.2) 0 calc(10vw / 19.2); color:#666666; }
.contact_sec .form_row dd .error { display:block; margin-bottom: calc(6vw / 19.2); }

/* buttons */
.contact_sec .form_btn_wrapper { margin-top: calc(100vw / 19.2); }
.contact_sec .form_btn,
.contact_sec .back_btn {
	display:inline-flex; align-items:center; justify-content:center; gap: calc(10vw / 19.2);
	width: calc(300vw / 19.2); height: calc(70vw / 19.2); border-radius:50vmax; cursor:pointer;
}

.contact_sec .form_btn span,
.contact_sec .back_btn span { text-box: trim-both cap alphabetic; }



.contact_sec .back_btn { border:1px solid #601F07; }
.contact_sec .confirm_btns { display:flex; justify-content:center; align-items:center; gap: calc(40vw / 19.2); }
.contact_sec .form_btn.is_sending { opacity:0.6; cursor:not-allowed; }

/* confirm view value */
.contact_sec .confirm .form_row dd { line-height:1.8; }

/* thanks / error */
.contact_sec .form_card .result_ttl { margin: 0 0 calc(30vw / 19.2); font-weight:700; text-align:center; }
.contact_sec .form_card p.center { margin: 0 0 1em; line-height:1.8; }



