/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root {
    --color-primary-color: #333333;
    --color-green-hover: #298321;
    --color-secondary-green: #194F14;
    --color-blue: #369BCF;
    --color-light-green: #88b92f;
    --color-orange: #e9921b;
    --font-main-family: 'Yu Gothic Medium';
    --font-title-family: 'Yu Gothic Bold';
}
 
@font-face {
    font-family: 'Yu Gothic Bold';
    src: url('fonts/YuGothic-Bold.woff2') format('woff2'),
        url('fonts/YuGothic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yu Gothic Medium';
    src: url('fonts/YuGothic-Medium.woff2') format('woff2'),
        url('fonts/YuGothic-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

body {
    color: var(--color-primary-color); 
    font-size: 16px;
    font-family: var(--font-main-family);
}
body #content h1, body #content h2, body .site-footer h2, body #content h3, body .site-footer h3, body #content h4,
.ic-list.elementor-widget-icon-list .elementor-icon-list-text, .ch-agree label span {
    font-family: var(--font-title-family);
    font-weight: 700;
}
body #content h1 {
    font-size: 48px;
}
body #content h2, body .site-footer h2 {
    font-size: 40px;
}
body #content h3 {
    font-size: 24px;
}
body #content h4 {
    font-size: 20px;
}
a, body .acc-info.elementor-widget-text-editor a {
    text-decoration: none;
    word-break: break-word;
    outline: none!important;
}
p, body .elementor-widget-image-box .elementor-image-box-description, ul, ol {  
    color: var(--color-primary-color);
    font-size: 16px;
    font-family: var(--font-main-family);
    line-height: 24px;
}
body .elementor-widget-text-editor p {
    color: var(--color-primary-color);
    margin-bottom: 20px;
}
.no-mg-btm.elementor-widget-text-editor p, .heading-no-btm.elementor-widget-heading,
.last-mg.elementor-widget-text-editor p:last-child, .faq-list.elementor-widget-accordion .elementor-tab-content p {
    margin-bottom: 0;
}
.no-mg-btm.elementor-widget-text-editor.mg-10, .ch-agree p {
    margin-bottom: 10px;
}
.no-list-btm.elementor-widget-icon-list {
    margin-bottom: 5px;
}
.heading-btm.elementor-widget-text-editor h3 {
    margin-bottom: 30px;
}
.f-14.elementor-widget-text-editor p, .site-footer .ast-footer-copyright p {
    font-size: 14px;
}
.img-full, iframe, .btn-100.elementor-widget-button .elementor-button  {
    width: 100%;
}
.rad-btn.elementor-widget-button .elementor-button {
    font-family: var(--font-title-family);
    font-weight: 700;
    position: relative;
    padding: 14px 50px 14px 30px;
}
.button-green.elementor-widget-button .elementor-button {
    width: 300px;
}
.rad-btn.elementor-widget-button .elementor-button .elementor-align-icon-right {
    position: absolute;
    right: .8rem;
}
.border-gw.elementor-widget-button .elementor-button {
    color: var(--color-primary-color);
    background-color: #FFFFFF;
    border: 1px solid var(--color-primary-color);
    border-radius: 19px;
    padding: 10px 45px 10px 20px;
    text-decoration: none;
    opacity: 1;
    margin-top: 10px;
} 
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
    opacity: 0.8;
}
.rad-btn.border-bk .elementor-button {
    opacity: 1;
    width: 100%;
}
.rad-btn.border-bk .elementor-button:hover svg path {
    fill: #ffffff;
}
.border-gw.elementor-widget-button .elementor-button:hover,
.border-gw.elementor-widget-button .elementor-button:focus {
    opacity: 1;
    color: #ffffff;
    background-color: var(--color-primary-color);
}
.pd-10.elementor-widget-button .elementor-button {
    padding: 10px 50px 10px 30px;
}

