@charset "utf-8";


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　LoadingのためのCSS
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

#splash {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100vw;
    height: 100vh;
    background: #fff;
}

#splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 999;
    width: 18%;
    transform: translate(-50%, -50%);
    color: #fff;
    opacity: 0;
}

@media screen and (max-width: 959px) {
    #splash_logo {
        width: 30%;
    }
}

header {
    width: 97vw;
    margin-top: 15px;
    padding: 0;
    position: fixed;
    top: 0;
    left: 1.5%;
    border-radius: 0.9rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #FFF;
    z-index: 9;
}

header div.left {
    display: flex;
    align-items: center;
    margin: 20px 20px 20px 35px;
}

header div.right {
    display: flex;
    align-items: center;
    margin: 20px 35px 20px 0;
}

header h1 {
    width: 140px;
    display: inline-block;
    padding: 0;
    margin: 0;
}

header div.left p {
    font-size: 0.8rem;
    color: #666;
    margin-left: 15px;
    line-height: 1rem;
}

header div.right dl {
    display: flex;
    align-items: center;
}

header div.right dl dt {
    font-size: 0.7rem;
    margin-right: 10px;
    color: #999;
    white-space: nowrap;
}

header div.right dl dd {
    font-size: 1rem;
    padding: 0;
    margin: 0 1.8rem 0 0;
    white-space: nowrap;
}

#toggle-apperance header #wrapper-menu #area-photo {
    width: 39%;
    margin: 0;
}


#toggle-apperance header #wrapper-menu #area-menu {
    width: 61%;
    display: flex;
    justify-content: space-evenly;
}

#toggle-apperance header #wrapper-menu .menu-colmun {
    padding: 15px 10px 10px 10px;
}


.toggle {
    display: block;
    width: 38px;
    height: 28px;
    cursor: pointer;
    z-index: 10;
    transition: all .3s;
}

.toggle span {
    display: block;
    position:relative;
    width: 38px;
    border-bottom: solid 4px #9C6930;
    -webkit-transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    transition: 0.2s ease;
}

.toggle span:nth-child(1) {
    top:0px;
}
 .toggle span:nth-child(2) {
    top: 8px;
}
 .toggle span:nth-child(3) {
    top: 16px;
}
 
.toggle.active span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
.toggle.active span:nth-child(2) {
    top: 8px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.toggle.active span:nth-child(3) {
    top: 4px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.toggle:hover {
    opacity: 0.5;
}

#toggle-apperance {
    display: none;
    width: 100vw;
    height: 100vh;
    min-height: 100%;
    position:fixed;
    top: 0;
    left: 0;
    background-color: rgba(6,6,6,0.7);
}

#toggle-apperance header {
    box-shadow: 0 0 12px 0px #000;
    display: block;
}

#toggle-apperance header #innder-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#toggle-apperance header #wrapper-menu {
    display: flex;
    justify-content: flex-start;
    align-items: start;
}

#title-menu {
    text-align: right;
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 3rem;
    color: #9C6930;
    opacity: 0.8;
    margin: 0px 30px 30px 30px;
    line-height: 3rem;    
}

#mobile-menu {
    display: none;
}

#scroll_banner {
    opacity: 1;
    display: none;
}

.banner-estimate {
    position:fixed;
    z-index: 8;
    top: 35vh;
    right: 0;
    background-color:#FFF;
    width: 3.2%;
    margin: 0 0.6%;
    text-align: center;
    border-radius: 0.9rem;
    height: 250px;
    pointer-events: none;
    transition: all .3s;
    opacity: 0;
}


.banner-estimate a {
    position: relative;
    display: block;
    top: -36px;
    pointer-events: auto;
}

.banner-estimate:hover {
    box-shadow: 0 0 6px #B3B3B3 ;
}

.banner-estimate a:hover {
    opacity: 1;
}

.banner-estimate a:hover p {
    opacity: 0.7;
}

.banner-estimate img {
    width: 56px;
    position: relative;
    left: -40px;
    top: 4px;
}


.banner-estimate p {
    display: block;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #9C6930;
    margin: 0 auto;
    padding: 0;
    font-size: 1.2rem;
    /* line-height: 2.5rem; */
    white-space: nowrap;
    transition: all .3s;
}




/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
トップページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

div#wrapper-firstview {
    height: 100vh;
    width: 100vw;
    margin-top: 120px;
    margin-bottom: 200px;
    box-sizing: border-box;
}

div#slideshow {
    background-color:#999;
    width: 95.5vw;
    height: 71vh;
}

.bgimg-slider {
    width: 100vw;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-title {
    font-size: 4rem;
    font-weight: normal;
    line-height: 1em;
    letter-spacing: 1rem;
    text-shadow:
        3px 3px 2px #FFF,
        0 0 1em #FFF,
        0 0 0.2em #FFF;
    color: #333;
    text-align: center;
    padding: 0 3rem;
}

div#latest-news {
    display:flex;
    align-items: center;
    padding: 4vh 4.5%;
}

div#latest-news .latestnews {
    color: #9C6930;
    margin-right: 1.2rem;
    white-space: nowrap;
    line-height: 1rem;
}

div#latest-news p {
    margin:0;
}

div#latest-news div.wrapper-btn {
    white-space: nowrap;
}

div#latest-news a.number {
    background-color: #9C6930;
    border-radius: 50%;
    font-size: 0.7rem;
    padding: 10px;
    color: #FFF;
    line-height: 0.4rem;
    margin-right: 0.4rem;
    display: inline-block;
}

div#latest-news a.number.active {
    opacity: 0.7;
    transition: color .2s, text-decoration .2s, opacity .2s ease-in-out;
}

div#latest-news div.slick-slide {
    display: flex;
    align-items: center;
    overflow: hidden;
}

div#latest-news .date {
    margin-left: 2rem;
    display:inline-block;
}

div#latest-news .category {
    font-size: 0.8rem;
    line-height: 0.8rem;
    margin: 0 1.2rem;
    display:inline-block;
}

div#latest-news p.category a {
    padding: 6px 30px;
    border-radius: 2rem;
    border: 1px solid #999;
    color: #484848;
    white-space: nowrap;
}

div#latest-news p.category :hover {
    color: #9C6930;
    border-color: #9C6930;
}

div#latest-news p.title {
    line-height: 2rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

div#latest-news p.title a {
    color: #484848;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

div#latest-news p.title a:hover {
    color: #9C6930;
}

.container-gray {
    background-color: #EAEAEA;
}

.space-common-top {
    padding-top: 250px;
}

.container-white {
    background-color:#FFF;
    padding-bottom: 380px;
}


.title-head1, .title-head2 {
    font-size: 5rem;
    font-family: 'Arial Black', Arial, sans-serif;
    color: #EAEAEA;
    padding: 0  4.2% 0 0;
    text-align: right;
    line-height: 5rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    top: -165px;
    margin-bottom: -60px;
}

.title-head2 {
    color: #FFF;
    padding: 0 0 0  4.2%;
    flex-direction: row-reverse;
    margin-top: 200px;
}

.title-head1 span {
    margin-right: 20px;
    font-size: 1rem;
    line-height: 1rem;
    color: #999;
}

.title-head2 span {
    margin-left: 20px;
    font-size: 1rem;
    line-height: 1rem;
    color: #999;
}

.title-head1 img, .title-head2 img {
    width: 240px;
}

.wrapper-left {
    display: flex;
    justify-content:flex-end;
    padding-bottom: 200px;
}

.wrapper-right {
    display: flex;
    justify-content:flex-start;
    padding-bottom: 180px;
}

.wrapper-left h3,
.wrapper-right h3 {
    margin: 1.5rem 0 3.5rem 0;
}

.wrapper-left p,
.wrapper-right p {
    margin-bottom: 3rem;
}

.service01, .service02, .service03, .service04, .service05 {
    background-repeat: no-repeat;
    background-size: 60%;
    position: relative;
    top:-50px;
    min-width: 590px;

}

.service01 {
    padding: 50px 4% 0 8%;
    background-image: url("../img/01.png");
}

.service02 {
    padding: 50px 8% 0 4%;
    background-image: url("../img/02.png");
    background-position: top right;
}

.service03 {
    padding: 50px 4% 0 8%;
    background-image: url("../img/03.png");
}

.service04 {
    padding: 50px 8% 0 4%;
    background-image: url("../img/04.png");
    background-position: top right;
}

.service05 {
    padding: 50px 4% 0 8%;
    background-image: url("../img/05.png");
}

div.wrapper-left figure, div.wrapper-right figure {
    width: 48%;
    padding: 0;
    margin: 0;
}

.services-img {
    width: 100%;
}

.wrapper-left .services-img {
    border-top-left-radius: 0.9rem;
    border-bottom-left-radius: 0.9rem;
}

.wrapper-right .services-img {
    border-top-right-radius: 0.9rem;
    border-bottom-right-radius: 0.9rem;
}

.pc_br {
   display: block
}

.pc_br2,
. pc_br3 {
   display: block
}

.sp_br {
	display: none;
}

#latest-works {
    display: flex;
    flex-direction: row-reverse;
}

#work-list {
    display: flex;
}

#work-list {
    width: 86vw;
    overflow: hidden;
}

#work-list article {
    margin-right: 20px;
    width: 300px;
}

#work-list article a {
    color: #484848;
    transition: all .3s;
}

#work-list article a:hover figure,
#work-list article a:hover h1,
#work-list article a:hover p {
    opacity: 0.5;
    transition: all .3s;
}

#work-list article .thumb {
    margin: 0;
    width: 300px;
    height: 300px;
    border-radius: 0.9rem;
    overflow: hidden;
    /* background-image: url("../img/work-1.jpg"); */
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#work-list article .thumb2 {
    margin: 0;
    width: 300px;
    height: 300px;
    border-radius: 0.9rem;
    overflow: hidden;
    background-image: url("../img/work-2.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#work-list article .thumb3 {
    margin: 0;
    width: 300px;
    height: 300px;
    border-radius: 0.9rem;
    overflow: hidden;
    background-image: url("../img/work-3.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#work-list article h1 {
    font-size: 1.2rem;
    line-height: 1.6rem;
    font-weight: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 10px;
}

#work-list article .date {
    font-size: 1rem;
    margin-top: 0;
}

#controller {
    width: 6vw;
}

#controller ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 62px 62px 170px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
}

#controller ul li {
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
}

#controller ul li.disabled {
    opacity: 0.5;
}

#controller ul button,
#controller ul a {
    padding: 20px;
    display: inline-block;
    border-radius: 2rem;
    font-size: 0.6rem;
    line-height: 0.6rem;
    border: 1px solid #CCC;
    color: #F7931E;
    transition: all .3s;
    background-color: #FFF;
}

#controller ul button {
    width: 52px;
    height: 52px;
}

#controller ul button:hover,
#controller ul a:hover {
    background-color: #FAF4EC;
    cursor: pointer;
}

#controller ul li.disabled button:hover ,
#controller ul li.disabled a:hover {
    background-color: #FFF;
    cursor: auto;
}

#controller ul button img {
    width: 7px;
}

#controller ul button:hover img.btn-left {
    animation: anim-2 .3s forwards;
}

@keyframes anim-2 {
    100% {
        transform: translateX(-4px);
    }
}

#controller ul button:hover img.btn-right {
    animation: anim-3 .3s forwards;
}

@keyframes anim-3 {
    100% {
        transform: translateX(4px);
    }
}

