@charset "UTF-8";

/************************************************************/
/************************************************************/
/*リセット
/************************************************************/
/************************************************************/


/************************************************************/
/************************************************************/
/*ベース
/************************************************************/
/************************************************************/

body {
    color: #222;
    background: #fff!important;
    overflow-x: hidden;
}
.breadcrumb {
    padding: 30px 0;
    background: #fff;
    border-bottom: 0;
}
.menuBtn__content {
    width: 100%;
    max-width: 100%;
}

/************************************************************/
/************************************************************/
/*レイアウト
/************************************************************/
/************************************************************/

/*ヘッダー
------------------------------------------------------------*/
.l-header {
    padding: 0 0 0 10px;
}
.l-header-clone.is-show {
    box-shadow: 0px 6px 5px -5px rgb(0 0 0 / 30%);
}
.container-header {
    min-height: 70px;
}
.menuBtn {
    text-align: center;
}
.menuBtn__link {
    display: block;
    width: 50px;
    height: 70px;
    line-height: 70px;
    background-color: #f48e2a;
    color: #fff;
    font-size: 14px;
}
.globalNavi {
	margin-left: auto;
}
.siteTitle {
    margin-bottom: 0;
    line-height: 70px;
}
.siteTitle__logo {
    max-width: 100%;
    vertical-align: middle;
}
.widget.widget_nav_menu ul.menu {
    border-bottom: none;
    border-right: none;
    border-left: none;
}
.widget.widget_nav_menu ul.menu a {
    font-size: 16px;
}
.widget.widget_nav_menu ul.menu .nav-btn {
    width: 80%;
    border: none;
    text-align: center;
}
.widget.widget_nav_menu ul.menu .nav-btn a {
    border-radius: 30px;
}
.widget.widget_nav_menu ul.menu .nav-btn_request {
    margin: 30px auto 0;
}
.widget.widget_nav_menu ul.menu .nav-btn_contact {
    margin: 15px auto 0;
}
.widget.widget_nav_menu ul.menu .nav-btn_request a,
.widget.widget_nav_menu ul.menu .nav-btn_request a:hover,
.widget.widget_nav_menu ul.menu .nav-btn_request.current-menu-item > a {
    background: #de3737;
}
.widget.widget_nav_menu ul.menu .nav-btn_contact a,
.widget.widget_nav_menu ul.menu .nav-btn_contact a:hover,
.widget.widget_nav_menu ul.menu .nav-btn_contact.current-menu-item > a {
    background: #222;
}

/*サイドバー(custom)
------------------------------------------------------------*/
.custom-wrap .custom-sidebar {
    border: 0;
}
.custom-sidebar h2 {
    margin: 0 auto 20px;
    padding: 0 10px 10px;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
}
.custom-sidebar h3 {
    margin-bottom: 15px;
}
.sidebar_list {
    margin: 0 0 40px;
}
.sidebar_list li {
    margin: 0 0 15px;
    padding: 0 10px;
    font-size: 15px;
}
.sidebar_list li::marker {
    content: none;
}


/*フッター
------------------------------------------------------------*/
.l-footer {
    background: #222;
}
.l-footer .divider {
    margin: 0 auto;
    padding: 60px 15px 0;
}
.widgetFooter {
    width: 100%;
}
.widgetFooter .widgetFooter__box:nth-child(2){
    display: none;
}
.footer_left {
    padding-bottom: 30px;
    border-bottom: 1px solid #3e3e3e;
    color: #fff;
    font-size: 16px;
}
.footer_left h1 img {
    max-width: 100%;
}
.footer_left h1 a:hover {
    opacity: 0.7;
    transition: 0.3s;
}
.footer_left .address {
    margin: 30px 0;
    padding: 0 10px;
    line-height: 1.85;
}
.footer_left .about {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
}
.footer_left .about dt,
.footer_left .about dd {
    margin-bottom: 5px;
}
.footer_left .about dt {
    width: 90px;
}
.footer_left .about dd {
    width: calc(100% - 90px);
}
.footer-sns_list {
    display: flex;
    align-items: center;
    margin-top: 100px;
}
.footer-sns_list li {
    margin-right: 25px;
}
.footer-sns_list li:last-child {
    margin: 0;
}
.footer-sns_list li a {
    color: #fff;
    font-size: 20px;
}
.widgetProfile__snsLink:hover.icon-twitter,
.widgetProfile__snsLink:hover.icon-instagram,
.profile__link.icon-facebook, .widgetProfile__snsLink:hover.icon-facebook {
    color: #f48e2a;
    background: none;
}
.footer_right .footer_nav {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
    color: #fff;
}
.footer_right .footer_nav_list {
    width: 50%;
}
.footer_right .footer_nav_list li {
    margin-bottom: 25px;
    font-size: 15px;
    font-weight: bold;
}
.footer_right .footer_nav_list_under li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 15px;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
}
.footer_right .footer_nav_list_under li::before {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 10px;
    height: 2px;
    background-color: #fff;
}
.bottomFooter {
    background: #000;
}
.bottomFooter__copyright, .bottomFooter__producer {
    color: #fff;
    text-align: right;
    font-size: 12px;
}
.bottomFooter, .commonCtr__container {
    padding: 30px 0;
}
.footer_bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
}
.bottomFooter__navi {
    margin: 0 0 20px;
}
.bottomFooter__list li {
    font-size: 14px;
    font-weight: normal;
}
.bottomFooter__list li:first-child {
    position: relative;
}
.bottomFooter__list li:first-child::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 1px;
    height: 10px;
    border-right: 1px solid #707070;
}
.bottomFooter__list li a {
    margin: 0 15px;
    border-bottom: 0;
}