/*Header*/
.ast-desktop .site-header .main-header-menu.ast-menu-shadow .sub-menu {
    box-shadow: 0px 0px 15px #00000026;
    top: 75%;
    overflow: hidden;
}
.site-header .main-header-menu li a {
    font-size: 14px;
    font-family: var(--font-title-family);
    font-weight: 700;
}
.site-header .main-header-menu > .menu-item > .menu-link {
    position: relative;
    top: 3px;
}
.site-header .main-header-menu > .menu-item.scroll-sec-menu > .menu-link,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item.scroll-sec-menu > .menu-link {
    color: var(--color-primary-color);
}
.ast-desktop .site-header .main-header-menu.ast-menu-shadow .sub-menu li a:hover {
    color: #298321;
    background-color: #F6F6F3;
}
.site-header .main-header-menu li.btn-contact a {
    color: #ffffff!important;
    font-size: 16px;
    font-family: var(--font-title-family);
    font-weight: 700;
    background-color: var(--color-blue);
    position: relative;
    padding: 8px 20px;
    border-radius: 50px;
    height: auto;
    line-height: normal;
    position: relative;
}
.site-header .main-header-menu li.btn-contact a:before {
    content: '';
    background-image: url(/branch2023/wp-content/uploads/2023/10/Icon-metro-mail.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17px;
    height: 17px;
    display: block;
    margin-right: 10px;
}
.site-header .main-header-menu li.btn-contact a:hover, .site-header .main-header-menu li.btn-contact a:focus {
    color: #ffffff;
    opacity: 0.8;
}

/*Footer*/
.site-footer .site-above-footer-wrap .site-above-footer-inner-wrap {
    background-color: var(--color-green-hover);
    padding: 50px 50px 20px 50px;
    margin-top: 80px;
}
.site-footer .site-above-footer-wrap .site-above-footer-inner-wrap  .ast-footer-html-1 h2 {
    margin-bottom: 20px;
}
.site-footer .footer-right-details .wp-block-column {
    background-color: rgb(255 255 255 / 10%);
    border-radius: 15px;
    padding: 40px 20px;
}
.site-footer .footer-company-info h2 a {
    color: #ffffff;
    font-family: "Roboto", Sans-serif;
    margin: 10px 0 5px 0;
    display: block;
}
.site-footer .site-primary-footer-wrap .site-footer-section ul li a {
    font-size: 14px;
    font-family: var(--font-title-family);
    font-weight: 700;
    padding: 0;
    margin-bottom: 10px;
    display: inline-block;
}
.site-footer .site-primary-footer-wrap .site-footer-section ul li.f-sub a {
    font-size: 13px;
    font-family: var(--font-main-family);
    font-weight: 400;
    margin-bottom: 0;
}
.site-footer .site-primary-footer-wrap .site-footer-section ul li.f-mb a {
    margin-bottom: 10px;
}
.btn-blue-r .wp-element-button {
    color: #ffffff;
    font-size: 16px;
    font-family: var(--font-title-family);
    font-weight: 700;
    background-color: var(--color-blue);
    position: relative;
    padding: 14px 50px 14px 30px;
}
.btn-blue-r .wp-element-button:before {
    content: '';
    background-image: url(/branch2023/wp-content/uploads/2023/10/Icon-metro-mail.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17px;
    height: 17px;
    display: block;
    position: absolute;
}   
.btn-blue-r .wp-element-button:hover, .btn-blue-r .wp-element-button:focus {
    color: #ffffff;
    background-color: rgb(54 155 207 / 80%);
}
.site-footer .site-primary-footer-wrap {
    padding: 8rem 0 5rem 0;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: -4rem;
}
.site-footer .footer-social-inner-wrap a {
    -webkit-transition: all 0.5s ease; 
    -moz-transition: all 0.5s ease; 
    -o-transition: all 0.5s ease; 
    transition: all 0.5s ease; 
    display: inline-block;
}
.site-footer .footer-social-inner-wrap a:hover {
    transform: translateY(-5px); 
    -webkit-transform: translateY(-5px); 
    -ms-transform: translateY(-5px);
}
.site-footer .site-below-footer-wrap .widget_block p {
    font-family: var(--font-title-family);
    margin-bottom: 0;
}
.site-header ul li a[target="_blank"], .site-footer ul li a[target="_blank"] {
    position: relative;
}
.site-header ul li a[target="_blank"]::after, .site-footer ul li a[target="_blank"]::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='500' viewBox='0 0 375 374.999991' height='500' preserveAspectRatio='xMidYMid meet'%3E%3Cpath fill='%23000000' d='M 360.585938 0 L 274.058594 0 C 266.070312 0 259.609375 6.457031 259.609375 14.414062 C 259.609375 22.371094 266.070312 28.832031 274.058594 28.832031 L 323.832031 28.832031 L 148.816406 191.363281 C 142.988281 196.789062 142.65625 205.910156 148.082031 211.769531 C 150.914062 214.832031 154.773438 216.363281 158.636719 216.363281 C 162.164062 216.363281 165.695312 215.097656 168.457031 212.503906 L 346.136719 47.507812 L 346.136719 100.941406 C 346.136719 108.929688 352.59375 115.390625 360.585938 115.390625 C 368.542969 115.390625 375 108.929688 375 100.941406 L 375 14.414062 C 375 6.457031 368.542969 0 360.585938 0 Z M 346.167969 144.21875 L 346.167969 331.753906 C 346.167969 363.480469 320.300781 375 302.890625 375 L 43.28125 375 C 11.519531 375 0 349.132812 0 331.753906 L 0 72.109375 C 0 40.351562 25.867188 28.832031 43.28125 28.832031 L 216.363281 28.832031 C 224.320312 28.832031 230.78125 35.289062 230.78125 43.246094 C 230.78125 51.234375 224.320312 57.695312 216.363281 57.695312 L 43.28125 57.695312 C 36.789062 57.859375 28.832031 60.492188 28.832031 72.109375 L 28.832031 331.753906 C 29.03125 338.246094 31.660156 346.167969 43.28125 346.167969 L 302.890625 346.167969 C 309.382812 345.96875 317.339844 343.371094 317.339844 331.753906 L 317.304688 144.21875 C 317.304688 136.265625 323.765625 129.804688 331.753906 129.804688 C 339.710938 129.804688 346.167969 136.265625 346.167969 144.21875 ' fill-opacity='1' fill-rule='nonzero'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-left: 10px;
}
.site-footer .site-primary-footer-wrap .site-footer-section .ast-nav-menu {
    flex-direction: column;
}

/*Breadcrumbs Section*/
.breadcrumb-sec .elementor-widget-wp-widget-bcn_widget {
    margin-bottom: 0;
}

/*Static sections*/
.f-column h3 {
    margin-bottom: 0;
}
.f-column .elementor-widget-image-box .elementor-image-box-img {
    height: 3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.f-column .elementor-widget-button .elementor-button {
    width: 50px;
    height: 50px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    opacity: 1;
}
.f-column .elementor-widget-button .elementor-button .elementor-button-icon {
    font-size: 20px;
    margin-right: 0;
}

/*Heading*/
.banner-heading {
    min-height: 600px;
}
.pos-heading {
    display: flex;
    justify-content: flex-end;
}
.pos-heading h2 span {
    display: inline-block;
    margin-bottom: 10px;
}

/* catchCopyの背景を白くする:kase */
.pos-heading h2{
    background-color: rgba( 255, 255, 255, 0.8 );
    border-radius: 30px;
    padding: 1.5rem;
}


/*Homepage*/
.home-sec1 h1 {
    line-height: 1.3;
}
.home-sec2 {
    padding: 5rem 0;
}
.home-sec3 .elementor-inner-section .elementor-column > .elementor-widget-wrap {
    align-content: space-between;
}
.p-weight > .elementor-widget-container {
    width: 230px;
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 15px;
    margin: 0 auto;
}
.p-weight > .elementor-widget-container p {
    font-family: var(--font-title-family);
    margin-bottom: 0;
}
.half-sec.elementor-inner-section > .elementor-container {
    justify-content: center;
}
.border-box h3:first-child {
    margin-bottom: 5px;
}
.d-circle .elementor-widget-image-box .elementor-image-box-img {
    background-color: #ffffff;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.gray-bg .elementor-widget-image-box .elementor-image-box-img {
    background-color: #F6F6F3;
    width: 140px;
    height: 140px;
}
/*.d-circle .elementor-widget-image-box .elementor-image-box-img img {
    width: 60%;
}*/
.d-circle .elementor-widget-image-box .elementor-image-box-description, .staff-item.elementor-widget-image-box .elementor-image-box-description {
    text-align: left;
}
.pf-700.elementor-widget-text-editor p:first-child {
    font-family: var(--font-title-family);
}

/*Inner pages*/
.col-3-box.elementor-widget-image-box, .col-3-box.elementor-widget-image-box .elementor-widget-container,
.staff-item.elementor-widget-image-box, .staff-item.elementor-widget-image-box .elementor-widget-container {
    height: 100%;
}
.col-3-box.elementor-widget-image-box .elementor-image-box-img img {
    height: 57px;
    object-fit: contain;
}
.col-3-box.elementor-widget-image-box .elementor-image-box-content h3 {
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.col-3-box.elementor-widget-image-box .elementor-image-box-description {
    text-align: left;
    line-height: 28px;
}
.g-col.elementor-widget-icon-list svg path {
    stroke: var(--color-green-hover);
}
.b-col.elementor-widget-icon-list svg path {
    stroke: var(--color-blue);
}
.lg-col.elementor-widget-icon-list svg path {
    stroke: var(--color-light-green);
}
.o-col.elementor-widget-icon-list svg path {
    stroke: var(--color-orange);
}
.about-right-con > .elementor-widget-wrap {
    background-color: rgb(54 155 207 / 10%);
    border-radius: 15px;
    padding: 30px 40px;
    margin-top: 60px;
}
.cst-table {
    border-color: #919191;
}
.cst-table th {
    background-color: #EDECE6;
}
.cst-table thead th {
    font-family: var(--font-title-family);
    font-weight: 700;
}
.cst-table th, .cst-table td {
    color: var(--color-primary-color);
    font-size: 16px;
    font-family: var(--font-main-family);
    font-weight: 400;
    text-align: center;
    border-color: #919191;
    padding: 12px;
}
.cst-table td {
    background-color: #ffffff;
}
.h-block h3 span {
    display: block;
}
.b-heading h3 span {
    color: var(--color-blue);
}
.lg-heading h3 span{
    color: var(--color-light-green);
}
.o-heading h3 span {
    color: var(--color-orange);
}
.bl-col .elementor-icon-list-items, .bl-col .elementor-icon-list-items li {
    overflow: hidden;
}
.bl-col .elementor-icon-list-items li {
    padding-bottom: 20px;
}
.tleft .elementor-icon-list-items li {

}
.bl-col .elementor-icon-list-items .elementor-icon-list-item:not(:last-child) .elementor-icon-list-icon:after {
    content: '';
    background-color: var(--color-blue);
    width: 1px;
    height: 100px;
    position: absolute;
    bottom: -5.5rem;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.bl-col.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
    margin-right: 0;
    z-index: 1;
}
.time-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
    font-family: var(--font-title-family);
    font-weight: 700;
    display: flex;
    line-height: 1.5;
    padding-left: 10px;
    flex: 0 80%;
    justify-content: space-between;
}
.lightg-col .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
    flex-direction: column;
}
.time-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text span {
    color: var(--color-primary-color);
    flex: 0 60%;
}
.tri-bt:after {
    content: '\f0d7';
    color: #D0C4A2;
    font-size: 45px;
    font-family: FontAwesome;
    position: absolute;
    bottom: -3rem;
    left: 0;
    right: 0;
    text-align: center;
}
.table-bdr tbody>tr>th {
    font-family: var(--font-title-family);
    font-weight: 700;
    width: 24%;
}
.table-bdr.wd-35 tbody>tr>th {
    width: 35%;
}
.table-bdr th, .table-bdr td {
    color: var(--color-primary-color);
    text-align: left;
    padding: 20px 0;
    border-bottom: 1px solid #C3C4C7;
}
.faq-list.elementor-widget-accordion .elementor-accordion-item {
    margin-bottom: 10px;
}
.faq-list.elementor-widget-accordion .elementor-tab-title {
    border-radius: 10px;
    position: relative;
}
.faq-list.elementor-widget-accordion .elementor-tab-title.elementor-active {
    border-radius: 10px 10px 0 0;
}
.l-blue.elementor-widget-accordion .elementor-tab-title.elementor-active {
    background-color: var(--color-blue);
}
.l-green.elementor-widget-accordion .elementor-tab-title.elementor-active {
    background-color: var(--color-light-green);
}
.faq-list.elementor-widget-accordion .elementor-tab-title .elementor-accordion-title {
    color: var(--color-primary-color);
    text-decoration: none;
}
.faq-list.elementor-widget-accordion .elementor-tab-title .elementor-accordion-title span {
    color: #ffffff;
    font-size: 20px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin-right: 10px;
}
.l-blue.elementor-widget-accordion .elementor-tab-title .elementor-accordion-title span {
    background-color: var(--color-blue);
}
.l-green.elementor-widget-accordion .elementor-tab-title .elementor-accordion-title span {
    background-color: var(--color-light-green);
}
.faq-list.elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
    color: #ffffff;
    font-family: var(--font-main-family);
}
.l-blue.elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title span {
    color: var(--color-blue);
    background-color: #ffffff;
}
.l-green.elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title span {
    color: var(--color-light-green);
    background-color: #ffffff;
}
.faq-list.elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon {
    position: absolute;
    top: 1.2rem;
    right: 1rem;
}
.faq-list.elementor-widget-accordion .elementor-tab-content {
    font-family: var(--font-main-family);
    border-radius: 0 0 10px 10px;
}
.font-700.elementor-widget-image-box .elementor-image-box-content .elementor-image-box-title {
    font-family: var(--font-main-family);
    font-weight: 700;
}
.font-700.elementor-widget-image-box .elementor-image-box-content .elementor-image-box-description {
    font-size: 14px;
}
.staff-item.elementor-widget-image-box .elementor-image-box-img {
    background-color: rgb(54 155 207 / 10%);
    border-radius: 50%;
    width: auto;
    position: relative;
    z-index: 1;
}
.staff-item.elementor-widget-image-box .elementor-image-box-content {
    border: 1px solid #919191;
    border-radius: 15px;
    padding: 80px 30px 20px 30px;
    top: -50px;
    border-top: 0;
    position: relative;
    overflow: hidden;
    height: 100%;
}
.staff-item.elementor-widget-image-box .elementor-image-box-content:after, .staff-item.elementor-widget-image-box .elementor-image-box-content:before {
    content: " ";
    position: absolute;
    top: 0;
    width: 20%;
    height: 15px;
    border-top: 1px solid #919191;
}
.staff-item.elementor-widget-image-box .elementor-image-box-content:before {
    left: 0;
    border-radius: 15px 0 0 0;
}
.staff-item.elementor-widget-image-box .elementor-image-box-content:after {
    right: 0;
    border-radius: 0 15px 0 0;
}
.staff-item.elementor-widget-image-box .elementor-widget-container .elementor-image-box-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
body .acc-info.elementor-widget-text-editor p {
    margin-bottom: 10px;
}
.contact-step .elementor-widget-heading p {
    color: #565656;
    font-family: var(--font-title-family);
    font-weight: 700;
    border: 1px solid #919191;
    background-color: #ffffff;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
    margin: 0 auto;
}
.contact-step .elementor-column:not(:last-child) .elementor-widget-heading:after {
    content: '';
    background-color: #919191;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
}
.contact-step .elementor-widget-heading p span {
    font-size: 14px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    line-height: 1.5;
}
.contact-step .con-active.elementor-widget-heading p {
    color: #ffffff;
    background-color: var(--color-green-hover);
    border-color: var(--color-green-hover);
}