#controller ul li.disabled button:hover img {
    animation: none !important;
}

#controller ul a.text-btn {
    font-size: 0.9rem;
    color: #484848;
}

#wrapper-recruit {
    display:flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    position: relative;
    margin-bottom: 380px;
}

#wrapper-recruit h2, #wrapper-recruit p  {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

#wrapper-recruit h2  {
    color: #484848;
    font-size: 2rem;
    line-height: 2.5rem;
    margin-left: 1.2rem;;
    max-width: 120px;
}

#wrapper-recruit p  {
    margin: 0 0 110px 5.5rem;
    font-size: 1rem;
    max-width: 128px;
}

#wrapper-recruit figure {
    margin: 0;
    width: 60vw;
}

#wrapper-recruit img.recruit-img {
    width: 100%;
    border-top-right-radius: 0.9rem;
    border-bottom-right-radius: 0.9rem;    
}

#wrapper-recruit .button-01 {
    position: absolute;
    bottom: 0px;
    left: 66vw;
}

#wrapper-faq {
    display: flex;
    margin-left: 14vw;
    justify-content: space-between;
}

#wrapper-faq dl {
    width: 46%;
    line-height: 1.8rem;
}

#wrapper-faq dt {
    border-bottom: 1px solid #ccc;
    margin-top: 2rem;
    padding:0 2rem 10px 1rem;
    display: flex;
    align-items: flex-start;
}

#wrapper-faq dt:first-child {
    margin: 0;
}

#wrapper-faq dt::before {
    content: 'Q';
    font-size: 0.8rem;
    display: inline-block;
    background-color: #999;
    border-radius: 50%;
    color: #fff;
    line-height: 0.66rem;
    padding: 0.8rem;
    margin-right: 10px;
}

#wrapper-faq dt a {
    color: #484848;
    margin-top: 0.2rem;
}

#wrapper-faq dd {
    margin:1rem 2rem;
    color: #9C6930;
}

.wapper-button-01 {
    text-align:right;
    margin:3rem 5rem 0 0;
}

#wrapper-news {
    display: flex;
}

#wrapper-news figure {
    width: 32vw;
    margin: 0;
}

#wrapper-news figure img {
    width: 100%;
    border-top-right-radius: 0.9rem;
    border-bottom-right-radius: 0.9rem;
}

.wrapper-news-right {
    margin-left: 5vw;
    padding-bottom: 200px;
}

#wrapper-news ul {
    list-style: none;
    width: 52vw;
    margin: 0 0 3rem 0;
    padding: 0;
}

#wrapper-news ul li {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 2rem;
    line-height: 1.5rem;
}

#wrapper-news ul li span {
    display:inline-block;
    margin-right: 30px;
}

#wrapper-news ul li a {
    color: #8C6239;
}

#wrapper-news ul li a:hover {
    color: #9C6930;
}

.container-white-last {
    background-color: #FFF;
    padding-bottom: 0;
}

#wrapper-line {
    text-align: center;
    padding: 140px 10vw;    
}

#wrapper-line figure {
    margin: 0;
}

#wrapper-line figure img {
    width: 240px;
    margin-bottom: 60px;
}

#wrapper-line img.line-account {
    width: 284px;
}

#wrapper-line h3 {
    font-size: 3rem;
    margin-top: 2rem;
    line-height: 4rem;
}

#wrapper-line p {
    font-size: 1.2rem;
    line-height: 2.4rem;
}

#wrapper-line ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #06C755;
    font-size: 2rem;
}

#wrapper-line ul li {
    display: inline-block;
    padding: 4rem 6rem;
}

#wrapper-line ul li.borderline {
    padding: 0;
    width: 1px;
    background-color: #ccc;
    min-height: 200px;
}

.line-btn {
    width: 180px;
}


.line-qr {
    width: 120px;
}

/*========================================================================
  Accordion Q&A
========================================================================*/

.p-accordion {
    margin-inline: auto;
    display: flex;
    margin-left: 10vw;
    justify-content: space-between;
}

.qa-left, .qa-right {
    width: 46%;
    line-height: 1.8rem;
}

.p-accordion__head {
  cursor: pointer;
    margin: 2rem 2rem 10px 1rem;
    /*display: flex;*/
    /*align-items: flex-start;*/
    display: inline-block;
}

.p-accordion__head:hover span {
    color: #9C6930;
    transition: all .3s;
}

label.first-child {
    margin-top: 0;
}

.p-accordion__head-inner::before {
    content: 'Q';
    font-size: 0.8rem;
    display: inline-block;
    background-color: #999;
    border-radius: 50%;
    color: #fff;
    line-height: 0.66rem;
    padding: 0.68rem;
    margin-right: 10px;
}

.p-accordion__head-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.p-accordion__main {
    color: #9C6930;
}
.p-accordion__input input[name=p-accordion__block] {
  display: none;
}
.p-accordion__input .p-accordion__block {
  cursor: pointer;
}
.p-accordion__input .p-accordion__content {
  height: 0;
  padding: 0 2rem;
  overflow: hidden;
  opacity: 0.5;
  background-color: #fff;
  transition: padding 0.25s ease, opacity 0.3s ease 0s;
    border-top: 1px solid #ccc;
}

.p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head > .p-accordion__head-inner .p-accordion__icon {
  transform: rotate(-180deg);
}

.p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head + .p-accordion__content {
  /*開閉時*/
  height: auto;
  opacity: 1;
  padding: 1rem 2rem;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
　フッター
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

footer {
    background-color: #4D4D4D;
    color: #fff;
    padding: 120px 9%;
}


#footer-wrapper-top {
    display: flex;
    justify-content: space-between;
}

#footer-wrapper-top dl a {
    color: #fff;
}

address {
    background: rgba(51,51,51,0.4);
    padding: 2rem 3rem;
    font-size: 1.3rem;
    font-style: normal;
    border-radius: 0.9rem;
    margin-bottom: 1.5rem;
}

address p {
    line-height: 1.4rem;
    margin: 0;
    font-size: 1rem;
}

address .title {
    color: #F7931E;
    margin-bottom: 0.5rem;
}

address .tel {
    font-size: 2.5rem;
    line-height: 2.5rem;
    white-space: nowrap;
    margin-bottom: 0.7rem;
}

address .tel a {
    color: #fff;
}

address .fax {
    font-size: 1.5rem;
    margin-top: 0.7rem;
}


.btn-contact {
    background: rgba(51,51,51,0.4);
    padding: 0;
    font-size: 1.3rem;
    border-radius: 0.9rem;
}

.btn-contact a {
    padding: 2rem 3rem;
    display: block;
    color: #fff;
}

.btn-contact a:hover span {
    animation: anim-4 .3s forwards;
}

@keyframes anim-4 {
    100% {transform: translateX(4px); }
}

.btn-contact:hover {
     background: rgba(51,51,51,1);
}

.btn-contact span {
    font-size: 0.6rem;
    color: #F7931E;
    display:inline-block;
    margin-right: 10px;
    position: relative;
    bottom: 3px;
}

footer .global-menu {
    display: block;
    margin: 0;
    padding: 0 0 0 2rem;
}

footer .global-menu dt {
    font-family: "Arial Black";
    font-size: 1.3rem;
    color: #FFF;
    opacity: 0.4;
    float: left;
    margin: 0;
    width: 40px;
    white-space: nowrap;
    clear: both;
}

footer .global-menu dd {
    font-size: 1.2rem;
    margin: 0 0 2.5rem 0;
    float: left;
    white-space: nowrap;
}

footer .global-menu ul{
    margin: 15px 0 0 0;
    padding: 0;
    font-size: 1.1rem;
    list-style-type: circle;
}

footer .global-menu ul li{
    margin: 15px 0 0 6px;
    list-style: none;
}

footer .global-menu a {
    color: #484848;
}


footer #footer-wrapper-top dl.global-menu a:hover {
    color: #F7931E;
}

footer .global-menu dd ul li a::before {
    content: "- ";
}

#footer-wrapper-bottom  {
    display: flex;
    justify-content: space-between;
    margin-top: 180px;
    align-items: center;
}

#footer-wrapper-bottom .company-info  {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
}

#footer-wrapper-bottom .company-info .logo-sideways  {
    width: 196px;
    margin-right: 20px;
}

#footer-wrapper-bottom .icons-sns {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

#footer-wrapper-bottom .icons-sns img {
    width: 20px;
    margin:0 10px;
}

#footer-wrapper-bottom ul {
    list-style: none;
    font-size: 0.75rem;
    margin: 0;
    padding: 0;
    text-align: right;
    line-height: 2rem;
}

#footer-wrapper-bottom ul li {
    display: inline-block;
    margin-left: 2rem;
    color: #fff;
}

#footer-wrapper-bottom ul li a {
    color: #fff;
}

.copyrights {
    opacity: 0.4;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　下層ページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

#wrapper-subpage-header {
    width: 100vw;
    height: 360px;
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    margin-bottom: 150px;
}

.header-multiply {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    opacity: 0;
}

.header-multiply::before {
    display:block;
    content:'';
    width:100%;
    height:360px;
    position:absolute;
    background-color: #4D4D4F;
    mix-blend-mode: multiply;
    opacity: 0.18;
}

#wrapper-subpage-header h2,
#wrapper-subpage-header h3 {
    color: #fff;
    display: inline-block;
    margin: 112px 0 0 0;
    padding: 0;
    opacity: 1;
}

#wrapper-subpage-header h2 {
    font-size: 1.1rem;
    margin-right: 20px;
}

#wrapper-subpage-header h3 {
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 4.5rem;
    margin-right: 4.2%;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    color: transparent;
}

.wrapper-loop {
    overflow: hidden;
    position: relative;
    width: 100vw;
    margin-inline: auto;
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 10vw;
    white-space: nowrap;
    margin-top: 250px;
    height: auto;
    top: 0.4em;
}

.loop {
    /* Macのバグ解消 */
    animation: loop 20s linear infinite;
    width: 100%;
    margin: 0;
    line-height: 0.82em;
    color:#EAEAEA;
    mix-blend-mode: multiply;
}

.loop2{
    position: absolute;
    top: 0;
    left: 0;
    animation: loop 20s -10s linear infinite;
    -webkit-text-stroke: 1px #B4B4B4;
    /* text-stroke: 1px #B4B4B4; */
    color: transparent;
    opacity: 0.7;
}


@keyframes loop {
  0%{
    transform: translateX(100%);
  }
  100%{
    transform: translateX(-100%);
  }
}

.info_on_basic_left {
    margin: 2rem 0 2rem 29%;
    text-align: right;
}

.info_on_basic_left .description {
    font-size: 0.9rem;
    text-align: left;
    line-height: 1.6rem;
}

.info_on_basic_left .tel {
    font-size: 2.5rem;
    line-height: 2.8rem;
    margin: 0 0 1rem 0;
}

