@charset "utf-8";

body,
button,
input,
select,
textarea {
    font-family: "Sawarabi Mincho";
}

.main-visual .main-visual-content {
    padding: 20rem 0;
}

.main-visual::after {
    background: none;
}

.swiper-wrapper h2 {
    position: absolute;
    top: 45%;
    right: 5%;
    color: #fff;
    font-weight: 200;
    font-size: 4em;
    text-shadow: 2px 4px 6px #000;
}

body.scrolled #masthead {
    background: #086EDD
}

body.scrolled #masthead #menu-collapse a {
    color: #fff;
}

.page header::after,
.single header::after {
    opacity: 0.6;
}

.page-id-18 #main>header.page,
.page-id-306 #main>header.page,
.single #main>header {
    background: url(images/back2.jpg) 10% 60%/cover no-repeat;
}

.page-id-14 #main>header.page {
    background: url(images/back1.jpg) 10% 60%/cover no-repeat;
}

.page-id-16 #main>header.page {
    background: url(images/back3.jpg) 10% 60%/cover no-repeat;
}

.page-id-20 #main>header.page,.page-id-739 #main>header.page {
    background: url(images/back4.jpg) 10% 60%/cover no-repeat;
}

.page-id-308 #main>header.page {
    background: url(images/back5.jpg) 10% 60%/cover no-repeat;
}

ul.sns_btn {
    list-style: none;
    padding-left: 0;
    display: flex;
    justify-content: flex-end;
}

ul.sns_btn li {
    width: 20%;
    margin-left: 5px;
    width: 60%;
}

ul.sns_btn li:first-child,
ul.sns_btn li:last-child {
    display: none;
}


ul.sns_btn li img {
    width: 90%;
}

.page .show-on-front-page #main>.container>*>*>*:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide):not(.author-info) {
    max-width: none;
    width: auto;
}

.swiper-slide img,
.swiper-slide video {
    width: 100%;
    height: 85vh;
    object-fit: cover;
}

.swiper-slide img.hake {
    object-position: 0% 0%;
}

section .elementor-widget:not(:last-child) {
    margin-bottom: 0;
}

.page .entry-content h2 {
    position: relative;
    margin-bottom: 2.5em;
}

.page .entry-content .work_box h2 {
    margin-bottom: 1em;
}

.page .entry-content .ceo_massage h2 {
    font-size: 2em;
    margin-bottom: 0;
}

.page .entry-content .ceo_massage h2:after {
    content: none;
}

.page .entry-content .pic h4 {
    text-align: center;
    font-size: 1em;
    font-weight: 200;
    margin-top: .5em;
}

section.about,
section.recruit_content,
section.contact {
    padding: 4em 0;
}

section.work_box {
    margin-top: 5em;
}

section.recruit_content section .elementor-row {
    justify-content: space-around;
}

section.recruit_content section .elementor-row .elementor-column.elementor-col-33 {
    width: 33.333%;
}

section.recruit_content .recruit_block img {
    height: 275px;
    object-fit: cover;
    object-position: center 65%;
}

section.about section>.elementor-container>.elementor-row {
    background-color: rgba(255, 255, 255, 0.8);
    max-width: 750px;
    margin: 0 auto;
    padding-top: 2em;
}

section.contact section>.elementor-container>.elementor-row {
    background-color: rgba(0, 0, 0, 0.6);
    max-width: 750px;
    margin: 0 auto;
    padding-bottom: 2em;
    color: #fff;
}

.elementor-element-8187f84.elementor-widget-button {
    bottom: -30px;
}

section.ceo_massage {
    padding: 6.5em 0 4.5em;
}

section.ceo_massage {
    color: #fff
}

section.news {
    padding: 2em 0;
}

section.news ul {
    list-style: none;
}

section.news ul li {
    justify-content: flex-end;
    display: flex;
    flex-direction: row-reverse;
}

section.news ul li a {
    margin-left: 5em;
    color: #333;
}

ul.display-posts-listing {
    list-style: none;
}