/*Contact Form*/
.cform .form-div {
    display: flex;
    justify-content: space-between;
}
/* チェック項目：20250619:kase記 */
.wpcf7-list-item.first.last,
.wpcf7-list-item.first {
   margin: 0 1em 0.5em 0;
}
/*--ここまで----------------------*/

.cform .form-div .label-div label {
    font-family: var(--font-title-family);
    font-weight: 700;
    display: flex;
}
.cform .form-div .label-div label span.req {
    color: #ffffff;
    font-size: 14px;
    font-family: var(--font-main-family);
    font-weight: 400;
    background-color: var(--color-green-hover);
    width: 50px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cform .form-div .field-div {
    flex: 0 75%;
}
.cform .form-div .field-div input, .cform .form-div .field-div textarea, .wpcf7-select {
    color: #919191;
    font-size: 16px;
    font-family: var(--font-main-family);
    padding: 12px 20px;
    background: #ffffff;
    border: 1px solid #919191;
    border-radius: 10px;
}
/* kase記：20250618　見学・体験 */
.field-div.chk p {
    margin-bottom: 0.5em;
}
.dayOff {
    margin-bottom: .5em;
}
select.wpcf7-form-control.wpcf7-select {
    margin-bottom: 1rem;
}
.second-choice p {
    margin-bottom: 1.6em!important;
}
/*-- ここまで ---*/


.cform .form-div .field-div textarea {
    height: 190px;
    resize: none;
}
.chk .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
}
.chk .wpcf7-checkbox > span {
    flex: 0 40%;
    margin-bottom: 15px;
    margin-left: 0;
}
.ch-agree {
    width: 100%;
    margin: 30px auto 0;
    text-align: center;
}
.ch-agree .tb {
    font-family: var(--font-title-family);
    font-weight: 700;
    margin-bottom: 20px;
}
.ch-agree .wpcf7-form-control-wrap {
    background-color: #F6F6F3;
    padding: 20px;
}