/************************************************************/
/************************************************************/
/*共通モジュール(様々な箇所で複数使用するパーツ)
/************************************************************/
/************************************************************/
.d-flex {
    display: flex;
}
.align-items-center {
    align-items: center;
}
.justify-content-end {
    justify-content: flex-end;
}
.flex-wrap {
    flex-wrap: wrap;
}
.fadein {
    opacity : 0;
    transform: translateY(20px);
    transition: all 4s;
}
.sp-none {
    display: none;
}
.u-border {
    border: none;
}
/* archive */
.archive-cat_list {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    max-width: 1000px;
    margin: 0 auto 40px;
}
.archive-cat_list li {
    display: flex;  
    align-items: center;
    justify-content: center;
    width: 30%;
    background: #f48e2a;
    transition: background 0.3s;
    text-align: center;
    font-size: 16px;
}
.archive-cat_list li a {
    width: 100%;
    padding: 10px 5px;
    color: #fff;
    font-weight: bold;
}
/* single */
.custom-wrap .custom__data {
    justify-content: end;
}
.custom-wrap .custom__cat,
.custom-wrap .custom__day {
    margin: 0 0 10px 20px;
}
.custom-wrap .btn_back a {
    border-radius: 30px;
    border-bottom: 0;
}
.custom-wrap .btn_back a:hover {
    opacity: 0.7;
    transition: .3s;
}
.custom-wrap .btn_back a:hover::after {
    content: none;
}

/* page-MV */
.all_page_mv {
    z-index: 1;
    position: relative;
    width: calc(100% - 40px);
    max-width: 1600px;
    height: 200px;
    margin: 0 0 0 auto;
}
.all_page_mv .eyecatch-main {
    z-index: 1;
    position: relative;
    height: 200px;
    max-width: 1600px;
    margin: 0 auto;
    background: #f48e2a;
    border-radius: 0 0 0 60px;
    overflow: hidden;
}
.all_page_mv .eyecatch__link {
    z-index: 2;
    border-radius: 0 0 0 60px;
    overflow: hidden;
    opacity: 0.5;
}
.all_page_mv .heading {
    z-index: 3;
    position: absolute;
    bottom: 50px;
    left: 50px;
    color: #fff;
    font-size: 28px;
}
.all_page_mv .h1_description {
    z-index: 3;
    position: absolute;
    bottom: 20px;
    left: 50px;
    padding: 0 15px 0 0;
    color: #fff;
    line-height: 1.5;
    font-weight: bold;
    font-size: 14px;
}

/* CTA */
.footer_cta {
    width: 100vw;
    min-height: 560px;
    margin: 100px calc(50% - 50vw) -15px;
    padding:0 15px;
    background: url(img/bg_footer_cta.jpg) no-repeat center bottom;
    background-size: contain;
}
.footer_cta .footer_cta_in {
    max-width: 1170px;
    margin: 0 auto;
    padding: 30px 20px;
    background: rgba(255,255,255,0.9);
    box-shadow: 1px 1px 10px #ccc;
    text-align: center;
}
.footer_cta .all_title {
    justify-content: center;
    margin-bottom: 40px;
    color: #222;
    font-size: 24px;
    text-align: center;
}
.footer_cta .footer_cta_btn {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
}
.footer_cta .btn_request,
.footer_cta .btn_contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column nowrap;
    margin: 0;
}
.footer_cta .btn_request a,
.footer_cta .btn_contact a {
    position: relative;
    display: block;
    min-width: 280px;
    border-radius: 50px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
}
.footer_cta .btn_request a {
    padding: 30px 20px 30px 50px;
    background: #de3737;
}
.footer_cta .btn_request a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url(img/icon/icon_request.svg) no-repeat;
}
.footer_cta .btn_contact a {
    padding: 30px 20px 30px 50px;
    background: #222;
}
.footer_cta .btn_contact a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url(img/icon/icon_contact.svg) no-repeat;
}
/* CTA-固定ページ */
.page-wrap {
    margin: 40px auto 0;
}
.page-main {
    margin-bottom: 0;
    padding: 15px 15px 0;
}
.page-main_in {
    margin-bottom: 0;
}
.page-wrap .postCta .footer_cta {
    margin: 120px calc(50% - 50vw) 0;
}
/* 工法-固定ページ */
.method_mov {
    max-width: 285px;
    margin: 0 auto;
}

/************************************************************/
/************************************************************/
/*限定モジュール(複数個所で利用されることが無いパーツ)
/************************************************************/
/************************************************************/

/*TOPページ限定パーツ
------------------------------------------------------------*/