.page-id-18 a.title,
.page-id-308 span.title {
    width: 97%;
    display: block;
    font-weight: normal;
    text-align: left;
    border: 1px solid #ccc;
    padding: .5em 0 .5em 3%;
    color: #734426;
    margin-bottom: 0;
    font-size: 1.7rem;
    margin: 3.5rem 0 0;
    position: relative;
}

.page-id-18 span.title:after,
.page-id-308 span.title:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
    position: absolute;
    bottom: -1.5em;
    left: 0;
}

.category-display a {
    pointer-events: none;
    color: #333;
}

.page-id-18 span.date,
.page-id-308 span.date {
    margin-left: 2em;
    font-size: .8em;
}

.page-id-18 span.category-display,
.page-id-308 span.category-display {
    float: left;
    margin-left: 1em;
    font-size: .8em;
    margin-top: 5px;
}

section.recruit_title {
    padding-top: 2em;
}

.page .entry-content p.ceo {
    font-size: 1.6em;
}

.page .entry-content h2:after {
    content: "";
    display: block;
    width: 6em;
    height: 3px;
    background-color: #000;
    position: absolute;
    bottom: -.5em;
    left: 0;
    right: 0;
    margin: auto;
}

.page-id-12 .entry-content h2:after,
.page-id-18 .entry-content h2:after,
.page .entry-content .gaiyo h2:after,
.page .entry-content .policy h2:after {
    content: none;
}

.page .entry-content .news h2:after,
.page .entry-content .recruit_title h2:after {
    width: 4em;
}

.page-id-14 .entry-content h2:after {
    width: 2em;
}

.page .entry-content h2 span {
    font-size: .5em;
    position: absolute;
    bottom: -3em;
    left: 0;
    right: 0;
}

.page .entry-content h2,
.page .entry-content h3 {
    font-weight: normal;
    text-align: center;
}

.page-id-12 .entry-content h2,
.page-id-18 .entry-content h2 {
    font-weight: normal;
    text-align: left;
    border: 1px solid #ccc;
    padding: .5em 1em;
    color: #734426;
    margin-bottom: 0;
}

.single .entry-content .gaiyo h2,
.page .entry-content .gaiyo h2 {
    text-align: left;
    border-left: #ABA978 7px solid;
    padding-left: 1em;
    font-weight: normal;
    position: relative;
    margin-bottom: 2.5em;
    font-size: 1.7rem;
}

.single .entry-content .gaiyo h3,
.page .entry-content .gaiyo h3 {
    display: block;
    font-weight: normal;
    text-align: left;
    border: 1px solid #ccc;
    padding: .5em 0 .5em 3%;
    color: #734426;
    margin-bottom: 0;
    font-size: 1.7rem;
    margin: .5rem 0 2rem;
    position: relative;
}

.page .entry-content .gaiyo h4 {
    text-align: left;
}

.page .entry-content .gaiyo p {
    text-align: left;
}

.page .entry-content .policy h2 {
    text-align: left;
    font-size: 1.2em;
    font-weight: 900;
    margin-bottom: 0;

}

.page-id-12 .entry-content h2.recent,
.page-id-18 .entry-content h2.recent {
    font-weight: 900;
    color: #333;
    border: none;
    padding-left: 0;
}

.page-id-12 .entry-content h3,
.page-id-18 .entry-content h3 {
    text-align: left;
    margin: 0 0 .5em;
    line-height: 1;
}

.page .entry-content .pro h3 {
    font-size: 2em;
}

.page .entry-content .recruit_content h3 {
    text-align: left;
    font-size: 1em;
    margin-top: 0;
    padding: 0 10px;
    position: relative;
}

.page .entry-content .recruit_content h3:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -40px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    border-width: 20px 20px 0 20px;
}

.sidebar h2 {
    border-left: #ABA978 7px solid;
    padding-left: 1em;
}

.nav-links {
    display: inline-block;
    margin: 2em;
    box-shadow: 10px 10px 25px 0px rgba(0, 0, 0, .5);
}

span.page-numbers.current {
    padding: .5em 1.5em;
    /* background: #007369; */
    /* color: #fff; */
    border: 1px solid #ccc;
    /* box-shadow: 0 10px 25px 0 rgba(0,0,0,.5);*/
}