.info_on_basic_left .hours {
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.5rem;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　当社の特長
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-fetures {
    background-image: url("../img/features-header.jpg");
    opacity: 0;
}

.features01 {
    padding: 70px 6% 0 13%;
    background-image: url(../img/01-features.png);
}

.features02 {
    padding: 70px 13% 0 6%;
    background-image: url(../img/02-features.png);
    background-position: top right;
}

.features03 {
    padding: 70px 6% 0 13%;
    background-image: url(../img/03-features.png);
}

.features01, .features02, .features03  {
    background-repeat: no-repeat;
    background-size: 54%;
    position: relative;
    top: -50px;
    width: 35%;
}

.wrapper-left-features {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 120px;
}

.wrapper-right-features {
    display: flex;
    justify-content: flex-start;
    padding-bottom: 180px;
}

div.wrapper-left-features figure, div.wrapper-right-features figure {
    width: 46%;
    padding: 0;
    margin: 0;
}

.wrapper-left-features .features-img {
    border-top-left-radius: 0.9rem;
    border-bottom-left-radius: 0.9rem;
}

.wrapper-right-features .features-img {
    border-top-right-radius: 0.9rem;
    border-bottom-right-radius: 0.9rem;
}

.features-img {
    width: 100%;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　サービス（下層ページ基本）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-services {
    background-image: url("../img/service-header.jpg");
    opacity: 0;
}

.wrapper-basic-section {
    display: flex;
    align-items: flex-start;
    margin-bottom: 150px;
}

.basic-left {
    width: 31vw;
    padding-right: 5.2%;
}
.basic-left.sticky {
    position: sticky;
    top: 115px;
}

.basic-right {
    width:69vw;
}

.services-main-img {
    width: 100%;
    border-top-left-radius: 0.9rem;
    border-bottom-left-radius: 0.9rem;
    margin-bottom: 20px;
}

.basic-right p {
    margin-right: 12%;
}

.basic-left h2 {
    background-color: #F2F2F2;
    color: #484848;
    font-weight: normal;
    text-align: right;
    padding: 30px 40px;
    border-top-right-radius: 0.9rem;
    border-bottom-right-radius: 0.9rem;
    margin: 0;
    line-height: 1.5rem;
}

.basic-left h3 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: 100%;
    margin: 60px 0;
    position: relative;
    left: -30px;
}

.basic-right h4 {
    color: #9C6930;
    margin: 120px 0 40px 0;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
    line-height: 0rem;
}

.basic-right h4 span {
    background-color: #FFF;
    padding: 10px 30px 10px 0;
}

.basic-right h5 {
    font-size: 1.9rem;
    line-height: 3rem;
    font-weight: normal;
    margin: 0 12% 30px 0;
}

.basic-right h6 {
    display: inline-block;
    background-color: #999;
    color: #FFF;
    font-size: 1rem;
    font-weight: normal;
    padding: 10px 15px;
    border-radius: 0.4rem;
    margin: 40px 0 20px 0;
}

.table-wrap {
    width:88%;
    overflow-x:scroll;
    margin: 20px 0;
}

table.table01 {
    border-collapse: collapse;
    width: 100%;
    font-size: 1rem;
}

.table01 th,
.table01 td {
    padding: 20px;
    border: solid 1px #ccc;
    text-align:center;
    box-sizing:border-box;
    white-space: nowrap;
}

.table01 th {
    background: #FAF4EC;
    font-weight: normal;
}

.table01 th.emphasis {
    border-left: 6px solid #999;
    border-right: 6px solid #999;
    border-top: 6px solid #999;
}

.table01 td.emphasis-1 {
    border-left: 6px solid #999;
    border-right: 6px solid #999;
    border-bottom: 6px solid #999;
}

.table01 td.emphasis-2 {
    border-left: 6px solid #999;
    border-right: 6px solid #999;
}

.table01 td.emphasis-3 {
    border-left: 6px solid #999;
    border-right: 6px solid #999;
    border-bottom: 6px solid #999;
}

.list-number {
    list-style: decimal;
    margin-right: 12%;
    line-height: 1.5rem;
}

.list-number li {
    margin-bottom: 1rem;
    padding-left: 6px;
}

.list-number li::marker {
  color: #999;
}

.wrapper-EmergencyContact {
	background-color: #FAF4EC;
	border:2px dotted #9C6930;
	padding: 30px 20px;
	margin-right: 12%;
	text-align: center;
	border-radius: 0.9rem;
	color: #9C6930;
}


.wrapper-EmergencyContact h8 {
	display: block;
	margin-bottom: 20px;
	font-size: 1.4rem;
}

.wrapper-EmergencyContact p.descText {
	font-size: .9rem;
	line-height: 1.8;
	margin: 0 0 30px 0;
}

.Wrapper-EmergencyTell {
	display: flex;
	justify-content: space-evenly;
}

.wrapper-EmergencyContact .EmergencyTell-Maruku,
.wrapper-EmergencyContact .EmergencyTell-Sonpo {
	display: flex;
	flex-direction: column;
	align-items: center;
    gap: 20px;
}

.wrapper-EmergencyContact h9 {
	display: inline-block;
    background-color: #9C6930;
    padding: 10px 20px;
    border-radius: 20px;
    color: #FFF;
	font-size: .9rem;
}

.wrapper-EmergencyContact a {
	color: #9C6930;
	font-size: 1.8rem;
	line-height: 1;
}

.EmergencyTell-Sonpo .support,
.EmergencyTell-Sonpo .assistant {
	display: flex;
    gap: 10px;
    justify-content: center;
}

.EmergencyTell-Sonpo .assistant {
	margin-top: 20px;
}

.EmergencyTell-Maruku span {
	display: block;
	font-size: 1rem;
	line-height: 1.2;
}

.EmergencyTell-Sonpo span {
	display: block;
	font-size: 1rem;
	line-height: 1.2;
	min-width: 230px;
	text-align: left;
}


.wrapper-LineContact {
	margin: 40px 12% 0px 0;
	display: flex;
	flex-direction: row;
	gap: 20px;
	color: #06c755;
}

.wrapper-LineContact figure {
	margin: 0;
	max-width: 70px;
    min-width: 70px;
    width: 70px;
}

.wrapper-LineContact .logo-line {
	width: 100%;
	height: auto;
}

.wrapper-LineContact h8 {
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 1.3rem;
}

.wrapper-LineContact .text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}


.wrapper-LineContact .text label {
	display: inline;
	font-size: 1rem;
	text-decoration: underline;
	color: #06c755;
}

.wrapper-LineContact .text label:hover {
	text-decoration: none;
}

.wrapper-LineContact .text .wrapper-line-popup p {
	color: #484848;
	margin: 0;
}

.InsuranceTypes {
	margin: 0 12% 30px 0;
	line-height: 1.5;
	background-color: #FAF4EC;
	padding: 30px;
	border-radius: .9rem;
	border:1px solid #CCC;
}

.InsuranceTypes dt {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 1.2rem;
}

.InsuranceTypes dd {
	margin: 0 0 20px 2.5rem;
}

.wrapper-InsuranceConsult {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 12% 0 0;
	justify-content: space-between;
	gap: 50px;
	align-items: center;
	padding-top: 30px;
}

.wrapper-InsuranceConsult h5 {
	margin-right:0;
}

.wrapper-InsuranceConsult h5 span {
	display: block;
	color: #fa7c00;
	font-size: 1.1rem;
	line-height: 1.4;
	margin-bottom: 10px;
}

.wrapper-InsuranceConsult h5 span.under {
	color: #484848;
	margin-top: 20px;
	margin-bottom: 0;
	font-size: 1rem;
}

.wrapper-InsuranceConsult figure {
	max-width: 240px;
	min-width: 140px;
	width: 35%;
}

.wrapper-InsuranceConsult figure figcaption {
	font-size: .9rem;
	line-height: 1.4;
}

.wrapper-InsuranceConsult figure img {
	width: 100%;
}

.InsuranceUpdates {
	margin-right: 12%;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px 15px;
	line-height: 1.4;
	margin-top: 2rem;
}

.InsuranceUpdates dt {
	color: #999;
}

.InsuranceUpdates dd {
	margin: 0;
}

.InsuranceUpdates dd a {
	color: #484848;
	text-decoration: underline;
}

.InsuranceUpdates dd a:hover {
	color: #9C6930;
	text-decoration: none;
} 

/* 常にレイアウトは存在させる（displayは固定） */
.modal {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	inset: 0;
	z-index: 1000;

	/* ここで非表示制御 */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition: opacity .25s ease, visibility 0s linear .25s;
}

/* open時 */
.modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transition: opacity .25s ease, visibility 0s;
}

.modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity .25s ease;
}

.modal__content {
	background: #fff;
	padding: 30px;
	max-width: 600px;
	width: 70%;
	position: relative;
	z-index: 1;
	max-height: 80vh;
	overflow-y: auto;
	opacity: 0;
	transform: translateY(12px) scale(0.98);
	transition: opacity .25s ease, transform .25s ease;
	border-radius: 8px;
}

.modal__content h3 {
	font-size: 1rem;
}

.modal__content h2 {
	font-size: 1.4rem;
	line-height: 1.4;
}

.modal__content p {
	margin-right: 0;
}

.modal__content img {
	max-width: 100%;
}

/* open時の“ふわっ” */
.modal.is-open .modal__overlay {
	opacity: 1;
}
.modal.is-open .modal__content {
	opacity: 1;
	transform: translateY(0) scale(1);
}

/* 動き控えめ設定 */
@media (prefers-reduced-motion: reduce) {
	.modal,
	.modal__overlay,
	.modal__content {
		transition: none;
	}
}

.review-block {
	display: flex;
	margin: 0 12% 0 0;
	gap: 30px;
	flex-direction: column;
    align-items: baseline;
}

.wrapper-review {
	position: relative;
	background: #EAEAEA;
	padding: 30px;
	border-radius: 12px;
	display: inline-block;
	line-height: 1.5;
	margin: 0 0 0 20px;
}

/* 吹き出しの三角 */
.wrapper-review::after {
	content: "";
	position: absolute;
	left: -15px;
	top: 25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 15px 16px 0;
	border-color: transparent #EAEAEA transparent transparent;
}




/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お申込みの流れ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-flow {
    background-image: url("../img/flow-header.jpg");
    opacity: 0;
}

.basic-left h2 span {
    color: #9C6930;
    display: block;
    font-size: 1rem;
    margin-bottom: 0.7rem;
}

.wrapper_left_right {
    display: flex;
    margin-right: 12%;
}

.wrapper_left_right .left {
    width: 50%;
    padding-right: 5%;
}

.wrapper_left_right .left .tel {
    font-size: 3rem;
    line-height: 3rem;
    white-space: nowrap;
    margin-bottom: 0.7rem
}

.wrapper_left_right .left .tel a {
    color: #484848;
}

.wrapper_left_right .left p {
    line-height: 1.4rem;
    margin: 0;
    font-size: 1rem;
}

.wrapper_left_right .left .fax {
    font-size: 1.8rem;
    margin-top: 1.7rem;
}

.wrapper_left_right .right {
    width: 50%;
    padding-right: 5%;
}

.wrapper_left_right .right .first_btn {
    margin-bottom: 1rem;
}

.list-circle {
    list-style: circle;
    margin-right: 12%;
    line-height: 1.5rem;
    margin-top:3rem;
}

.list-circle li {
    margin-bottom: 1.5rem;
}

.list-circle li::marker {
    color: #9C6930;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　施工実績
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-work {
    background-image: url("../img/work-header.jpg");
    opacity: 0;
}

.wrapper_worklist {
    padding: 0 3.4%;
    opacity: 0;
    position: relative;
}

.wrapper_worklist #work-list {
    width: 100%;
    overflow: auto;
    flex-wrap: wrap;
    justify-content: center;
}

.wrapper_worklist #work-list article {
    width: 300px;
    max-width: 300px;
    margin: 0 1.2% 3rem;
}

.wrapper_worklist #work-list article figure {
    display: inline-block;
    width: 300px;
    height: 300px;
}