/* 確認画面 kase記：20250618 */
.btn {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.contact-sub p,
.contact-subBack p {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
    margin-bottom: 5px;
}
/* 確認ページ：戻るボタン、送信ボタンのデザイン :kase記20250618 */
 input.wpcf7-form-control.wpcf7-previous {
    width: 205.36px;
}
.contact-sub input[type="submit"],
.cform input.wpcf7-previous {
    color: #FFFFFF;
    font-size: 16px;
    font-family: var(--font-title-family);
    font-weight: 700;
    background-color: #298321;
    border: 1px solid #298321;
    border-radius: 29px;
    padding: 14px 30px 14px 30px; 
}
/* hoverと、focus時 */
.contact-sub input[type="submit"]:hover, .contact-sub input[type="submit"]:focus,
.cform input.wpcf7-previous:hover, .cform input.wpcf7-previous:focus {
    opacity: 0.80;
}
.text-cen {
    text-align: center;
}

/* PDF */
.pdf-box.elementor-widget-image-box .elementor-image-box-description a {
    text-decoration: none;
}
.pdf-box.elementor-widget-image-box .elementor-image-box-description a span {
    text-decoration: underline;
}
.pdf-box.elementor-widget-image-box .elementor-image-box-description a svg {
    width: 15px;
    vertical-align: middle;
    margin: 0 10px 0 5px;
}
.priv-list ol {
    margin: 30px 0;
    padding-left: 0;
    list-style-position: inside;
}
.priv-list ol > li {
    margin-bottom: 20px;
}
.ch-list .elementor-icon-list-items li {
    font-size: 13px;
    margin-bottom: 10px;
}
.proj-item.elementor-widget-image-box {
    background-color: #F6F6F3;
    padding: 20px;
    height: 100%;
}
.sys-sec1.elementor-section {
    background-position: 100% 30%;
}
.top-sys {
    background-color: rgb(255 255 255 / 45%);
    padding: 10px;
}
body #content .top-sys h3 {
    font-size: 20px;
}