.page .entry-content .nav-links a {
    text-decoration: none;
}

a.page-numbers {
    line-height: 2.5;
    border: 1px solid #ccc;
    padding: .5em 1.5em;
}



.page .entry-content p,
.elementor-button-wrapper {
    text-align: center;
}

.page-id-12 .entry-content p,
.page-id-18 .entry-content p {
    text-align: left;
    margin-top: 0;
}

.page-id-12 .entry-content p.date,
.page-id-18 .entry-content p.date {
    font-size: .8em;
    border-bottom: 1px solid #ccc;
    padding-left: 1em;
}

.page-id-12 .entry-content p.date span,
.page-id-18 .entry-content p.date span {
    margin-left: 3em;
}

.page-id-12 .entry-content p u,
.page-id-18 .entry-content p u,
.sidebar u {
    color: #734426;
}

.page .entry-content .recruit_content p {
    font-size: .9em;
    padding: 10px;
    padding-bottom: 3em;
    background: #e0e0e0;
    padding-top: 1.5em;
}

.entry-content .recruit_content a.elementor-button {
    margin-top: 1em;
}

.elementor-button-wrapper {
    margin-top: 1em;
}


.recruit_content .elementor-element .elementor-widget-container {
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
    background: #fff;
}

.page .entry-content .about p {
    margin-top: 1em
}

.entry-content a.elementor-button {
    color: #fff;
    text-decoration: none;
    position: relative;
}

.elementor-button .elementor-align-icon-right {
    position: absolute;
    right: 10px;
}

.entry-content .contact a.elementor-button {
    color: #000;
    background: #fff;
}

section .elementor-button {
    background-color: #000;
    padding: 12px 54px;
    -webkit-border-radius: 0;
    border-radius: 0;
}

.page .entry-content table.tablepress-id-1,
.page .entry-content table.tablepress-id-2,
.single .entry-content table.tablepress-id-2,
.single .entry-content table.tablepress-id-3,
.single .entry-content table.tablepress-id-4 {
    display: table;
}

.page .entry-content table.tablepress-id-1 td.column-1,
.page .entry-content table.tablepress-id-2 td.column-1,
.single .entry-content table.tablepress-id-2 td.column-1,
.single .entry-content table.tablepress-id-3 td.column-1,
.single .entry-content table.tablepress-id-4 td.column-1 {
    font-weight: 900;
    border-left: none;
    border-right: none;
}

.page .entry-content table.tablepress-id-1 td.column-2,
.page .entry-content table.tablepress-id-2 td.column-2,
.single .entry-content table.tablepress-id-2 td.column-2,
.single .entry-content table.tablepress-id-3 td.column-2,
.single .entry-content table.tablepress-id-4 td.column-2 {
    border-left: none;
    border-right: none;
}

#sample {
    width: 100%;
    height: 450px;
}

.date {
    display: none;
}

.page .entry-content form p {
    text-align: left;
}

.page .entry-content form p span.required {
    background: #FF3801;
    color: #fff;
    padding: 0 .5em;
    margin-left: .5em;
}

.page .entry-content form p.send_btn {
    text-align: center;
}

.page .entry-content form p.send_btn span {
    color: #FF3801;
}

.send_btn input[type=submit] {
    background: #FF3801;
    color: #fff;
    border: none;
    padding: .5em 5em;
}

form {
    max-width: 900px;
    margin: 0 auto;
}

input[type="text"] {
    width: 48%;
}

input.big[type="text"] {
    width: 100%;
}

input.big.one_box[type="text"] {
    margin-bottom: .5em
}

select {
    border-radius: 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    appearance: menulist;
    height: auto;
    background: #fff;
    font-size: 1em;
    margin: .5em auto;
}

.policy {
    background: #e0e0e0;
    padding: .5em 1em;
}

/*#footer {
    padding-top: 1em;
    background: #fff;
    padding-top: 2em;
    color: #333;
    border-top: 1px solid #707070;
}*/

#footer {
    padding-top: 1em;
    background: #086EDD;
    padding-top: 2em;
    color: #fff;
    border-top: none;
}

#footer a {
    color: #fff;
}