.wrapper_worklist #work-list article h1,
.wrapper_worklist #work-list article p {
    max-width: 300px;
}

.without_work {
    padding-top:0;
    position: relative;
    top: 400px;
     margin-bottom: 400px;
}

.pager {
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 3rem 0 0 0;
    padding: 0;
}

.pager li {
    width: 42px;
    height: 42px;
    margin: 0 3px;
    border-radius: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transition: all 0.3s;
}

.pager a{
    color: #999;
    pointer-events: auto;
}

.pager li:hover {
    background-color: #CDCDCD;
}

.pager a:hover {
    color: #FFF;
}


.pager li.active {
    background-color: #999;
}

.pager li.active a ,
.pager li.active span {
    color: #FFF;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お客様の声
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-review {
    background-image: url("../img/reviews-header.jpg");
    opacity: 0;
}

.wrapper_review {
    opacity: 0;
    padding: 0 10%;
    text-align: center;
    line-height: 1.8rem
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　企業情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-company {
    background-image: url("../img/company-header.jpg");
    opacity: 0;
}

.signature {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 3rem;
}

.signature span {
    font-size: 0.8rem;
    padding-right: 20px;
}

.company-table  {
    line-height: 1.6rem;
}

.company-table td {
    text-align: left;
}

.company-table th,
.company-table td {
    white-space: normal;
    vertical-align: top;
}

.wrapper_equipment {
    display: flex;
    margin-right: 12%;
}

.wrapper_equipment .text {
    width: 100%;
}

.wrapper_equipment .text h3 {
    margin-top: 0;
}

.wrapper_equipment .text p {
    margin-right: 0;
}

.wrapper_equipment figure {
    margin: 0 0 0 9%;;
}

.wrapper_equipment figure img {
    border-radius: 0.9rem;
}

.border_equipment {
    border-top:1px solid #CCC;
    margin: 60px 0;
    height: 0;
}

dl.history {
    display: flex;
    list-style: none;
    margin: 1rem 12% 0 0;
    font-size: 1.2rem;
    line-height: 1.8rem;
}

dl.history dt {
    color: #999;
    white-space: nowrap;
    margin-left: 3%;
}

dl.history dd {
    margin-left: 3%;
}

.border_history {
    border-top:1px solid #CCC;
    margin: 30px 0;
    height: 0;
}

.googlemap {
    height: 640px;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　よくある質問
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-faq {
    background-image: url("../img/faq-header.jpg");
    opacity: 0;
}

.faq_page {
    line-height: 1.8rem;
}

.faq_page .p-accordion {
    margin-inline: auto;
    display:block;
    margin-left: 0;
}

.faq_page .p-accordion__head {
    margin: 2rem 12% 10px 1rem;
}

.faq_page .p-accordion__head-inner {
    align-items: baseline;
}

.faq_page .p-accordion__input .p-accordion__content {
    padding: 0 12% 0 1rem;
}

.faq_page .p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head + .p-accordion__content {
    padding: 1rem 12% 0 1rem;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　求人情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-recruit {
    background-image: url("../img/recruit-header.jpg");
    opacity: 0;
}

.recruit-table  {
    line-height: 1.6rem;
}

.recruit-table td {
    text-align: left;
}

.recruit-table th,
.recruit-table td {
    white-space: normal;
    vertical-align: top;
}

.mw_wp_form {
    margin-top: -150px;
    padding-top: 150px;
}

.confirm-text {
    display: none;
}

.mw_wp_form_confirm .confirm-text {
    display: block;
    text-align: center;
    margin-bottom: 3rem;
}

.wrapper_form {
    margin: 0 12% 0 0;
    font-size: 1rem;
    line-height: 1.4rem;
}

.wrapper_form-inner {
    display: flex;
    width: 100%;
}

.wrapper_form-inner .form-left,
.wrapper_form-inner .form-right {
    width: 50%;
}

.wrapper_form-inner .form-left {
    padding-right: 2%;
}

.wrapper_form-inner .form-right {
    padding-left: 2%;
}

.wrapper_form-inner .inner-left-right {
    display: flex;
}

.wrapper_form-inner .inner-left-right .inner-left,
.wrapper_form-inner .inner-left-right .inner-right {
    width: 50%;
}

.wrapper_form-inner .inner-left-right .inner-left {
    padding-right: 2%;
}

.wrapper_form-inner .inner-left-right .inner-right {
    padding-left: 2%;
    position: relative;
}

.wrapper_form p, 
.wrapper_form div.inputBox {
    margin: 0.6rem 0 1.2rem;
    position: relative;
    min-height: 0.1rem;
}

/* 確認画面用 */
.mw_wp_form_confirm div.inputBox {
    width: 100%;
    background: rgba(128, 128, 128, .2);
    padding: 0.8rem 1rem;
    font-size: 1.2rem;
    line-height: 1.8rem;
    border-radius: 0.2rem;
    box-sizing: border-box;
    min-height: 55px;
    word-wrap: break-word;
}

.wrapper_form label {
    margin-right: 5px;
    vertical-align: bottom;
}

.mw_wp_form_confirm .wrapper_form label {
    margin-bottom: 5rem;
}

.wrapper_form input,
.wrapper_form select,
.wrapper_form textarea {
    display: block;
    width: 100%;
    border: none;
    background: rgba(128, 128, 128, .2);
    border-color: rgba(128, 128, 128, .2);
    padding: 0.8rem 1rem;
    font-size: 1.2rem;
    line-height: 1.8rem;
    border-radius: 0.2rem;
    box-sizing: border-box;
}

.wrapper_form select {
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を無効 */
}

.wrapper_form select::-ms-expand {
    display: none; /* デフォルトの矢印を無効(IE用) */
}

.wrapper_form select {
  background-image:url("../img/icon-select.png");
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 8px;
}

.wrapper_form .form-button {
    text-align: center;
}

.wrapper_form .form-button input {
    display: inline-block;
    margin-right: 2rem;
    margin-left: 2rem;
}

.unit {
    position: absolute;
    left: 85%;
    font-size: 1rem;
    top: 20%;
    opacity: 0.7;
}

.badge {
    display: inline-block;
    padding: 0.2rem 0.4rem;
    font-size: .8rem;
    line-height: 1rem;
    color: #fff;
    border-radius: 0.25rem;
    background-color: #C7893E;
}

.textare-adjust {
    padding-right: 7%;
}

input.submit_btn {
    margin: 3rem auto;
    padding: 1.5rem 2.2rem;
    cursor: pointer;
    border-radius: 44px;
    border: none;
    background-color: #999;
    color: #FFF;
    transition: all 0.3s;
    width: auto;
    font-size: 1rem;
}

input.submit_btn:hover {
    background-color: #9C6930;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お問い合わせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-contact {
    background-image: url("../img/contact-header.jpg");
    opacity: 0;
}

.contact-page .tel {
    font-size: 3.6rem;
    line-height: 1rem;
    margin: 3rem 12% 1rem 0;
}

.contact-page .tel span {
    font-size: 1.2rem;
    line-height: 1.5rem;
    padding-left: 20px;
}


.contact-page .fax {
    font-size: 2rem;
    line-height: 2,4rem;
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　簡単お見積もり
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-estimate {
    background-image: url("../img/estimate-header.jpg");
    opacity: 0;
}

.wrapper_flow_estimate {
    margin-top: 4rem;
}

.flow_estimate {
    display: flex;
    margin: 2rem 12% 2rem 0;
    align-items: flex-start;
}

.flow_estimate .flow_number {
    background-color: #999;
    text-align: center;
    margin: 0 3% 0 0;
    font-size: 2.5rem;
    line-height: 2.5rem;
    padding: 2.5rem;
    border-radius: 0.9rem;
    color: #fff;
}

.flow_estimate .flow_description h3 {
    margin: 0;
    font-size: 1.8rem;
    line-height: 2.5rem;
}

.flow_estimate .flow_description p {
    margin: 0.5rem 0;
}

.flow_icon {
    text-align: center;
    margin-right: 12%;
}

.flow_icon img {
    width: 40px;;
}

.line_btn {
    color: #06C755;
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.8rem;
    width: fit-content;
    transition: all 0.3s;
}

.line_btn img {
    margin-right: 10px;
    width: 36px;
}

#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popup-open:hover {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
    color: #06C755;
    opacity: 0.5;
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
    max-width: 80vw;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 0.9rem;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    max-height: 80%;
}

.popup-text {
    margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: 26px;
  right: 26px;
}

.popup-close2 {
    display: none;
}

.wrapper-line-popup {
    text-align: center;
    padding: 40px;
}

.wrapper-line-popup figure {
    margin: 0;
}

.wrapper-line-popup figure img {
    width: 198px;
    margin-bottom:2rem;
}

.flow_estimate .flow_description .wrapper-line-popup h3 {
    font-size: 2rem;
    line-height: 2.5rem;
    margin: 0rem 0 2rem 0;
}

.wrapper-line-popup ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #06C755;
    font-size: 2rem;
}

.wrapper-line-popup ul li {
    padding: 2rem 3rem;
}

.wrapper-line-popup ul li.borderline {
    padding: 0;
    width: 1px;
    background-color: #ccc;
    min-height: 140px;
}

.flow_note {
    color: #ED1C24;
    padding: 1.5rem 2rem;
    border: 1px dotted #ED1C24;
    margin-right: 12%;
    font-size: 1.2rem;
    line-height: 1.8rem;
    margin-top: 4rem;
}

.wrapper_photo_estimate {
    display: flex;
    margin-right: 12%;
    margin-top: 3rem;
}

.wrapper_photo_estimate .left,
.wrapper_photo_estimate .right {
    width: 50%;
    text-align: center;
}

.wrapper_photo_estimate figure {
    margin: 2rem 40px;
}

.damage_photo {
    width: 100%;
}

.wrapper-table-refer {
    margin:4rem 12% 0 0;
}

table.table_refer {
    border-collapse: collapse;
    width: 100%;
    font-size: 1rem;
}

.table_refer th {
    background: #FAF4EC;
    font-weight: normal;
    line-height: 1.5rem;
}

.table_refer th, 
.table_refer td {
    padding: 20px;
    border: solid 1px #ccc;
    text-align: center;
    box-sizing: border-box;
}

.table_refer td.desc {
    text-align: left;
    width: 40%;
    vertical-align: top;
}

.table_refer td.desc h3 {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin: 0.5rem 0 1rem 0;
}

.table_refer td.desc p {
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 0;
}

.table_refer td.photo {
    width: 30%;
}

.table_refer td.photo img {
    width: 100%;
}

.table_refer td.photo span {
    display:none;
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

.info_on_basic_left .email {
    text-align: center;
    border: 1px dashed#333;
    padding: 1rem;
    letter-spacing: 0.2rem;
}

.wrapper_form div.uploading {
    margin: 1.3rem 0;
}
.wrapper_form .mwform-file-delete {
    position: absolute;
    right: 2%;
    top: 10%;
}

.wrapper_form input.uploading {
    margin: 0;
    padding: 0;
}

input[type='file'] {
  color: #999;
  border-radius: 0.2rem;
  padding-right: 0.5rem;
  width: 100%;
}

::file-selector-button,
::-webkit-file-upload-button {
    color: rgba(255,255,255,1.00);
    border: none;
    cursor: pointer;
    padding: 0.4rem 1rem;
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem;
    margin-right: 1rem;
    background-color: #B3B3B3;
}

::file-selector-button:hover,
::-webkit-file-upload-button:hover {
    background-color: #666;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お知らせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-news {
    background-image: url("../img/news-header.jpg");
    opacity: 0;
}

dl.news {
    display: flex;
    list-style: none;
    margin: 1rem 12% 0 0;
    font-size: 1.2rem;
    line-height: 1.8rem;
}

dl.news dt {
    color: #999;
    white-space: nowrap;
    margin-left: 3%;
}

dl.news dd {
    margin-left: 6%;
}

dl.news dd a {
    color: #8C6239;
}

dl.news dd a:hover {
    color: #9C6930;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　シングルページ（WOKR＆NEWS）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignright {
    display: block;
    margin-left: auto !important;
    text-align: right !important;
}

.alignleft {
    display: block;
    margin-right: auto !important;
    text-align: left !important;
}

@media screen and (max-width: 519px) {
   .alignright {
        margin-left: 0  !important;
        text-align: center !important;
    }

    .alignleft {
        margin-right: 0  !important;
        text-align: center !important;
    }
}

/* 画像のキャプションを中央揃えにする */
.wp-caption-text {
    text-align: center;
}

.wrapper_single {
    display: flex;
    justify-content: flex-end;
    position: relative;
    opacity: 0;
}

.wrapper_single .left {
    width: 82.24%;
    margin:0 5.33% 0 12.43%;
    overflow: auto;
}

.wrapper_single .left h1 {
    font-size: 2rem;
    line-height: 2.8rem;
    margin: 0;
    font-weight: normal;
}

.wrapper_single .left .date {
    color: #999;
}

figure.thumb_single {
    width: 100%;
    margin: 3em 0;
    text-align: center;
}

figure.thumb_single img.vertical {
    width: 100%;
    border-radius: 0.9rem;
}

figure.thumb_single img.horizontal {
    max-width: 100%;
    max-height: 700px;
    border-radius: 0.9rem;
}

.article-content {
    width: 100%;
    margin: 3rem 0;
}

.article-content h2 {
    font-size: 1.8rem;
    line-height: 2.4rem;
    color: #484848;
    font-weight: normal;
}

.article-content h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: normal;
}

.article-content h4 {
    font-size: 1.3rem;
    line-height: 1.8rem;
    font-weight: normal;
}

.article-content h5 {
    font-size: 1.2rem;
    line-height: 1.6rem;
    text-align: center;
    padding: 2rem 1.5rem;
    border-bottom: 1px solid #CCC;
    border-top: 1px solid #CCC;
    margin: 5rem 0;
    font-weight: normal;
}

.article-content figure ,
.wp-caption {
    width: 100% !important;
    margin: 3em 0;
    text-align: center;
}

.article-content figure img ,
.wp-caption img {
    border-radius: 0.9rem;
    max-width: 100%;
    max-height: 700px;
    width: auto;
    height: auto;
}

figcaption {
    text-align: center;
    margin: 1rem 0;
}

.article-content a {
    color: #8C6239;
}

.article-content .align-right {
    text-align: right;
}

.pager-single {
    padding: 2rem 2rem 3rem 2rem;
    margin: 6rem 0 1rem 0;
    text-align: center;
    font-size: 1rem;
    background-color: #eee;
    border-radius: 0.9rem;
}

.pager-single-dl {
    margin: 0 0 2.5rem 0;
    line-height: 1.5rem;
}

.pager-single-dl dt {
    font-size: 0.8rem;
    margin: 1.5rem 0 0.5rem 0;
}

.pager-single-dl dt span {
    display: inline-block;
    padding: 3px 15px;
    background-color: #B3B3B3;
    color: #FFF;
    border-radius: 3rem;
    line-height: 1rem;
    width: 50px;
}

.pager-single-dl dd {
    margin: 0
}

.pager-single a.btn-work {
    border:1px solid #CCC;
    padding: 15px 30px;
    margin: 0;
    border-radius: 3rem;
    display: inline-block;
    background-color: #FFF;
    transition: all 0.3s;
}

.pager-single a.btn-work:hover {
    background-color: #8C6239;
    border:1px solid #8C6239;
    color: #FFF;
    opacity: 1;
}

.wrapper_single .right {
    width: 50.4%;
}

.wrapper_single .right h2 {
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 4.8rem;
    line-height: 4.8rem;
    margin: 0 15% 0 30px;
    color: #EAEAEA;
}

.wrapper_single .right .jap {
    color: #999;
    margin: 1em 15% 1em 30px;
}

dl.latest_works {
    display: flex;
    margin: 0;
    border-bottom: 1px dashed #CCC;
}

dl.first-child {
    border-top: 1px solid #CCC;
}

.latest_works dt {
    padding: 30px;
}

.latest_works dt figure {
    width: 120px;
    height: 120px;
    margin: 0;
    border-radius: 0.9rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.latest_works dd {
    width: 100%;
    padding: 30px 18% 30px 0;
    margin: 0;
}

.latest_works h1 {
    font-size: 1.2rem;
    line-height: 1.6rem;
    font-weight: normal;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.latest_works .date {
    font-size: 1rem;
    line-height: 1.4rem;
    margin-bottom: 0;
}

.latest_works dd a {
    color: #484848;
}

.latest_works dd a:hover {
    color: #9C6930;
}

.latest_news {
    padding: 30px 18% 30px 30px;
    border-bottom: 1px dashed #CCC;
}

.news-first-child {
    border-top: 1px solid #CCC;
}

.latest_news .date {
    color: #999;
    font-size: 0.9rem;
    line-height: 1rem;
    margin: 0;
}

.latest_news h1 {
    font-size: 1.1rem;
    line-height: 1.5rem;
    font-weight: normal;
    margin: 0.5rem 0 0 0;
}

.latest_news h1 a {
    color: #8C6239;
}

.latest_news h1 a:hover {
    color: #9C6930;
}

.link-category {
    margin: 2rem 0 0 30px;
    display: inline-block;
}

.link-category a {
    background:url("../img/icon-arrow-orange.png") no-repeat;
    background-size: 8px;
    font-size: 1rem;
    padding-left: 18px;
    background-position-y: center;
    color: #999;
    transition: all .3s;
}

.link-category a:hover {
    color: #9C6930;
    background-position-x: 5px;
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　サブページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.header-sub {
    background-image: url("../img/sub-header.jpg");
    opacity: 0;
}

.sub-page .basic-right {
    margin-bottom: 100px
}

.wrapper-air-img {
	align-items: center;
	justify-content: center;
	gap: 60px;
	margin: 0 12% 0 0;
    padding: 30px 0;
}

.wrapper-air-img img.logo {
	max-width: 360px
}

.wrapper-air-img img.certificate {
	max-width: 200px
}

dl.AccidentScene {
	width: 88%;
	align-items: flex-start;
}

dl.AccidentScene dt {
	width: 24%;
	margin: 0 20px 30px 0;
	padding: 6px 0;
}

dl.AccidentScene dd {
	width:  calc(76% - 20px);
	margin-bottom: 30px;
	padding: 6px 0;
}

dl.AccidentScene dd ul {
	padding: 0 0 0 24px;
}



/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

タブレット横：960〜1366px

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 1365px) {
    
header div.right dl dt.low-priority,
header div.right dl dd.low-priority{
    display: none;
}

#toggle-apperance header #wrapper-menu #area-photo {
    display: 30%;
}

#toggle-apperance header #wrapper-menu #area-menu {
    width: 70%;
}
 
.pc_br {
   display: none;
}

div.wrapper-left figure, div.wrapper-right figure {
    width: 100%;
}
    
.wrapper-left, .wrapper-right {
    padding-bottom: 120px;
}
    
.service01,
.service02,
.service03,
.service04,
.service05 {
    padding: 50px 6% 0 6%;
    min-width: auto;
}
    
#wrapper-line figure img {
    width: 180px;
}

#wrapper-line h3 {
    font-size: 2.2rem;
    line-height: 2.8rem;
}
    
#wrapper-line ul li {
    padding: 4rem 5rem;
}    

footer {
    padding: 120px 6%;
}

address {
    padding: 2rem 2.4rem;
}
    
.btn-contact a {
    padding: 2rem 2.4rem;
}

footer .global-menu dt {
    display: none;
}

footer .global-menu dd {
    float:none;
    white-space: normal;
    line-height: 1.3rem;
}

#footer-wrapper-bottom .company-info {
    flex-wrap: wrap;
}
    