/*Responsive*/
@media screen and (min-width: 1200px) {
    .home-sec1 {
        min-height: 630px;
        margin-bottom: 5rem;
    }
    .home-sec1 > .elementor-container, .left-con-sec.elementor-column > .elementor-widget-wrap {
        position: unset;
    }
    .left-con-sec.elementor-column {
        position: unset;
        width: 40%;
        padding-top: 80px;
    }
    .left-con-sec.elementor-column .elementor-widget-image {
        position: absolute;
        left: -2rem;
        bottom: -7rem;
        width: 30rem;
    }
    .right-image-sec.elementor-column {
        width: 64%;
        position: absolute;
        right: 0;
        height: 400px;
        padding-top: 100px;
        margin-top: 30px;
        padding-left: 50px;
    }
}

@media screen and (min-width: 922px) {
    body .lg-content-wd.elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 1240px;
        padding-left: 10px;
        padding-right: 10px;
    }
    body .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 1000px;
    }
    body .content-wd.elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 850px;
        margin-left: auto;
        margin-right: auto;
    }
    body .contact-step.elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 400px;
    }
    .content-wd-only {
        max-width: 800px;
        margin: 0 auto;
        padding: 0 10px;
    }
    .wd-50 {
        max-width: 500px;
    }
    .site-header .main-header-menu li.btn-contact a {
        margin-left: 10px;
    }
    .circle-sec.elementor-inner-section {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns {
        display: flex;
    }
    .site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns .site-footer-primary-section-1 {
        flex:  0 30%;
    }
    .site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns .site-footer-primary-section-3 {
        padding: 0 30px;
    }
}