.footer_all {
    background: #000;
}

.footer_before {
    max-width: 1200px;
    margin: 0 auto;
}

.footer_before ul {
    width: 75%;
    list-style: none;
    padding-left: 0;
    display: flex;
    justify-content: space-around;
    margin: auto;
}

.footer_logo {
    text-align: center;
    margin: 1.5em auto;
}

.footer_before p {
    text-align: center;
    margin-bottom: 0;
}

#footer .wrap .footer-content .footer-inner {
    padding: .5rem 0;
}

#footer .wrap .footer-content {
    border-top: 1px solid #707070;
}

.footer_bottom {
    color: #fff;
    padding: 1em 0;
}

.footer_bottom,
.footer_up {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
}

.footer_up {
    margin-bottom: 1em;
}

.footer_up ul {
    list-style: none;
    padding-left: 0;
    width: 15%;
    margin-top: 0;
}

.company_box {
    margin-left: auto;
}

.logo_block {
    width: 50%;
}

.tel_block {
    width: 25%;
    font-size: 1.4em;
}

.tel_block span {
    font-size: .8em;
}

.mail_block {
    width: 25%;
    font-size: 1.4em;
}

.company_box span {
    font-weight: bold;
}

.footer-content {
    display: none;
}

.home .footer-content {
    display: block;
}

.slider {
    margin: 0 auto;
    width: 100%;
    opacity: 0;
    transition: 3s;
    padding-left: 0;
}

.slick-initialized {
    opacity: 1
}

.slider img,
.slider video,
.sliderBox iframe {
    width: 100%;
    height: 85vh;
    object-fit: cover;
}

.slider img {
    object-position: center 20%
}

.slick-slide li {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}


.slick-slide iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slick-initialized .slick-slide {
    height: 85vh !important;
    height: 850px !important;
}

.slick-initialized .slick-slide h2 {
    position: absolute;
    top: 45%;
    right: 5%;
    color: #fff;
    font-weight: 200;
    font-size: 4em;
    text-shadow: 2px 4px 6px #000;
}

.footer_before br {
    display: none;
}

.mw_wp_form .error {
    position: absolute;
}

input.mei+span.error {
    left: 50%;
}

input.big.one_box+span.error {
    position: static;
}

body.page-id-504 header.page,
body.page-id-509 header.page {
    display: none;
}

body.page-id-504 .slider_inner {
    margin: 0 auto;
    position: relative;
}

body.page-id-504 .slider img,
body.page-id-509 .slider img {
    height: 850px;
}

body.page-id-509 .slider img,
body.page-id-504 .mv_middle .slider img {
    object-position: 50% 30%;
}

.slick-initialized .slick-slide .slider_inner h2 {
    font-size: 3em;
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-table;
    line-height: 1.5;
    font-weight: 900;
}