#footer-wrapper-bottom .company-info .logo-sideways {
    width: 150px;
}
    
#footer-wrapper-bottom ul li {
    margin-left: 1.5rem;
}

	
.pc_br3 {
   display: none;
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　サービス（下層ページ基本）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.basic-left h3 {
    margin: 40px 0;
    font-size: 1.8rem;
}

.wrapper-air-img {
	gap: 40px;
}

.wrapper-air-img img.logo {
	max-width: 300px
}

.wrapper-air-img img.certificate {
	max-width: 180px
}
	
.EmergencyTell-Sonpo .support,
.EmergencyTell-Sonpo .assistant {
	flex-direction: column;
}
	
	.EmergencyTell-Sonpo span {
		text-align: center;
	}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お申込みの流れ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.wrapper_left_right .left .tel {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

.wrapper_left_right .left .fax {
    font-size: 1.6rem;
    margin-top: 1.5rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　企業情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.wrapper_equipment figure {
    margin: 0 0 0 4%;
}
    
.wrapper_equipment figure img {
    width: 300px;
}
    
.googlemap {
    height: 480px;
}
    

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　求人情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.info_on_basic_left .tel {
    font-size: 2rem;
    line-height: 2.4rem;
    margin: 0 0 1rem 0;
}
    

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お問い合わせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/


.contact-page .tel {
    line-height: 5rem;
    margin: 1rem 12% 2rem 0;
}
    

.contact-page .tel span {
    display: block;
    padding: 0;
}


.contact-page .fax {
    font-size: 2rem;
    line-height: 2,4rem;
}


    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　簡単お見積もり
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
 
    
.wrapper-line-popup figure img {
    width: 180px;
}
    
.wrapper-line-popup ul li {
    font-size: 1.6rem;
}

    
.wrapper-line-popup .line-btn {
    width:190px;
}
    
.wrapper-line-popup .line-qr {
    width: 120px;
}
    
.popup-text {
    min-width: 80vw;
}
    
.table_refer td.desc {
    width: 30%;
}
    
.table_refer td.photo {
    width: 35%;
}
    

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　シングルページ（WOKR＆NEWS）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.wrapper_single .right h2 {
    font-size: 3.6rem;
    line-height: 3.6rem;
    margin: 0 15% 0 10px;
}

.wrapper_single .right .jap {
    margin: 0.5em 15% 0.5em 10px;
}
    
.latest_works dt {
    padding: 20px 20px 20px 10px;
}
    
.latest_works dt figure {
    width: 100px;
    height: 100px;
    border-radius: 0.6rem;
}
    
.latest_works dd {
    padding: 20px 15% 20px 0;
}

.latest_works h1 {
    font-size: 1.1rem;
    line-height: 1.5rem;
}
    
.latest_works .date {
    margin: 0.7rem 0;
}
    
.latest_news {
    padding: 30px 18% 30px 10px;
}
    
.link-category {
    margin: 2rem 0 0 10px;
}
    
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

タブレット縦：520〜960px

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 959px) {


header div.right dl {
    display:none;
}

#toggle-apperance header #wrapper-menu #area-photo {
    display:none;
}

#toggle-apperance header #wrapper-menu #area-menu {
    width: 100%;
}
    
#toggle-apperance header #wrapper-menu .menu-colmun {
    padding: 60px 10px 10px 10px;
}
    