/* メインビジュアル-動画 */
.c-keyvisual {
  margin: 0 auto;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.c-keyvisual__mov {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 90vh;
  background: url(img/video.jpg) no-repeat center center/cover;
}
.c-keyvisual__mov video {
  min-width: 100%;
  min-height: 100vh;
  position: fixed;
  top: 0;
}
@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
.c-keyvisual__mov video {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-aspect-ratio: 16/9) {
.c-keyvisual__mov video {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-aspect-ratio: 3/2) {
.c-keyvisual__mov video {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.c-keyvisual__mov_pc {
    display: none;
}
.c-keyvisual__mov_sp {
    display: block;
}

/* common */
.l-wrapper.top {
    overflow: hidden;
    max-width: 100%;
    margin: 0;
    padding: 0;
}
.l-wrapper.top .l-main {
    margin-bottom: 0;
}
.l-wrapper .all_title .number {
    margin: 0 15px 0 0;
    font-family: Arial;
    font-size: 48px;
}
.l-wrapper .all_title {
    display: flex;
    align-items: center;
    padding: 0 15px 10px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
}
.l-wrapper .all_title_sub {
    margin-top: 40px;
    color: #fff;
    font-size: 24px;
}
.l-wrapper .all_text {
    margin-top: 30px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.85;
}
.l-wrapper .btn_more a {
    position: relative;
    display: block;
    width: 240px;
    padding: 15px 0;
    border-radius: 40px;
    color: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.85;
    background: #222;
}
.l-wrapper .btn_more a::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 40px;
    width: 20px;
    height: 20px;
    margin: -10px;
    background: url(img/icon/icon_arrow_black.svg) no-repeat;
    background-size: contain;
}
.l-wrapper .btn_more a:hover {
    transition: 0.3s;
    opacity: 0.7;
}

/* 01-セーフティークライマー協会 */
.content .top_sca {
    margin: 0 -15px 0;
    background: url(img/bg_top_01.jpg) no-repeat center top;
    background-size: cover;
    color: #fff;
}
.content .top_sca_in {
    display: flex;
    flex-wrap: wrap;
    max-width: 1170px;
    margin: 0 auto;
}
.top_sca_text,
.top_sca_img {
    width: 100%;
}
.top_sca_text {
    order: 2;
    padding: 0px 15px 50px;
}
.top_sca .all_title {
    color: #fff;
    border-bottom: 2px solid #fff;
}
.top_sca .btn_more {
    margin-top: 40px;
}
.content .top_sca_img {
    order: 1;
    padding: 40px 0;
    text-align: right;
}
.content .top_sca_img figure {
    margin-left: 80px;
}
.top_sca_img img {
    border-radius: 50px 0 0 0;
}
/* 02-セーフティークライマー工法 */
.content .top_scm {
    position: relative;
    margin: 0 -15px;
    padding: 180px 0 100px;
    background: url(img/bg_top_02.jpg) no-repeat center top;
    background-size: 100%;
}/*
.top_scm::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(img/bg_top_02_bottom.svg) no-repeat left bottom;
    background-size: contain;
    width: 100%;
    height: 135px;
    animation: bgroop 10s linear infinite;
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 100% 0;
    }
}
*/
.content .top_scm_in {
    display: flex;
    justify-content: end;
    max-width: 1170px;
    margin: 0 auto;
}
.top_scm .top_scm_text {
    width: 100%;
    margin: 0 15px;
    padding: 30px 10px;
    background: #fff;
    border-radius: 30px 0 0 0;
}
.top_scm .all_title {
    border-bottom: 2px solid #f48e2a;
    color: #222;
}
.top_scm .all_title .multiple {
    margin-top: 0;    
    line-height: 1.2;
}
.top_scm .all_title .comment {
    font-size: 12px;
    font-weight: normal;
}
.top_scm .all_title .number {
    color: #F48E2A;
}
.top_scm .all_title_sub {
    color: #222;
}
.top_scm .btn_more {
    margin-top: 40px;
}

/* 03-工法のバリエーション */
.content .top_variation {
    margin: 0 -15px;
    padding: 80px 15px;
    background: url(img/bg_top_03.jpg) no-repeat center top;
}
.content .top_variation_in {
    max-width: 1170px;
    margin: 0 auto;
}
.top_variation .top_variation_text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.top_variation .top_variation_text .all_title {
    width: 100%;
    border-bottom: 2px solid #fff;
    color: #fff;
}
.top_variation_text .btn_more {
    margin: 40px auto 0;
}
.top .top_variation_list,
.method_variation_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 60px -5px 0;
}
.top_variation_list .item,
.method_variation_list .item {
    width: 50%;
    max-width: 285px;
    margin: 0 0 10px;
    padding: 0 5px;
}
.top_variation_list .item::before,
.method_variation_list .item::before {
    content: none;
}
.top_variation_list .item_heading,
.method_variation_list .item_heading {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100px;
    background: #fbfbfb;
    border-top: 5px solid #f48e2a;
    font-weight: bold;
}
.top_variation_list .item figure,
.method_variation_list .item figure {
    overflow:hidden;
}
.top_variation_list .item img:hover,
.method_variation_list .item img:hover {
    transform:scale(1.2,1.2);
    transition:1s all;
}
.top_variation_list .item h3::after,
.method_variation_list .item h3::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    background: url(img/icon/icon_arrow_orange.svg) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    margin: -10px;
}
.top_variation_list .item_heading:hover .all_title,
.method_variation_list .item_heading:hover .all_title {
    color: #f48e2a;
}
.top_variation_list .item .all_title,
.method_variation_list .item .all_title {
    position: relative;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    min-height: 60px;
    padding: 5px 25px 5px 15px;
    font-size: 16px;
}
.top_variation_list .item .small,
.method_variation_list .item .small {
    color: #222;
    font-size: 12px;
}

/* 04-お知らせ */
.top_news {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 40px auto 55px;
}
.top_news .archiveHead {
    width: 100%;
}
.top_news .custom {
    width: 100%;
    margin: 40px 0 0;
    border-top: 1px solid #D8D8D8;    
}
.top_news .archiveHead .heading {
    border-bottom: 2px solid #f48e2a;
}
.top_news .archiveHead .all_title {
    margin-bottom: 40px;
    color: #222;
}
.top_news .archiveHead .all_title .number {
    color: #f48e2a;
}
.top_news .archiveHead .all_text {
    line-height: 1.85;
    font-size: 14px;
}
.top_news .btn_more {
    margin-top: 40px;
}
.top_news .btn_more a {
    color: #fff;
    background: #f48e2a;
}
.custom__item {
    position: relative;
    padding: 20px 50px 20px 15px;
    border-bottom: 1px solid #D8D8D8;
}
.custom__item::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 10px;
    height: 10px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    background: url(img/icon/icon_arrow_news.png) no-repeat;
    background-size: contain;
}
.custom__item:nth-child(2n+1) {
    background: none;
}
.custom__item .heading {
    font-size: 16px;
}
.custom__data {
    display: flex;
    align-items: center;
}
.custom__cat {
    margin-right: 20px;
    background: none;
}
.custom__cat a {
    padding: 5px 20px;
    background: #222;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
}
.custom__cat a:hover {
    opacity: 0.7;
    background: #222;
}
.custom__cat a::before {
    content: none;
}
.custom__cat, .custom__day {
    margin-bottom: 10px;
}
.custom__day {
    color: #f48e2a;
    letter-spacing: 1px;
    font-family: Arial;
    font-weight: bold;
    font-size: 14px;
}