/* kase追記：20250617 ---------*/
/* お問い合わせフォーム */
@media screen and (min-width: 769px) {
.cform .form-div .field-div {
        padding-left: 30px;
        flex: 0 75%;
    }
.cform .form-div .label-div {
    flex: 0 28%;
}
}
/* ここまで ----------------*/

/* 768px以上 */
@media screen and (min-width: 768px) {
    .half-sec .elementor-column {
        width: 33.333%;
    }
    .d-circle .elementor-widget-image-box > .elementor-widget-container {
        padding-right: 40px;
    }
    .cform .form-div .field-div {
        padding-left: 30px;
        flex: 0 75%;
    }
    .cform .form-div .label-div label {
        justify-content: space-between;
    }
    .ch-agree {
        max-width: 75%;
    }
    .cform.last .form-div {
        margin-bottom: 20px;
    }
    .tright .elementor-icon-list-items li {
        justify-content: flex-end;
        padding-left: 2rem;
    }
    .time-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text span {
        color: var(--color-primary-color);
        flex: 0 60%;
        padding-left: 10px;
    }
    .tright .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text span {
        padding-left: 15px;
    }
    .top-sys.elementor-col-66 {
        width: 55%;
    }
}

@media screen and (min-width: 1600px) {
    .site-header .ast-container, .site-footer .ast-container,
    body .banner-heading.elementor-section.elementor-section-boxed > .elementor-container,
    body .lg-content-wd.elementor-section.elementor-section-boxed > .elementor-container,
    .site-footer .site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row,
    .site-footer .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row,
    .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
        max-width: 1440px;
    }
    .home-sec1 {
        min-height: 720px;
        margin-bottom: 12rem;
    }
    .right-image-sec.elementor-column {
        width: 62%;
    }
    .left-con-sec.elementor-column .elementor-widget-image {
        left: -3rem;
        bottom: -14rem;
        width: 42%;
    }
    .site-footer .footer-right-details .wp-block-column {
        padding: 40px 50px;
    }
}