.banner-estimate {
    display: none;
}
    
#scroll_banner {
    display: none !important;
    }
    
.title-head1, .title-head2 {
    font-size: 4rem;
    padding: 0;
    line-height: 4rem;
    flex-direction: column;
}

.title-head1 span, .title-head2 span {
    margin: 0;
    font-size: 1rem;
    line-height: 1rem;
}

.title-head1 img, .title-head2 img {
    width: 180px;
}
    
.wrapper-left {
    flex-direction: column-reverse;
    align-items: flex-end;
}

.wrapper-right {
    flex-direction: column;
}

    
.service01, .service02, .service03, .service04, .service05 {
    top:20px;
    padding: 10px 10% 0 10%;
    background-size: 30%;
    width: 100%;
    box-sizing: border-box;
}

.service02, .service04 {
    background-position: top left;
}    

    
div.wrapper-left figure, div.wrapper-right figure {
    width: 90%;
}
    
#latest-works {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}


#work-list {
    width: 90vw;
}

#work-list article {
    margin-right: 20px;
    width: 240px;
}

#work-list article .thumb,
#work-list article .thumb2,
#work-list article .thumb3 {
    width: 240px;
    height: 240px;
}

#controller {
    width: 100vw;
    text-align: center;
}
   
#controller ul {
    writing-mode: initial;
    display: block;
    margin-top: 2.5rem;
}

#controller ul .mobile {
    display: inline-block;
}

#controller ul a.text-btn {
    padding: 0;
    border:none;
    color: #C7893E;
    margin: 20px 0 ;
}

#controller ul li button:hover,
#controller ul li a:hover {
    background-color: #FFF;
    cursor: auto;
}

#controller ul li button:hover img {
    animation: none !important;
}

#wrapper-recruit {
    flex-direction: column;
    align-items: center;
    padding: 0 10%;
    top: -20px;
}

#wrapper-recruit h2, #wrapper-recruit p  {
    -ms-writing-mode: initial;
    writing-mode: initial;
    text-align: center;
}
    
#wrapper-recruit h2 {
    margin-bottom: 2rem;
    max-width: 100%;
}

#wrapper-recruit p {
    margin: 0;
    text-align: left;
    max-width: 100%;
}

#wrapper-recruit figure {
    margin: 2rem 0;
    width: 100%;
}
 
    
#wrapper-recruit img.recruit-img {
    width: 100%;
    border-radius: 0.9rem;
}

#wrapper-recruit .button-01 {
    position:relative;
    bottom: initial;
    left: initial;
}
    
.pc_br2 {
   display: none;
}

#wrapper-faq {
    margin: 0 4vw;
}
    
#wrapper-faq dl {
    width: 48%;
}
    
.wapper-button-01 {
    text-align: center;
    margin: 3rem 0 0 0;
}

#wrapper-news {
    display:block;
}
    
#wrapper-news figure {
    display: none;
}
    
.wrapper-news-right {
    margin-left: 0;
    padding-bottom: 200px;
    text-align: center;
}
    
#wrapper-news ul {
    width: 100vw;
}
    
#wrapper-news ul li {
    padding: 2rem 6rem;
    text-align: left;
}
    
#wrapper-news div.button-01 {
    margin: 0 auto;
}

#wrapper-line ul {
    flex-direction: column;
}
    
#wrapper-line ul li {
    padding: 2rem 1rem;
}
    
#wrapper-line ul li.borderline {
    display: none;
}  

footer {
    padding: 60px 6%;
}
    
#footer-wrapper-top {
    display: block;
}

address {
    text-align: center;
}
    
footer .global-menu {
    display: none;
}

.btn-contact {
    text-align: center;
}
    
#footer-wrapper-bottom {
    margin-top: 60px;
    flex-direction: column;
}

#footer-wrapper-bottom .company-info .logo-sideways {
    width: 180px;
    margin-right: 0;
}
    
#footer-wrapper-bottom .company-info {
    flex-direction: column-reverse;
    margin-bottom: 2rem;
}
    
#footer-wrapper-bottom .icons-sns {
    margin-left: 0;
    margin-bottom: 1rem;
}
    
#footer-wrapper-bottom .icons-sns img {
    width: 30px;
    margin: 0 10px;
}
    
#footer-wrapper-bottom ul li {
    margin-left:0;
    text-align: center;
    margin: 0 0.5rem;
}
    
.copyrights {
    display: block !important;
}
    
/*========================================================================
  Accordion Q&A
========================================================================*/

.p-accordion {
    display:block;
    margin: 0 10%;
}

.qa-left, .qa-right {
    width: 100%;
}

.qa-right {
    margin-top: 2rem;
}
    
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　下層ページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

#wrapper-subpage-header {
    margin-bottom: 180px;
}

.header-multiply {
    justify-content: center;
    flex-direction: column-reverse;
}

#wrapper-subpage-header h2,
#wrapper-subpage-header h3 {
    color: #fff;
    display: block;
    margin: 0;
}

#wrapper-subpage-header h2 {
    font-size: 1.1rem;
    margin-right: 0;
}

#wrapper-subpage-header h3 {
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 4rem;
    margin-right: 0;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
    color: transparent;
    padding: 100px 0 20px 0;
}

.loop {
    line-height: 0.89em;
}
    
.info_on_basic_left .description {
    font-size: 1rem;
    line-height: 1.5rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　当社の特長
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/


.features01 {
    padding: 70px 10% 0 10%;
}

.features02 {
    padding: 70px 10% 0 10%;
}

.features03 {
    padding: 70px 10% 0 10%;
}

.features01, .features02, .features03  {
    background-size: 54%;
    width: 80%;
}

.wrapper-left-features {
    flex-direction: column;
    align-items: flex-end;
}

.wrapper-right-features {
    flex-direction: column-reverse;
    align-items: flex-start;
}

div.wrapper-left-features figure, div.wrapper-right-features figure {
    width: 90%;
}    

    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/©
 　サービス（下層ページ基本）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

#wrapper-subpage-header {
    margin-bottom: 100px;
}    

.wrapper-basic-section {
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}

.services-main-img {
    border-radius: 0.9rem;
    margin: 20px 0;
}

.basic-left {
    width: 100%;
    text-align: center;
    padding: 0;
}

.basic-left.sticky {
    position: static;
}

.basic-right,
.thanks-comment {
    width: 76vw;
}
    
.basic-right p {
    margin-right: 0;
}

.basic-left h2 {
    text-align: center;
    padding: 20px 40px;
    display: inline-block;
    font-size: 1rem;
    border-radius: 0.9rem;
    background-color: #CDB399;
    color: #fff;
}

.bottom_space {
    margin-bottom: 1rem;        
}

.basic-left h3 {
    writing-mode:initial;
    text-orientation: initial;
    margin: 1.5rem 12%;
    position: initial;
    font-size: 2rem;
    width: auto;
}

.basic-right h4 {
    text-align: center;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}

.basic-right h4 span {
    padding: 10px 30px;
}

.basic-right h5 {
    font-size: 1.6rem;
    margin: 0 0 30px 0;
    line-height: 2.4rem;
    text-align: center;
}

.basic-right h6 {
    display: block;
    text-align: center;
    background-color:#fff;;
    color: #9C6930;
}  

    
.basic-right div.button-01 {
    display: block;
    margin: 3rem auto;
}
    
.table-wrap {
    width: 100%;
}
 
.list-number {;
    margin-right:0;
}
    
.basic-right .wrapper_left_right .left h6,
.basic-right .wrapper_left_right .right h6{
    margin: 1rem 0;
    padding: 0;
}

.list-circle {
    margin-right: 0;
}
	
.wrapper-air-img {
	gap: 30px;
	margin: 0;
}

.wrapper-air-img img.logo {
	max-width: 300px
}

.wrapper-air-img img.certificate {
	max-width: 180px
}
	
dl.AccidentScene {
	width: 100%;
	flex-direction: column;
	align-items: center;
}

dl.AccidentScene dt {
	width: 45%;
	margin: 0 0 10px 0;
}

dl.AccidentScene dd {
	width: 100%;
	text-align: center;
}

dl.AccidentScene dd ul {
	padding: 0;
}
	
dl.AccidentScene dd ul li {
	list-style: none;
}
	
.wrapper-EmergencyContact {
	margin-right: 0;
}

.wrapper-EmergencyContact .EmergencyTell {
	font-size: 2rem;
}

.wrapper-LineContact {
	margin-right: 0;
}
	
.wrapper-LineContact figure {
	max-width: 50px;
    min-width: 50px;
    width: 50px;
}
	
	.Wrapper-EmergencyTell {
		justify-content: center;
		flex-direction: column;
		gap:30px;
	}
	
	
	.InsuranceTypes {
		margin: 0 0 30px 0;
	}
	
	.InsuranceTypes dt {
		text-align: center;
	}
	
	.InsuranceTypes dd {
		text-align: center;
		margin-left: 0;
	}
	
	.wrapper-InsuranceConsult {
		flex-direction:column;
		margin: 0;
		gap:20px;
	}
	
	.wrapper-InsuranceConsult h5 {
		margin: 0;
	}
	
	.InsuranceUpdates {
		margin-right: 0;
		grid-template-columns: 1fr;
		gap: 5px;
	}
	
	.InsuranceUpdates dd {
		margin-bottom: 20px;
	}
	
	.review-block {
		margin: 0 0 0 0;
	}
	
	.wrapper-review {
		padding: 20px;
	}
	
	
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お申込みの流れ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.wrapper_left_right {
    margin-right:0;
    flex-direction: column;
    align-items: center;
}
       
.wrapper_left_right .left,
.wrapper_left_right .right {
    width: 100%;
    padding-right: 0;
    text-align: center;
}
    
.wrapper_left_right .right {
    margin-top: 2rem;
}
 
.wrapper_left_right .right br {
    display:none;
}
    