/* 05-工法実績のご紹介 */
.top_works {
    z-index: 2;
    max-width: 1600px;
    margin: 0 15px 0;
    position: relative;
}
.top_works .top_works_in {
    position: relative;
    max-width: 1170px;
    margin: 0 auto;
    padding: 60px 0;
}
.top_works .top_works_in::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: -5%;
    display: block;
    width: 100vw;
    height: 100%;
    background: linear-gradient(to bottom,#f9f9f9,#f9f9f9);
    border-radius: 35px 0 0 0;
}
.top_works .top_works_text {
    z-index: 2;
    position: relative;
    width: 100%;
    margin-bottom: 40px;
    border-bottom: 2px solid #f48e2a;
}
.top_works .all_title {
    color: #222;
}
.top_works .all_title .number {
    color: #f48e2a;
}
.top_works .btn_more {
    z-index: 2;
    position: relative;
}
.top_works .btn_more a {
    margin: 60px auto 0;
    background: #f48e2a;    
}
.top_works .swiper-top_works {
    z-index: 2;
    position: relative;
    width: calc(600px + 50vw);
    overflow: hidden;
}
.top_works .swiper-wrapper {
    align-items: stretch;
    margin-top: 20px;
}
.top_works .swiper-slide {
    height: auto;
    background: #fff;
}
.top_works .swiper-slide_in {
    height: 100%;
}
.top_works .swiper-button-next,
.top_works .swiper-button-prev {
    width: 40px;
    height: 40px;
}
.top_works .swiper-button-prev::before,
.top_works .swiper-button-next::before {
    content: none;
}
.top_works .swiper-button-prev {
    display: inline-block;
    position: relative;
    top: 0;
    left: 0;
    margin: 0;
    background: url(img/icon/icon_arrow_left_works.png) no-repeat;
    background-size: contain;
}
.top_works .swiper-button-next {
    display: inline-block;
    position: relative;
    top: 0;
    right: initial;
    left: 20px;
    margin: 0;
    background: url(img/icon/icon_arrow_right_works.png) no-repeat;
    background-size: contain;
}
.top_works .top_works_slide_img img {
    width: 100%;
}
.top_works .top_works_slide_text {
    padding: 15px;
}
.top_works .top_works_slide_text dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 14px;
    font-weight: bold;
}
.top_works .top_works_slide_text dl dt,
.top_works .top_works_slide_text dl dd {
    line-height: 1.6;
    padding-bottom: 10px;
}
.top_works .top_works_slide_text dl dt {
    width: 30%;
    color: #f48e2a;
}
.top_works .top_works_slide_text dl dd {
    width: 70%;
}

/* TOP-CTA */
.top_cta {
    margin-bottom: 0;
}
.top_cta .widget {
    margin-bottom: 0;
}