@media screen and (max-width: 1599px) {
    .site-header .main-header-menu li a {
        font-size: 13px;
        padding: 0 9px;
    }
    .site-header .main-header-menu li.btn-contact a {
        font-size: 14px;
    }
}

@media screen and (max-width: 1199px) {
    body #content h1 {
        font-size: 35px;
    }
    body #content h2, body .site-footer h2 {
        font-size: 30px;
    }
    body #content h3 {
        font-size: 22px;
    }
    body #content h4 {
        font-size: 18px;
    }
    .site-header .main-header-menu > .menu-item > .menu-link {
        top: 2px;
    }
    .site-header .site-logo-img img {
        width: 150px;
    }
    .site-header .main-header-menu li a {
        font-size: 12px;
        padding: 0 7px;
    }
    .site-header .main-header-menu li.btn-contact a {
        font-size: 11px;
        padding: 8px 10px;
        margin-left: 0;
    }
    .left-con-sec.elementor-column .elementor-widget-image {
        display: none;
    }
    .banner-heading {
        min-height: 400px;
    }
    .site-footer .site-above-footer-wrap .site-above-footer-inner-wrap {
        padding: 50px 20px 20px 20px;
    }
    .site-footer .site-primary-footer-wrap,
    .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
        padding-left: 10px;
        padding-right: 10px;
    }
    .time-list .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text span {
        padding-left: 20px;
        flex: 0 50%;
    }
}

@media screen and (min-width: 922px) and (max-width: 1199px) {
    .home-sec1 > .elementor-container {
        padding-top: 80px;
    }
}

@media screen and (max-width: 1010px) {
    .site-header .site-logo-img img {
        width: 130px;
    }
    .site-header .main-header-menu li a {
        font-size: 11px;
        padding: 0 5px;
    }
}