.wrapper_left_right .right div.button-01 {
    margin: 0 auto;
}
.wrapper_left_right .right .first_btn {
    margin-bottom: 1rem !important;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　施工実績
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.wrapper_worklist {
    top: 0;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　企業情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
h3.top_0 {
    padding-top: 2rem;
}
    
h3.right_12percent {
    margin-right:0
}
    
.wrapper_equipment figure {
    margin: 0 0 0 4%;
}

div.top_0 {
    padding-top: 2rem;
}
    
.wrapper_equipment {
    margin-right: 0;
    flex-direction: column-reverse;
    align-items: center;
    margin-top: 3rem;
}
    
.wrapper_equipment figure {
    margin: 0 auto 2rem auto;
    text-align: center;
}

.wrapper_equipment figure img {
    width: 60%;
}

.wrapper_equipment .text h3 {
    text-align: center;
}

.border_equipment {
    display: none;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　よくある質問
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.faq_page .top_0 {
    margin-top: 1rem !important;
}
    
.faq_page .p-accordion__head {
    margin: 2rem 0 10px 1rem;
}
    
.faq_page .p-accordion__input .p-accordion__content {
    padding: 0 0 0 1rem;
}

.faq_page .p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head + .p-accordion__content {
    padding: 1rem 0 0 1rem;
}
    
.faq_page .basic-right {
    margin-bottom: 100px;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　求人情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.recruit_page .basic-right {
    margin-bottom: 100px;
}    
    
.recruit_page h3 {
    font-size: 2rem;
    padding-top:1rem;
}   

.info_on_basic_left {
    margin: 2rem 12%;
    text-align: center;
}

.info_on_basic_left .tel {
    margin: 0 0 0.5rem 0;
}
    
.wrapper_form {
    margin: 0 0% 0 0;
}
    

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お問い合わせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.contact-page {
    text-align: center;
}
    
.contact-page .tel {
    line-height: 5rem;
    margin-right: 0;
}
    
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　簡単お見積もり
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.flow_estimate,
.flow_icon,
.flow_note {
    margin-right: 0;
}
    
.wrapper-line-popup ul {
    flex-direction: column;
}
    
.wrapper-line-popup ul li.borderline {
    display: none;
}

.popup-window {
    overflow: auto;
    max-height: 80vh;
}

.wrapper_photo_estimate {
    margin-right:0;
}
    
.wrapper-table-refer {
    margin:3rem 0 0 0;
}    

.table_refer td.desc h3 {
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin: 0.5rem 0;
}
    
.table_refer td.desc h3 {
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin: 0.5rem 0;
}
    
table_refer td.desc p {
    font-size: 0.9rem;
    line-height: 1.4rem;
}
    

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お知らせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
dl.news {
    margin: 1rem 0 0 0;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　シングルページ（WOKR＆NEWS）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
        
.wrapper_single {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0 12%;
     top: 0px;
}
    
.wrapper_single .left {
    width: 100%;
    margin: 0;
}
    
.wrapper_single .right {
    width: 100%;
    margin: 10rem 0;
}

.wrapper_single .right h2 {
    font-size: 4rem;
    line-height: 4rem;
    margin: 0;
    text-align: center;
}
    
.wrapper_single .right .jap {
    margin: 0.5rem 0 2rem 0;
    text-align:  center;
}

.latest_works dt {
    padding: 30px;
}
    
dl.first-child {
    border-top: 1px dashed #CCC;
}

.latest_works dt figure {
    width: 120px;
    height: 120px;
    border-radius: 0.9rem;
}

.latest_works dd {
    padding: 40px 30px 30px 0px;
}

    
.latest_works h1 {
    font-size: 1.5rem;
    line-height: 2rem;
}

.link-category {
    margin: 2rem 0;
    display: block;
    text-align: right;
}
    
.latest_news {
    display: flex;
    padding: 30px;
}

.news-first-child {
    border-top: 1px dashed#CCC;
}

.latest_news .date {
    font-size: 1rem;
    line-height: 1.4rem;
    margin: 0 20px 0 0;
}
    
.latest_news h1 {
    font-size: 1rem;
    line-height: 1.4rem;
    margin: 0;
}
 
/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

トップページ新着情報用：520〜760px

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 759px) {
    
div#latest-news {
    padding: 3vh 9%;
    flex-wrap: wrap;
}
    
div#latest-news {
    justify-content: space-between;
}
  
div#latest-news div.slick-slide {
    display:block;
    margin-top: 3vh;
    font-size: 1rem;
}
    
div#latest-news .date {
    margin-left: 0;
    display:inline-block;
    line-height: 1rem;
}

div#latest-news p.category {
    font-size: 1rem;
    line-height: 1rem;
    margin: 0 0 0 0.7rem;
    display:inline-block;
    color: #999;
}
    
div#latest-news p.category::before {
    content: '-';
}
    
div#latest-news p.category a {
    color: #999;
    border:none;
    padding: 0;
    margin-left: 0.7rem;
}
    
div#latest-news p.title {
    margin-top: 0.7rem;
    -webkit-line-clamp: 2;
    min-height: 4rem;
}

div#latest-news p.title a {
    -webkit-line-clamp: 2;
}

.wrapper-air-img {
	flex-direction: column;
}

.wrapper-air-img img.logo {
	max-width: 240px
}

.wrapper-air-img img.certificate {
	max-width: 150px
}
    
}


/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

スマホ：320〜520px

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 519px) {

header {
    width: 96%;
    margin: 10px auto;
    left: 2%;
    display: flex;
    border-radius: 0.9rem;
}

#toggle-apperance header  {
}
    
header div.left {
    margin: 15px 0 15px 20px;
}

header div.right {
    margin: 10px 20px 10px 0;
}
    
 header h1 {
    width: 116px;
}
    
header div.left p {
    font-size: 0.6rem;
    margin-left: 10px;
}

.toggle {
    width: 28px;
    height: 21px;
}
    
.toggle span {
    width: 28px;
    border-bottom: solid 3px #9C6930;
}

.toggle span:nth-child(1) {
    top:0px;
}
 .toggle span:nth-child(2) {
    top:6px;
}
 .toggle span:nth-child(3) {
    top: 12px;
}
 
.toggle.active span:nth-child(1) {
    top: 8px;
}
 
.toggle.active span:nth-child(2) {
    top: 5px;
}

.toggle.active span:nth-child(3) {
    top: 2px;
}

#toggle-apperance header #wrapper-menu {
    display:none;
}
    
#title-menu {
    display: none;
}


#mobile-menu {
    display: block;
    overflow: auto;
    max-height:  84vh;
    border-bottom-right-radius: 0.9rem;
    border-bottom-left-radius: 0.9rem;
}
    
#mobile-menu ul {
    margin: 0 1px;
    list-style: none;
    padding: 0;
    font-size: 1.1rem;
}
    
#mobile-menu ul li {
    background-color:#EEE;
    margin: 0 0 1px 0;
    padding: 0;
}
    
    
#mobile-menu ul li span {
    font-family: 'Anton', sans-serif;
    color: #9C6930;
    opacity: 0.8;
    padding-right: 10px;
    font-size: 1.2rem;
}
    
#mobile-menu ul li a {
    padding: 18px 25px;
    display: block;
    color: #484848;
}

    
#mobile-menu ul.child {
    margin: 1px 0 0 0;
}
    
#mobile-menu ul.child li {
    border-top: 1px solid #fff;
}

#mobile-menu ul.child li a {
    padding: 16px 20px 16px 60px;
}
    
#mobile-menu ul.child li a::before {
    content: "- ";
}

#mobile-menu div.button-02 {
    margin: 20px;
}
    
#mobile-menu ul.sns {
    margin: 30px 100px 40px 100px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
    
#mobile-menu ul.sns li {
    margin:0;
    display: inline-block;
    background-color:#fff;
}
    
#mobile-menu ul.sns li a {
    padding:0;
    display: inline-block;
}

.slider-title {
    font-size: 2.4rem;
    letter-spacing: 0.2rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
    
div.button-01 {
    max-width: 100%;
}
 
.sp_br {
	display: block;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
アコーディオン
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.toggle-mobile-menu {
	display: none;
}
 
.main-menu {
    padding: 18px 25px;
    cursor: pointer;
    display: block;
}
    
.main-menu::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #9C6930;
	border-right: 2px solid #9C6930;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
    
label.main-menu,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.content {		/*本文*/
	height: 0;
	overflow: hidden;
    position: relative;
    top: -20px;
    opacity: 0;
}
    
.toggle-mobile-menu:checked + .main-menu + .content {	/*開閉時*/
	height: auto;
	transition: all .3s;
    top: 0 !important;
    opacity: 1 !important;
}
    
.toggle-mobile-menu:checked + .main-menu::before {
	transform: rotate(-45deg) !important;
}
    
#work-list article h1 {
    font-size: 1.1rem;
    margin-bottom: 5px;
}

#work-list article .date {
    font-size: 0.8rem;
}
    
.qa-left, .qa-right,
#wrapper-news ul {
    font-size: 1rem;
    line-height: 1.5rem;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
トップページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
div#slideshow {
    height: 69vh;
}
    
div#wrapper-firstview {
    height: 100vh;
    width: 100vw;
    margin-top: 90px;
}

.title-head1, .title-head2 {
    font-size: 3rem;
    line-height: 3rem;
    flex-direction: column;
    top: -130px;
    font-family: 'Anton', sans-serif;
}

.title-head1 span, .title-head2 span {
    margin: 0;
    font-size: 1rem;
    line-height: 1rem;
    margin-bottom: 0.5rem;
}

.title-head1 img, .title-head2 img {
    width: 140px;
}
 
.wrapper-left, .wrapper-right {
    padding-bottom: 140px;
}
    
.wrapper-left h3,
.wrapper-right h3 {
    margin: 1rem 0 2rem 0;
    font-size: 1.6rem;
    line-height: 2.1rem;
} 
    
.wrapper-left h2,
.wrapper-right h2 {
    font-size: 1rem;
    text-align: center;
    line-height: 3rem;
    margin-bottom: 30px;
} 
    
.wrapper-left p,
.wrapper-right p {
    font-size: 1rem;
    line-height: 1.8rem;
    margin-bottom: 2rem;
} 
    
.service01, .service02, .service03, .service04, .service05 {
    top: 20px;
    background-size: 30%;
    padding-top: 0;
    background-position: top center;
    margin-top: 1rem;
}
    
#wrapper-recruit {
    margin-bottom: 280px;
}
    
#wrapper-recruit h2  {
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 0 0 2rem 0;
}
    
#wrapper-faq {
    margin: 0;
    display: block;
}

    
#wrapper-faq dl {
    width: 100%;    
}
    
#wrapper-faq dt {
    padding: 0 2rem 10px 1.5rem;
}

#wrapper-faq dt a {
    margin-top: -0.2rem;
}
    
#wrapper-faq dt::before {
    padding: 0.4rem;
    margin-right: 6px;
}
    
#wrapper-faq dd {
    margin: 1rem 2.5rem;
}
    
#wrapper-news ul li {
    display: block;
    padding: 2rem 2.5rem;
}
    
#wrapper-news ul li span {
    display: block;
    margin-bottom: 0.7rem;
}
    
#wrapper-line figure img {
    width: 178px;
    margin-bottom: 40px;
}

#wrapper-line img.line-account {
    width: 184px;
}
    
#wrapper-line h3 {
    font-size: 1.5rem;
    line-height: 2rem;
}
    
#wrapper-line p {
    font-size: 1rem;
    line-height: 1.8rem;
    text-align: left;
}
    
.line-btn {
    width: 174px;
}

footer {
    padding: 30px 6%;
}
   
address {
    padding: 2rem;
    margin-bottom: 1rem;
}
    
address .tel {
    font-size: 2.2rem;
    line-height: 2.2rem;
}

address .fax {
    font-size: 1.4rem;
}
    
address p span {
    display: block;
    height: 0;
    opacity: 0;
    }
    
#footer-wrapper-bottom {
    margin-top: 2rem;
}
    
/*========================================================================
  Accordion Q&A
========================================================================*/

.p-accordion__head {
    cursor: pointer;
    margin: 2rem 0 10px;
}
    
.p-accordion__head-inner::before {
    font-size: 0.7rem;
    padding: 0.6rem;
    line-height: 0.6rem;
    margin-right: 5px;
}
    
.p-accordion__input .p-accordion__content {
    padding: 0;
}
    
.p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head + .p-accordion__content {
    padding: 1rem 0;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　下層ページ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

    
#wrapper-subpage-header {
    height: 210px;
}    
    
.header-multiply {
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
}

.header-multiply::before {
    height:210px;
    opacity: 0.38;
}
    
#wrapper-subpage-header h2 {
    font-size: 1rem;
    margin-right: 0;
}
    