/*協会についてページ
------------------------------------------------------------*/
.about_purpose_txt h2 {
    position: relative;
    font-size: 18px;
}
.about_purpose_txt h2::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 50px;
    height: 2px;
    margin: 0 auto;
    background: #f48e2a;
}
.about_purpose_txt h3 {
    font-size: 24px;
}
.about_purpose_img figure {
    border-radius: 0 30px 0 0;   
}
.content .about_message {
    position: relative;
    height: 320px;
}
.content .about_message_in {
    content: '';
    position: absolute;
    width: 100vw;
    min-height: 320px;
    background: url(img/bg_about_message.jpg) no-repeat center center;
    background-size: cover;
    margin: 0 calc(50% - 50vw);;
}
.content .about_message h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    margin: auto;
    color: #fff;
    text-align: center;
    font-size: 28px;
}
.content .about_concept {
    margin-top: 60px;
}
.content .about_summary {
    margin-top: 60px;
    padding: 40px 15px;
    background: #f9f9f9;
    border-radius: 30px;
}
.about_summary h2 {
    text-align: center;
}
.about_summary .about_summary_dl {
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto 0;
    max-width: 800px;
    border-bottom: 1px solid #666;    
    font-weight: bold;
}
.about_summary .about_summary_dl dt {
    width: 100%;
    margin: 0;
    background: none;
    border-top: 1px solid #666;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}
.about_summary .about_summary_dl dd {
    width: 100%;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

/*工法についてページ
------------------------------------------------------------*/
.method_about_txt h2 {
    position: relative;
    font-size: 18px;
}
.method_about_txt h2::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 50px;
    height: 2px;
    margin: 0 auto;
    background: #f48e2a;
}
.method_about h3 {
    font-size: 24px;
}
.method_about_img figure {
    border-radius: 0 30px 0 0;
}
.content .method_about_txt table {
    border-left: none;
}
.content .method_about_txt table tr:nth-child(odd) td {
    background: none;
}
.content .method_about_txt table td {
    background: none;
    border-right: none;
}
.method_safety {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 40px 30px;
    background: #f9f9f9;
}
.method_safety h2 {
    margin: 0 auto 2rem;
}
.method_safety > .wp-block-group__inner-container {
    max-width: 1170px;
    width: 100%;
    margin: 0 auto;
}
.method_safety .method_safety_graph_item {
    margin: 0;
    padding: 0 10px;
}
.method_safety .method_safety_graph figcaption {
    display: block;
    margin: 15px 20px;
    padding: 10px;
    background: #fff;
}
.content .method_wire {
    margin: 60px auto 0;
}
.method_wire .method_wire_img figcaption {
    text-align: center;
    font-size: 14px;
}
.content .method_comparison {
    margin: 60px 0 0;
}
.content .method_comparison .method_conventional_figure img,
.content .method_comparison .method_scm_figure img {
    border-radius: 30px;
}
.content .method_comparison .method_conventional_figure figcaption,
.content .method_comparison .method_scm_figure figcaption {
    display: block;
    padding: 0 10px;
    text-align: left;
}
.content .method_economy_table,
.content .method_superiority_table {
    overflow: auto;
    white-space: nowrap;
    padding: 0 10px;
}
.content .method_economy_table table,
.content .method_superiority_table table {
    border: 0;
}
.content .method_economy_table table tr td,
.content .method_superiority_table table tr td {
    border: 0;
}
.content .method_economy_table table tr:first-child td {
    background: #f9f9f9;
}
.content .method_superiority_table table tr:first-child td {
    background: #fff;
}
.content .method_superiority_table table tr td:first-child {
    min-width: 80px;
    background: #f9f9f9;
}
.content .method_economy_table table tr:nth-child(n + 2) td {
    background: #fff;
}
.content .method_superiority_table table tr td {
    padding: 15px;
}
.content .method_superiority_table table ol li {
    line-height: 1.55;
}
.content .method_superiority_table table ol li::before {
    color: #ffff;
    background: #f48e2a;
    border: none;
}
.content .method_comparison_conventional h3,
.content .method_comparison_scm h3 {
    padding: 10px;
    color: #fff;
    font-size: 16px;
}
.content .method_comparison_conventional h3 {
    background: #222;
}
.content .method_comparison_scm h3 {
    background: #f48e2a;
}
.content .method_comparison h4 {
    max-width: 200px;
    margin: 40px auto 20px;
    padding: 10px;
    background: #fff;
    border: 1px solid #222;
}
.method_comparison_conventional figure,
.method_comparison_scm figure {
    padding: 0 15px;
}
.method_comparison .method_comparison_conventional,
.method_comparison .method_comparison_scm {
    position: relative;
}
.method_comparison_conventional {
    border: 2px solid #222;
}
.method_comparison_scm {
    border: 2px solid #f48e2a;
}
.method_comparison_efficiency {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    margin: 0 auto;
    background: #f9f9f9;
    border-radius: 50%;
    line-height: 1.4;
}
.method_comparison_efficiency span {
    font-size: 28px;
}
.content .method_ict {
    width: 100%;
    padding: 40px 15px;
    background: #f9f9f9;
    border-radius: 30px 0 0 0;
}
.method_ict_txt .btn_more a {
    background: #f48e2a;
}

/*工法の種類
------------------------------------------------------------*/
.heading-method_h2 {
    position: relative;
}
.heading-method_h2::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 50px;
    height: 2px;
    margin: 0 auto;
    background: #f48e2a;
}
.content .method_work_list li {
    display: inline-block;
    margin-right: 10px;
    padding: 5px 10px;
    background: #f48e2a;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
}
.content .method_work_list li::before {
    content: none;
}
.method-list_summary_img {
    margin: 0;
}
.method-list_summary_img div {
    margin: 0;
}

/*会員ページ
------------------------------------------------------------*/
.content .member-list {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 80px;
}
.content .member-list li {
    width: 100%;
    margin: 0;
    padding-left: 0;
    background: #f9f9f9;
    text-align: center;
    font-weight: bold;
}
.content .member-list li::before {
    content: none;
}
.content .member-list li a {
    display: block;
    position: relative;
    padding: 20px 10px;
    color: #222;
    transition: .3s;
}
.content .member-list li a:hover {
    color: #fff;
    background: #222;
}
.content .member-list li a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url(img/icon/icon_arrow_u_black.svg) no-repeat;
    background-size: contain;
}
.content .member-list li a:hover::after {
    width: 20px;
    height: 20px;
    background: url(img/icon/icon_arrow_u_white.svg) no-repeat;
    transiton: .3s;
    background-size: contain;
}
.content .member-table {
    overflow: auto;
    margin: 30px 0 80px;
    white-space: nowrap;
}
.content .member-table table {
    border: 0;
}
.content .member-table table tr:first-child td {
    background: #fff;
    border-bottom: 2px solid #707070;
    font-weight: bold;
}
.content .member-table tr td {
    border: 0;
}
.content .member-table tr td:nth-child(1) {width: 30%;}
.content .member-table tr td:nth-child(2) {width: 15%;}
.content .member-table tr td:nth-child(3) {width: 40%;}
.content .member-table tr td:nth-child(4) {width: 15%;}
.content .member-table.sales tr td:nth-child(1) {width: 10%;}
.content .member-table.sales tr td:nth-child(2) {width: 25%;}
.content .member-table.sales tr td:nth-child(3) {width: 15%;}
.content .member-table.sales tr td:nth-child(4) {width: 35%;}
.content .member-table.sales tr td:nth-child(5) {width: 15%;}
.content .member-table.sales tr td.area{
    background: #fff;
    border-bottom: 1px solid #666;
    color: #222;
    font-size: 16px;
    font-weight: bold;
}
.content .member-table tr td.top {
    vertical-align: baseline;
}