@media screen and (max-width: 921px) {
    #ast-mobile-popup .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
        top: 0;
    }
    #ast-mobile-popup .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children.ast-submenu-expanded > .ast-menu-toggle {
        top: 10px;
    }
    .site-header .site-logo-img img {
        width: auto;
    }
    .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item .sub-menu li a {
        line-height: 24px;
        padding-left: 20px;
    }
    body .ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close:focus,
    body .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
        outline: none;
        border: 0;
    }
    .home.ast-theme-transparent-header #masthead {
        position: relative;
    }
    .site-header .ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
        padding-top: 20px;
    }
    .site-header .site-branding.ast-site-identity {
        padding: 0;
    }
    .staff-item.elementor-widget-image-box .elementor-image-box-content {
        padding: 80px 10px 20px 10px;
    }
    .tri-bt:after {
        bottom: -3.3rem;
    }
    .site-footer .site-above-footer-wrap .site-above-footer-inner-wrap,
    .site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns,
    .site-footer .site-below-footer-wrap .ast-builder-footer-grid-columns {
        grid-template-columns: repeat( 1,1fr );
    }
    .site-footer .site-primary-footer-wrap {
        padding: 8rem 0 2rem 0;
    }
    .site-footer .footer-right-details .wp-block-column {
        margin-bottom: 0;
    }
}

/* kase追記：20250617 ---------*/
/* お問い合わせフォーム */
@media screen and (max-width: 768px) {
        .cform .form-div .field-div {
        padding-left: 20px;
        flex: 0 70%;
    }
.cform .form-div .label-div {
    flex: 0 27%;
}
}
/* ここまで ----------------*/

@media screen and (max-width: 767px) {
    h3 br, p br {
        display: none;
    }
    .staff-item.elementor-widget-image-box .elementor-image-box-content:after, .staff-item.elementor-widget-image-box .elementor-image-box-content:before {
        width: 37%;
    }
    .flex-rev.elementor-section > .elementor-container {
        flex-direction: column-reverse;
    }
    .contact-step.elementor-section .elementor-column {
        width: 33%;
    }
    .cform .form-div {
        flex-direction: column;
    }
    .cform .form-div .label-div label span.req {
        margin-left: 10px;
    }

    /*kase追記20250617 ----------*/
    /* お問い合わせフォーム */
    input.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date {
    margin-bottom: 1.5rem;
}
    /* ここまで ----------------*/

    .step-box.elementor-widget-image-box .elementor-widget-container .elementor-image-box-wrapper {
        text-align: center;
    }
    .step-box.elementor-widget-image-box .elementor-widget-container .elementor-image-box-wrapper .elementor-image-box-img img {
        margin-bottom: 20px;
    }
    .p-weight > .elementor-widget-container {
        margin: 10px auto;
    }
    .button-green.elementor-widget-button .elementor-button {
        width: 280px;
    }
    .pdf-box.elementor-widget-image-box .elementor-image-box-content {
        margin-top: 20px;
    }
    .table-bdr td {
        padding-left: 20px;
    }
    .top-sys.elementor-col-66 {
        width: 100%;
    }
    .top-sys {
        margin: 0 15px;
    }
    .home-sec1 .elementor-widget-heading {
        margin-bottom: 0;
    }
    .f-column .elementor-col-25 {
        margin-bottom: 10px;
    }
    .site-footer .footer-right-details .footer-company-info, .faq-list {
        margin-top: 30px;
    }
}

/*kase追記20250617 ----------*/
/* お問い合わせフォーム */
@media screen and (max-width : 550px) {
.elementor-1437 .elementor-element.elementor-element-c2c206b {
    padding: 30px 10px 50px 10px;
}
    .chk .wpcf7-checkbox > span {
    flex: 1 40%;
}
/* チェック項目周り */
.wpcf7-list-item.first.last {
    margin-bottom: 0;
}


/* 確認画面 */
.page-id-1463 .label-div p,
.field-div.chk p:first-child {
    margin-bottom: 0.5rem;
}
.btn {
    display: block;
}
}

/*kase追記20250618 ----------*/

@media screen and (max-width : 380px){
/* チェック項目の「その他」が折り返されるので調整 */

.wpcf7-list-item.last {
        margin-left: 0;
}
}

/* 下部の青い囲みLineを消す */
.wpcf7 form .wpcf7-response-output{
    display: none;
}