.slick-initialized .slick-slide .slider_inner h2.top,
.slick-initialized .slick-slide .slider_inner h2.bottom {
    width: 100%;
    position: static;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner h2.bottom,
.page-id-509 .slick-initialized .slick-slide .slider_inner h2.top {
    font-size: 2em;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner h2.top {
    letter-spacing: -3px;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner p {
    font-size: 1em;
}

.slick-initialized .slick-slide .slider_inner h2.top {
    font-size: 3.5em;
    margin-bottom: 0
}

.slick-initialized .slick-slide .slider_inner h3 {
    width: 20%;
    background: #2A7935;
    border-radius: 50%;
    padding: 2em 1em 2.5em;
    font-size: 1.2em;
    margin: 0 25px;
    vertical-align: middle;
    line-height: 1.2;
    text-shadow: 2px 4px 6px #000;
    box-shadow: 2px 2px 2px 2px #18401d;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner h3,
.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h3 {
    width: auto;
    border-radius: 0;
    padding: 1em;
    line-height: 1.6;
    margin-top: 2em;
    background: #2a7935bf;
    font-size: 1em;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h3 {
    font-weight: 700;
}

.slick-initialized .slick-slide .slider_inner h2 span {
    font-size: 2em;
    font-family: "Sawarabi Gothic";
}

.slick-initialized .slick-slide .slider_inner h2 span.pc_only,
.mv_middle .slick-initialized .slick-slide .slider_inner h2 span.pc_only {
    font-size: 1em;
}

.mv_middle .slick-initialized .slick-slide .slider_inner h2 span.pc_only {
    position: static;
}

.slick-initialized .slick-slide .slider_inner h2 br.sp_only,
.mv_middle .slick-initialized .slick-slide .slider_inner h2 br.sp_only {
    display: none;
}

.slick-initialized .slick-slide .slider_inner .more_inner {
    position: absolute;
    top: 8%;
    color: #fff;
    font-weight: 200;
    font-size: 2em;
    text-align: center;
    display: flex;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0;
    justify-content: space-evenly;
    max-width: 1200px;
    flex-wrap: wrap;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner .more_inner {
    max-width: none
}

.page-id-509 .slick-initialized .slick-slide .slider_inner .more_inner {
    top: 10%;
}

.slick-initialized .slick-slide .slider_inner .more_inner h3:nth-child(2) {
    padding-top: 2.5em;
}

.slick-initialized .slick-slide .slider_inner .more_inner h3:nth-child(3) {
    padding-top: 2.1em;
    padding-bottom: 1.3em;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner .more_inner h3:nth-child(3),
.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner .more_inner h3:nth-child(3) {
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    margin-bottom: 2em;
}

.slick-initialized .slick-slide .slider_inner p {
    position: absolute;
    bottom: 5%;
    color: #fff;
    left: auto;
    right: 5%;
    margin: auto;
    display: inline-table;
    font-size: 2em;
    text-shadow: 2px 4px 6px #000;
    line-height: 1.5;
    font-weight: 900;
    font-family: "Sawarabi Gothic";
    margin-top: 0;
    position: static;
    font-size: 1.4em;
    text-align: left;
}

.slick-initialized .slick-slide .slider_inner p span {
    background: #2A7935;
    padding: 5px 0.5em;
    border-radius: 10px;
}

.slick-initialized .slick-slide .slider_inner p br.sp_only {
    display: none;
}

.slick-initialized .slick-slide .slider_inner .more_inner p:last-child {
    font-size: 1.3em;
    margin-top: 1em;
    position: static;
}

.page-id-509 .slick-initialized .slick-slide .slider_inner .more_inner p:last-child,
.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner .more_inner p:last-child {
    margin-top: 0
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner .more_inner p:last-child {
    width: 100%;
    text-align: center;
}

section.mv_middle {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.elementor-section.elementor-section-boxed.mv_middle>.elementor-container {
    max-width: none;
}

.mv_middle .elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap {
    padding: 0;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner .more_inner {
    top: 10%;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner .more_inner {
    max-width: none;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h2.top {
    letter-spacing: -3px;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h2.bottom,
.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h2.top {
    font-size: 2em;
}

.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h2.bottom:after,
.page-id-504 .mv_middle .slick-initialized .slick-slide .slider_inner h2.top:after {
    content: none;
}

section.big_haba>.elementor-container>.elementor-row {
    justify-content: center;
}

section.big_haba>.elementor-container>.elementor-row>.elementor-col-33:last-child {
    display: none
}

.page #main > header .page-header h2 {
    margin: 0 auto 1rem;
    font-size: 1.8rem;
}

#masthead .flex {
    flex-wrap: wrap;
}

#masthead .flex h1 {
    font-size: .8em;
    color: #fff;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    margin-top: 0;
}

#masthead.fixed .site-info a {
    margin-top: 0.8em;
}

#masthead .global-nav #menu-collapse ul li:last-child,
.footer_before ul li:nth-last-child(2) {
    display: none
}

.niretsu > div:last-child > div {
    display: flex;
}

.niretsu > div:last-child > div input[type="text"] {
    width: 90%;
}

.smf-form .smf-text-control__control.zipcode {
    width: 30%;
}

.smf-form input[type="text"],.smf-form input[type="tel"],.smf-form input[type="email"] {
    width: 60%;
    margin-bottom: 15px
}

.smf-form .policy {
    margin: 3em auto;
}