/*実績ページ
------------------------------------------------------------*/
.works-list {
    display: flex;
    flex-wrap: wrap;
}
.works-list .works-list_item {
    width: 100%;
    margin: 0 0 40px;
    padding-left: 0;
    font-weight: bold;
}
.works-list .works-list_item::before {
    content: none;
}
.works-list figure {
    margin-bottom: 20px;
    text-align: center;
}
.works-list .detail {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
.works-list .detail dt {
    width: 95px;
    margin: 0;
    padding: 5px 10px;
    background: #fff;
    color: #f48e2a;
    font-size: 14px;
}
.works-list .detail dd {
    width: calc(100% - 95px);
    padding: 5px 10px;
    border: none;
    font-size: 14px;
}

/*お問い合わせページ
------------------------------------------------------------*/
.contact h2 {
    z-index: 2;
    position: relative;
    text-align: center;
    letter-spacing: -1px;
}
.contact h2::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 50px;
    height: 2px;
    margin: 0 auto;
    background: #f48e2a;
}
.content .cform-table {
    border-top: 1px solid #dfdfdf;
    border-left: 0;
}
.request .mw_wp_form {
    margin-bottom: 120px;
}
.content .cform-table tr {
    display: flex;
    flex-wrap: wrap;
}
.content .cform-table th,
.content .cform-table td {
    width: 100%;
}
.content .cform-table th {
    padding: 20px 10px 10px 10px;
    background: #fff;
    border: none;
    color: #222;
    clear: both;
}
.content .cform-table tr:last-child th {
    padding-top: 20px;
    vertical-align: baseline;
}
.content .cform-table th .required {
    display: inline-block;
    padding: 0 5px;
    background: #DE3737;
    border-radius: 5px;
    color: #fff;
    text-align: right;
    float: right;
}
.content .cform-table tr:nth-child(odd) td {
    background: #fff;
}
.content .cform-table td {
    padding-bottom: 20px;
    border-right: 0;
    border-bottom: 1px solid #dfdfdf;
}
.content .cform-table input[type="text"],
.content .cform-table input[type="email"],
.content .cform-table textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #666;
    border-radius: 10px;
}
.content .cform-table .mwform-tel-field {
    display: flex;
    align-items: center;
    gap: 10px;
}
.content .submit-btn,
.content .back-btn {
    position: relative;
    max-width: 300px;
    margin: 40px auto 0;
    text-align: center;
}
.content .submit-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    width: 10px;
    height: 10px;
    border-top: 2px solid;
    border-right: 2px solid;
    transition: .3s;
    transform: translateY(-50%) rotate(45deg);
    color: #fff;
}
.content .back-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 40px;
    width: 10px;
    height: 10px;
    border-top: 2px solid;
    border-left: 2px solid;
    transition: .3s;
    transform: translateY(-50%) rotate(-45deg);
    color: #fff;   
}
.content .submit-btn input[type="submit"],
.content .back-btn input[type="submit"] {
    -webkit-appearance: none;
    position: relative;
    width: 100%;
    max-width: 320px;
    min-height: 55px;
    padding: 15px 40px;
    background: #f48e2a;
    border: none;
    border-radius: 40px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
.content .back-btn input[type="submit"] {
    background: #aaa;
}
.content .submit-btn:hover::after {
    right: 35px;
}
.content .submit-btn input[type="submit"]:hover,
.content .back-btn input[type="submit"]:hover {
    opacity: 0.7;
    cursor: pointer;
    transition: 0.3s;
}
.contact_tel {
    position: relative;
    margin-bottom: 80px;
    padding: 30px 15px;
    text-align: center;
}
.contact_tel::after {
    content: "";
    background: #f9f9f9;
    width: calc(50vw + 600px);
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    border-radius: 0 0 30px 0;
}
.contact_tel h3 {
    margin-bottom: 20px;
    font-size: 22px;
}
.content .tel_box {
    z-index: 1;
    position: relative;
    max-width: 650px;
    margin: 40px auto 0;
    padding: 30px 10px 10px;
    background: #fff;
    box-shadow: 0 1px 4px #cdcdcd;
    font-weight: bold;
}
.tel_box .tel {
    margin: 0;
    font-family: Arial Black;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.2;
}
.tel_box .tel a {
    color: #222;
}
.tel_box p {
    margin: 0 0 20px;
    font-size: 14px;
}


/************************************************************/
/************************************************************/
/*テーマ
/************************************************************/
/************************************************************/

/*headerエリアのバージョン
------------------------------------------------------------*/
.globalNavi__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 20px;
}
.globalNavi__list li a {
	margin-right: 0;
	color: #000;
    font-size: 16px;
}
.globalNavi__list .nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 70px;
}
.globalNavi__list .nav-btn a {
    position: relative;
	color: #fff;
    padding-left: 20px;
}
.globalNavi__list .menu-item.nav-btn a:hover {
    color: #fff;
    opacity: 0.7;
}
.globalNavi__list .nav-btn_request {
	background: #de3737;
}
.globalNavi__list .nav-btn_request a::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    background: url(img/icon/icon_request.svg) no-repeat;
    width: 20px;
    height: 20px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}