#wrapper-subpage-header h3 {
    font-family: 'Anton', sans-serif;
    font-size: 2rem;
    letter-spacing: 0.2rem;
    margin-right:0;
    padding: 60px 0 0px 0;
}

#wrapper-subpage-header h2, #wrapper-subpage-header h3 {
    display: block;
    margin: 0;
}
    
.common-area {
    margin-top: 50px;
}
    
.container-white {
    padding-bottom: 280px;
}
    
.space-common-top {
    padding-top: 80px;
}
    
.wrapper-loop {
    margin-top: 0;
    width: 200vw;
    font-size: 20vw;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　当社の特長
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/


.features01 {
    padding: 50px 10% 0 10%;
    margin-bottom: -30px;
}

.features02 {
    padding: 50px 10% 0 10%;
    margin-bottom: -30px;
}

.features03 {
    padding: 50px 10% 0 10%;
    margin-bottom: -30px;
}

.features01 h2, .features02 h2, .features03 h2  {
    text-align: center;
    font-size: 1rem;
}
    
.features01 h3, .features02 h3, .features03 h3  {
    font-size: 1.5rem;
    line-height: 2rem;
}

.wrapper-left-features p, .wrapper-right-features p {
    font-size: 1rem;
    line-height: 1.5rem;
    }
    
.features01, .features02, .features03  {
    background-size: 54%;
    width: 80%;
    background-position: top;
}

.wrapper-left-features, .wrapper-right-features {
    align-items: center;
    padding-bottom: 150px;
}
    
div.wrapper-left-features figure, div.wrapper-right-features figure {
    width: 80%;
}
    
.wrapper-left-features .features-img, .wrapper-right-features .features-img  {
    border-radius: 0.9rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　サービス（下層ページ基本）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
    
.basic-left h2 {
    padding: 15px 20px;
}
    
.basic-left h3 {
    margin: 1.5rem 12%;
    font-size:1.5rem;
    line-height: 2rem;
}

.services-main-img {
    margin: 0;
}
    
.basic-right p {
    font-size: 1rem;
    line-height: 1.8rem;
}
    
.basic-right h4 {
    width: 100%;
    margin: 60px 0 20px 0;
    font-size: 1rem;
}
    
.basic-right h5 {
    font-size: 1.4rem;
    line-height: 2rem;
}

.basic-right h6 {
    font-size: 0.9rem
}

.basic-right {
    margin-bottom: 100px;
}

table.table01 {
    font-size: 0.9rem;
}
    
.list-number,
.list-circle {
    font-size: 1rem;
}
    
.wrapper-loop {
    font-family: 'Anton', sans-serif;
    font-size: 33vw;
}

dl.AccidentScene dt {
	width: 65%;
}

.wrapper-LineContact {
	flex-direction: column;
	align-items: center;
}

.wrapper-LineContact figure {
	max-width: 50px;
    min-width: 50px;
    width: 50px;
}

.wrapper-LineContact h8 {
	text-align: center;
	white-space: nowrap;
	margin-bottom: 15px;
}


	.wrapper-EmergencyContact h8 {
		font-size: 1.2rem;
	}
	
	.wrapper-EmergencyContact a {
		font-size: 1.6rem;
	}
	
	.wrapper-InsuranceConsult figure {
		min-width: 210px;
	}
	
	.review-block {
		margin: 3rem 0 1rem 0;
	}
   
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お申込みの流れ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
     
    
.wrapper_left_right .left .tel {
    font-size: 2rem;
    line-height: 2rem;
}
 
.wrapper_left_right .left p {
    line-height: 1rem;
    margin: 0;
    font-size: 0.8em;
}
    
.wrapper_left_right .left .fax {
    font-size: 1.2rem;
    margin-top: 1.1rem;
}

.basic-left h2 span {
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　施工実績
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.wrapper_worklist {
    position: relative;
    top: -50px;
}
    
.wrapper_worklist #work-list article {
    max-width: 150px;
    margin: 0 3% 1rem;
}

.wrapper_worklist #work-list article figure {
    width: 150px;
    height: 150px;
}

.wrapper_worklist #work-list article h1, 
.wrapper_worklist #work-list article p {
    max-width: 150px;
}
 
.wrapper_worklist #work-list article h1 {
    font-size: 1rem;
    line-height: 1.5rem;
}

.without_work {
    padding-top: 0;
    top: 250px;
    margin-bottom: 250px;
}
    
.pager {
    margin: 2rem 0 80px 0;
}
    
.pager li {
    width: 33px;
    height: 33px;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　企業情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
 
#c1 .basic-right h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    padding-top: 1rem;
}

    
.signature img {
    width: 100px;
}
    
div.top_0 {
    padding-top: 1rem;
}
    
#c2 .table01 th, #c2 .table01 td {
    padding: 15px;
    white-space:normal;
}
    
#c2 .table01 th {
    line-height: 1.2rem;
    width: 30%;
}

.wrapper_equipment {
    margin-top: 2rem;
}

.wrapper_equipment figure img {
    width: 80%;
}

.wrapper_equipment .text h3 {
    font-size: 1.6rem;
    margin: 0;
}
    
.wrapper_equipment figure {
    margin: 0 auto 1rem auto;
}
    
dl.history {
    margin: 1rem 0 0 0;
    font-size: 1rem;
    line-height: 1.4rem;
}
    
dl.history dd {
    margin-left: 6%;
}
    
.border_history {
    margin: 20px 0;
}
    
.googlemap {
    margin-top: 1rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　よくある質問
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/    
    
.faq_page .p-accordion {
    font-size: 1rem;
    line-height: 1.5rem;
}    

.faq_page .basic-right {
    width: 82%;
}
    
.faq_page .p-accordion__head {
    margin: 1rem 0 15px 0.3rem;
}
    
.faq_page .p-accordion__input .p-accordion__content {
    padding: 0 0 0 0;
}

.faq_page .p-accordion__input input[name=p-accordion__block]:checked + .p-accordion__head + .p-accordion__content {
    padding: 1rem 0 2rem 0;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　求人情報
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

    
.recruit_page h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    padding-top: 0.5rem;
}    

    
.recruit_page .table01 th, .table01 td {
    padding: 15px;
    white-space:normal;
}
    
.wrapper_form-inner {
    flex-direction: column;
}
    
.wrapper_form-inner .form-left, .wrapper_form-inner .form-right {
    width: 100%;
    padding: 0;
}
    
.wrapper_form input, .wrapper_form select, .wrapper_form textarea {
    margin: 0.6rem 0 1.2rem 0;
    padding: 0.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
}
    
.unit {
    left: 80%;
}
    
input.submit_btn {
    margin: 1rem auto;
    padding: 1rem 1.5rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お問い合わせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.contact-page .tel {
    line-height: 3rem;
    font-size: 2.4rem;
}
    
.contact-page .tel span {
    font-size: 0.9rem;
}
    
.contact-page .fax {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin: 0;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　簡単お見積もり
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
    
.flow_estimate {
    align-items: center;
    flex-direction: column;
}
    
.flow_estimate .flow_number {
    margin: 0;
    font-size: 1rem;
    line-height: 1rem;
    padding: 1rem;
    border-radius: 30px;    
    width: 20px;
    height: 20px;
}

.flow_estimate .flow_description h3 {
    margin: 1rem 0;
    font-size: 1.5rem;
    line-height: 2rem;
}

.line_btn {
    font-size: 1.1rem;
    text-align: center;
    width: 100%;
    justify-content: center;
}

.line_btn img {
    width: 28px;
}

.wrapper-line-popup {
    padding: 20px;
}

.wrapper-line-popup figure img {
    width: 140px;
    margin-bottom: 1rem;
}    

.flow_estimate .flow_description .wrapper-line-popup h3 {
    font-size: 1.8rem;
    line-height: 2rem;
    margin: 0rem 0 1rem 0;
}    

.wrapper-line-popup ul li {
    padding: 1.2rem 1em;
}

.popup-close2 {
    top: 4vh;
    right: 6vw;
}
    
.flow_note {
    padding: 1.2rem;
    font-size: 1rem;
    line-height: 1.6rem;
    margin-top: 2rem;
}
    
.wrapper_photo_estimate {
    display: flex;
    margin-top: 0;
    flex-direction: column;
    align-items: center;
}
    
.wrapper_photo_estimate .left,
.wrapper_photo_estimate .right {
    width: 100%;
}

.wrapper-table-refer {
    width: 100vw;
    position: relative;
    left: -16%;
}
    
.table_refer th {
    display: none;
}
    
.table_refer tr {
    display: flex;
    flex-direction: column;
    align-items: center;
}
    
.table_refer td {
    border:none;
}
    
.table_refer td.desc,
.table_refer td.photo {
    width: 100%;
}
    
.table_refer td.desc {
    background-color: #F2F2F2;
    padding: 2rem 12%;
    margin: 1rem 0;
}

.table_refer td.desc h3 {
    text-align: center;
    margin-top:0;
}

.table_refer td.photo {
    padding: 1rem 18%;
}
    
.table_refer td.photo span {
    display: inline-block;
}

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　お知らせ
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

dl.news {
    font-size: 1rem;
    line-height: 1.5rem;
    flex-direction: column;
}

dl.news dt,
dl.news dd {
    margin-left: 0;
}
    
dl.news dt {
    margin-bottom:0.3rem;
}
    
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 　シングルページ（WOKR＆NEWS）
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

.wrapper_single {
    top: -50px;
     padding: 0;
}

.article-content {
    margin: 2rem 0;
}

.wrapper_single .left {
    padding: 0 12%;
    box-sizing: border-box;
}
    
.wrapper_single .left h1 {
    font-size: 1.5rem;
    line-height: 2rem;
}
    
.wrapper_single .left .date {
    text-align: center;
    font-size: 0.9rem;
}
    
.article-content p {
    font-size: 1rem;
    line-height: 1.8rem;
}

figcaption {
    font-size: 0.9rem;
}
    
.pager-single {
    margin: 2rem 0 0 0;
}

.wrapper_single .right {
    margin: 5rem 0;
    box-sizing: border-box;
}

.wrapper_single .right h2 {
    font-size: 3rem;
    line-height: 3rem;
    font-family: 'Anton', sans-serif;
    padding: 0 12%;
}

.wrapper_single .right .jap {
    margin: 0.5rem 0 1.5rem 0;
    font-size: 1rem;
    line-height: 1rem;
    padding: 0 12%;
}

dl.latest_works {
    width: 100vw;
}
    
dl.first-child {
    border-top: 1px solid #CCC;
}

dl.latest_works {
    border-bottom: 1px solid #CCC;
}
    
.latest_works dt {
    padding: 1.4em 1em 1.4em 1.8em;
}
    
.latest_works dt figure {
    width: 100px;
    height: 100px;
    margin: 0 auto;
}

.latest_works dd {
    padding: 1.4em 1.8em 1.4em 0;
}
   
.latest_works h1 {
    font-size: 1em;
    line-height: 1.4rem;
    -webkit-line-clamp: 3;
}
    
.latest_works .date {
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

.link-category {
    text-align: center;
    padding: 0 12%;
}
    
.news-first-child {
    border-top: 1px solid #CCC;
}
    
.latest_news {
    flex-direction: column;
    width: 100vw;
    box-sizing: border-box;
    border-bottom: 1px solid #CCC;
}
    
.latest_news .date {
    margin: 0;
    font-size: 0.9rem;;
}



    
    
}