@charset "utf-8";
/*
Theme Name: GENESIS child
Theme URI:https://tcd-theme.com/tcd103/
Description:WordPressテーマ「GENESIS」の子テーマ
Template:genesis_tcd103
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

a:where(:not(.wp-element-button)) { text-decoration: none; }

#loader_logo_image { padding: 2em; }
#loader_logo_image img { max-width: 100%; width: 200px; height: auto }

#global_menu { right: 40px; }
#global_menu > ul > li { font-size: 1rem; }
#header_logo img, #header_logo2 img { max-height: 40px }
@media (max-width: 1100px) {
  #header_logo img, #header_logo2 img { max-height: calc(100% - 30px); }
}

#header_slider.effect_type_zoom_out .bg_image img { transform: unset; }
#header_slider_wrap .catch .line:before { transform: translate3d(0, 60%, 0); opacity: 0; transition: transform 0.7s ease, opacity 0.9s ease }
#header_slider_wrap.start_slide .catch .line:before { transform: translate3d(0, 0, 0); opacity: 1; }

#header_slider_content .content { width: fit-content; }
#header_slider_content .catch .line:before { content: ""; display: block; width: 200px; aspect-ratio: 400/112; background: url('/wp-content/uploads/2026/03/logo.png') no-repeat center / contain; margin-bottom: 2rem; }
#header_slider_content .catch { padding: 2rem 1rem 0.5rem; background: rgba(255, 255, 255, 0.6); color: #333; font-weight: 800; line-height: 1.3; }
#header_slider_content .desc_area { padding: 0 1rem 2rem; margin-top: 0; background: rgba(255, 255, 255, 0.6); color: #333; }
#header_slider_content .desc_area p { line-height: 1.5; }
@media (min-width: 801px) {
  #header_slider_content .catch { font-size: 48px !important; padding: 2.5rem 2rem 0.5rem; }
  #header_slider_content .desc_area { padding: 0 2rem 2.5rem; }
}

#header_slider_wrap.layout_type3,
#header_slider_wrap.layout_type3 #header_slider_content,
#header_slider_wrap.layout_type3 #header_slider { max-height: 660px; }
#header_slider .item .item-inner { overflow: unset; }


.shutter_image.link_ver .item .post_list { transform: translate3d(0,0,0); }

.service_header_image { position: relative; aspect-ratio: 1450 / 600; overflow: hidden; }
.service_header_image img { inset: 0; object-fit: cover; height: 100%; }

.post_content h3 { font-size: 2em; line-height: 1.6; }
.post_content h4 { font-size: 1.3em; }
.post_content p { margin-bottom: 1em; line-height: 1.8; }
.post_content figure { margin-bottom: 1em; }
.post_content .wp-element-caption { line-height: 1.5; font-size: 0.9em; display: block !important; }

.post_content .full-width { margin-left: -60px; margin-right: -60px; padding: 0 60px; }
@media (max-width: 800px) {
  .post_content h3 { font-size: 1.9em; }
  #page_header { margin-bottom: 35px; }
  .post_content .full-width { margin-left: -20px; margin-right: -20px; padding: 0 20px; }
}
@media (max-width: 1100px) {
  .post_content .full-width { margin-left: -40px; margin-right: -40px; padding: 0 40px; }
}
.post_content th, .post_content td { line-height: 1.8; padding: 1em; }
.post_content th { text-align: left; font-weight: 600; }

.recruit-table th { width: 30%; }
@media (max-width: 768px) {
  .recruit-interview { padding: 1.5em !important; }
}
@media (min-width: 801px) {
  .recruit-intro { margin-bottom: 150px !important; }
}
@media (max-width: 768px) {
  .recruit-intro .has-text-align-center{ text-align: left; }
}
.gray_bg .design_header { margin-top: 0 !important; }
.faq_list .desc { line-height: 1.8; }
.design_arrow_button.small { margin-top: 0 }
.design_arrow_button.small .label { font-size: 14px; margin-right: 10px; }
.design_arrow_button.small .arrow_button { width: 32px; height: 32px; }
.design_arrow_button.small .arrow_button:before, .design_arrow_button.small .arrow_button:after { top: unset; height: 100%; display: flex; justify-content: center; align-items: center; }

#page_header .desc:first-child,
.service_category_content .header .desc:first-child { padding-left: 0; width: 100%; }

/* service */
@media (min-width: 769px) {
  .service_category_post_list,
  .service_category_content .post_list.type1 { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
}
.service_category_post_list .item { width: unset; }
.service_category_content .post_list.type1 .item { background: #fff; }
.service_category_post_list .image_wrap,
.service_category_content .post_list.type1 .image_wrap { width: unset !important; height: unset !important; max-height: unset; aspect-ratio: 625 / 290; border-radius: 0; }
.service_category_post_list .content,
.service_category_content .post_list.type1 .content { padding: 25px 30px; width: unset; }
.service_category_post_list .title,
.service_category_content .post_list.type1 .title { font-size: 18px; margin-bottom: 0.6em; }
.service_category_post_list .content p,
.service_category_content .post_list.type1 .content p { line-height: 1.6; font-size: 0.95em; margin-top: 0.5em; }

/* recruit */
.recruit-entry-button { display: inline-block; background: var(--tcd-main-color); color: #fff !important; padding: 1.2rem; border-radius: 2em; font-weight: bold; width: 20rem; max-width: 100%; text-align: center; font-size: 1.2rem; line-height: 1.4; margin: 0 auto; position: relative; }
.recruit-entry-button:hover { background: var(--tcd-hover-color); text-decoration: none !important; }
.recruit-entry-button:after { content: '\e94f'; display: flex; align-items: center; font-family: 'design_plus'; font-size: 0.8rem; position: absolute; right: 1.2rem; top: 0; height: 100%; }

.recruit-oneday { margin-left: 0 !important; }
.recruit-oneday__item { list-style: none; padding-left: 3em; position: relative; margin-bottom: 2em; }
.recruit-oneday__item:not(:last-of-type):before { display: block; content: ""; position: absolute; width: 3px; height: calc(100% + 2rem); background: var(--tcd-main-color); left: 1rem; top: 1.2rem; }
.recruit-oneday__head { font-weight: bold; font-size: 1.1rem; position: relative; margin-bottom: 0.5em; }
.recruit-oneday__head:before { display: flex; content: ""; position: absolute; left: -2.5rem; top: 50%; transform: translateY(-50%); height: 2rem; width: 2rem; align-items: center; background-repeat: no-repeat; background-size: contain; background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23be1e2d%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-clock%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%3C%2Fsvg%3E'); background-color: #fff; border-radius: 100%; }
.recruit-oneday__head span { color: var(--tcd-hover-color); display: block; line-height: 1.2; font-size: 1.3rem; }
@media (min-width: 801px) {
  .recruit-oneday__head:before { left: -2.95rem; }
  .recruit-oneday__head span { display: inline-block; margin-right: 0.8em; }
}

/* footer */
#footer { background: var(--tcd-main-color); color: #fff; }
#footer_nav li { display: inline-block; }
#footer_nav li a { color: inherit; line-height: 2.5; height: unset; }
@media (max-width: 800px) {
  #footer_nav li { display: block; }
}
#footer_nav { border: none; }
#footer_banner a { flex: 1; border-right: 1px solid #ddd; }
@media (max-width: 1100px) {
  #footer_banner a { border-bottom: 1px solid #ddd; border-right: 0; }
}
#footer_banner a:after { transition: all .3s ease; }
#footer_banner a:hover:after { background: var(--tcd-main-color); opacity: 1; }
#footer_banner .sub_title { line-height: 1.6; }
#menu-footer-menu { margin-top: 1.5em; }

/* wpcf7  */
@media (min-width: 801px) {
  .wpcf7 form { padding: 4em 5em; }
}
.wpcf7 form > p { margin-bottom: 2em; }
.wpcf7 form > p > .wpcf7-form-control-wrap, .wpcf7 form > p > label { display: block; margin-bottom: 0.5em; }
.wpcf7 form > p > br { display: none }
.wpcf7-not-valid-tip { font-size: 0.85em; }
.wpcf7-response-output { padding: 1em !important; line-height: 1.8; }
.wpcf7 form.invalid .wpcf7-response-output { background: #dc3232; border-color: #dc3232; color: #fff; }
.wpcf7 form.sent .wpcf7-response-output { background: #46b450; color: #fff; }
.wpcf7-list-item { margin: 0 0 0.5em; }
.wpcf7 input, .wpcf7 textarea { padding: 0.8em; }
.form-required:after { content: "*"; color: red; }