.globalNavi__list .nav-btn_contact {
    margin-left: -20px;
    background: #222;
}
.globalNavi__list .nav-btn_contact a::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    background: url(img/icon/icon_contact.svg) no-repeat;
    width: 20px;
    height: 20px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}
.globalNavi__list .current-menu-item>a,
.globalNavi__list .current-menu-parent>a,
.globalNavi__list .current_page_item>a,
.globalNavi__list .menu-item a:hover,
.globalNavi__list .page_item a:hover {
    border-bottom: none;
    color: #f48e2a;
}



/************************************************************/
/************************************************************/
/*ユーティリティ
/************************************************************/
/************************************************************/



/************************************************************/
/************************************************************/
/*スマホ横設定
/************************************************************/
/************************************************************/

@media only screen and (min-width: 521px){
.c-keyvisual__mov_pc {
    display: block;
}
.c-keyvisual__mov_sp {
    display: none;
}
.siteTitle__logo {
    height: 25px;
}
.footer_cta {
    min-height: 425px;
}
.footer_cta .footer_cta_in {
    margin: 0 15px;
}
.l-footer .divider {
    padding: 100px 0;
}
.footer_left {
    border-bottom: none;
}
.bottomFooter__navi {
    margin: 0 20px 0 0;
}
/*TOP */
.l-wrapper.top .u-border {
    padding: 0;
}
.content .top_sca {
    margin: 0;
    padding: 80px 0px 80px 20px;
}
.content .top_sca_text {
    order: 1;
    width: 51%;
    padding: 0;
}
.content .top_sca_img {
    order: 2;
    width: 49%;
    margin: 0;
    padding: 0;
    text-align: right;
}
.content .top_sca_img figure {
    margin-left: 60px;
}
.content .top_scm {
    padding: 200px 0;
    background-size: initial;
}
/*
.top_scm::after {
    background-size: contain;
    height: 200px;
}
*/
.top_scm .top_scm_text {
    width: 63%;
    padding: 60px 40px;
}
.top_variation_list .item {
    width: calc(100% / 3)
}
.method_variation_list .item {
    width: calc(100% / 3);
}
.content .top_variation_in {
    padding: 0 15px;
}
.top_variation .top_variation_text .all_title {
    width: 56%;
}
.top_variation_text .btn_more {
    margin: 0 0 0 auto;
}
.top_news {
    padding: 0 15px;
}
.top_news .archiveHead {
    width: 35%;
    padding-right: 50px;
}
.top_news .custom {
    width: 65%;
    margin: 0;
}
.top_works {
    margin: 0 60px;
}
/* 固定-MV */
.all_page_mv {
    height: 260px;
}
.all_page_mv .eyecatch-main {
    height: 260px;
}
.all_page_mv .heading {
    left: 70px;
}
.all_page_mv .h1_description {
    left: 70px;
    bottom: 40px;
    font-size: 18px;
}
/* 協会について */
.about_purpose_txt,
.method_about_txt {
    padding-left: 30px;
}
.content .about_message h2 {
    font-size: 24px;
    letter-spacing: 1px;
}
.content .about_message h3 {
    font-size: 38px;
    line-height: 1.3;
}
.about_concept .about_concept_ttl h2 {
    font-size: 36px;
}
.content .about_summary  {
    padding: 60px 40px;
}
.about_summary .about_summary_dl {
    border: none;
}
.about_summary .about_summary_dl dt {
    width: 30%;
    border-top: 0;
    border-bottom: 2px solid #f48e2a;
}
.about_summary .about_summary_dl dd {
    width: 70%;
    border-bottom: 2px solid #666;
}
/* 工法について */
.method_safety {
    padding: 100px 40px;
}
.method_safety h2 {
    margin: 0 auto 60px;
}
.content .method_comparison {
    margin: 120px 0;
}
.content .method_comparison h2 {
    margin: 0 auto 60px;    
}
.method_comparison .method_comparison_conventional::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    border: 1px solid #666;
}
.method_safety_graph .method_safety_graph_item {
    flex-basis: calc(100% / 3)!important;
}
.content .method_comparison_conventional h4 {
    margin: 60px -100px 20px auto
}
.content .method_comparison_scm h4 {
    margin: 60px auto 20px -100px;
}
.method_comparison_conventional,
.method_comparison_scm {
    border: 0;
}
.method_comparison .method_comparison_scm {
    margin: 0;
}
.method_comparison .method_comparison_conventional,
.method_comparison .method_comparison_scm {
    flex-basis: 50%!important;
}
.content .method_comparison .method_conventional_figure figcaption,
.content .method_comparison .method_scm_figure figcaption {
    min-height: 542px;
    padding: 0 20px;
}
.content .method_comparison .method_conventional_figure img,
.content .method_comparison .method_scm_figure img {
    width: 80%;
}
.content .method_economy_table,
.content .method_superiority_table {
    min-height: 340px;
}
.content .method_economy_table,
.content .method_superiority_table {
    padding: 0;
}
.content .method_superiority_table {
    white-space: normal;
}
.content .method_ict {
    padding: 60px;
    border-radius: 60px;
}
.content .method_ict h2 {
    margin: 0 auto 60px;
}
/* 会員 */
.content .member-list li {
    width: 25%;
}
/* 実績 */
.works-list .works-list_item {
    width: 50%;
    padding: 0 10px;
}
/* お問い合わせ */
.request .mw_wp_form {
    margin-bottom: 160px;
}
.content .cform-table tr {
    align-items: center;
}
.content .cform-table th {
    width: 250px;
    padding: 20px 20px 20px 10px;
}
.content .cform-table td {
    width: calc(100% - 250px);
    padding: 20px 10px;
    border-bottom: 0;
}

}

/************************************************************/
/************************************************************/
/*タブレットレスポンシブ設定
/************************************************************/
/************************************************************/
@media only screen and (min-width: 768px){
.custom-wrap .l-sidebar {
    width: 30%;
}
.sp-none {
    display: block;
}
.eyecatch-main {
    margin: 0;
}
.page-wrap .postCta .footer_cta {
    margin: 160px calc(50% - 50vw) 0;
}
.footer_cta .footer_cta_btn {
    flex-direction: initial;
}
.content .about_message h2 {
    font-size: 38px;
    letter-spacing: 1px;
}
.method_variation_list .item {
    width: calc(100% / 4);
}
.content .method_comparison_conventional h3,
.content .method_comparison_scm h3 {
    font-size: 20px;
}
.content .method_comparison .method_conventional_figure figcaption,
.content .method_comparison .method_scm_figure figcaption {
    min-height: 423px;
}

}

/************************************************************/
/************************************************************/
/*PCレスポンシブ設定
/************************************************************/
/************************************************************/

@media only screen and (min-width: 992px){
.custom-wrap .l-main {
    width: calc(75% - 40px);
}

/*TOPページ限定パーツ
------------------------------------------------------------*/
.l-header {
    padding: 0 0 0 10px;
}
.l-wrapper.top {
    margin: 0;
}
.l-wrapper.top .u-border {
    padding: 0;
    border: 0;
}
.globalNavi.u-none-sp {
    display: none;
}
.u-none-pc {
    display: block;
}
/*TOP */
.l-wrapper .all_title {
    font-size: 24px;
}
.l-wrapper .all_title_sub {
    font-size: 28px;
}
.l-wrapper .all_text {
    font-size: 18px;
}
.content .top_sca {
    padding: 200px 10px;
}
.content .top_scm {
    padding: 430px 0 100px;
}
/*
.top_scm::after {
    background-size: contain;
    height: 350px;
}
*/
.top_variation .top_variation_text {
    padding: 0 20px;
}
.top_variation_list .item .all_title,
.method_variation_list .item .all_title {
    min-height: 85px;
    padding: 20px 15px;
    font-size: 18px;
}
.all_page_mv {
    height: 320px;
}
.all_page_mv .eyecatch-main {
    height: 320px;
}
.all_page_mv .heading {
    font-size: 46px;
}
.about_purpose {
    margin-bottom: 100px;
}
.about_purpose_img figure,
.method_about_img figure {
    border-radius: 0 60px 0 0;
}
.about_purpose_txt h2,
.method_about_txt h2 {
    font-size: 24px;
}
.about_purpose_txt h3,
.method_about_txt h3 {
    margin: 2em 0 1.5em;
    font-size: 36px;
}
.content .about_message {
    height: 430px;
}
.content .about_message_in {
    height: 430px;
}
.content .about_message h2 {
    font-size: 46px;
}
.content .about_concept {
    margin-top: 100px;
}
.content .about_summary {
    margin-top: 100px;
    padding: 120px 60px;
}
.about_summary .about_summary_dl dt,
.about_summary .about_summary_dl dd {
    padding: 20px;
}
.content .method_comparison .method_conventional_figure figcaption,
.content .method_comparison .method_scm_figure figcaption {
    min-height: 293px;
}
.works-list .works-list_item {
    width: 33.3%;
    padding: 15px;
}
.contact h2 {
    margin: 60px 0;   
}
.contact_tel {
    margin-bottom: 120px;
    padding: 80px 20px;
}
.contact_tel h3 {
    font-size: 28px;
}
.tel_box .tel {
    font-size: 46px;
}
.tel_box p {
    font-size: 16px;
}
.content .cform-table {
    margin: 60px 0 0;
}
}

/************************************************************/
/************************************************************/
/*PCワイドレスポンシブ設定
/************************************************************/
/************************************************************/

@media only screen and (min-width: 1139px){
.siteTitle__logo {
    height: 20px;
} 
.footer_cta .footer_cta_in {
    margin: 0 auto;
    padding: 80px 100px;
}
.l-wrapper .footer_cta .all_title {
    font-size: 36px;
}
.footer_cta {
    margin: 200px auto 0;
    padding-bottom: 440px;
    background-size: auto;
}
.footer_left .address {
    margin: 60px 0 30px;
    font-size: 18px;
}
.footer_left .about {
    font-size: 18px;
}
.footer_right .footer_nav_list li {
    font-size: 18px;
}

}

/************************************************************/
/************************************************************/
/*PCレスポンシブ設定
/************************************************************/
/************************************************************/

@media only screen and (min-width: 1180px){
.globalNavi.u-none-sp {
    display: block;
}
.u-none-pc {
    display: none;
}
.top_news {
    padding: 0;
}

}
