@charset "UTF-8";
/* CSS Document */

/*全体の設定
---------------------------------------------------------------------------*/
/*===============================

    Reset

================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
    -webkit-overflow-scrolling: touch !important;

}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

a:link,
a:visited,
a:hover,
a:active {
    color: #333;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input,
select {
    vertical-align: middle;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-repeat: no-repeat;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

address {
    font-style: normal;
    margin: 0;
    padding: 0;
}

.hidden {
    display: none;
}

/*===============================

    Base
    サイト全体のフォント
    字間や行間
    リンクの扱い
    imgのサイズ
    幅の設定等

================================*/

html {
    font-size: 16px;
}

body {
    /*ゴシック*/
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
    color: #333;
    line-height: 1.7;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/*共通の設定
---------------------------------------------------------------------------*/
.pc {
    display: block !important;
}

.sp {
    display: none !important;
}



@media only screen and (max-width: 750px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}

/*メインカラーの設定
-------------------------------------------------*/
:root {
    --main-blue: #1465A0;
    --back-blue: #EDF4FA;
    --txt-black: #333333;
    --line-green: #23D337;
}

/*　共通設定　header
-------------------------------------------------*/
.pcHeader_wrap {
    background-color: #fff;
    width: 100%;
    height: 100px;
    margin: 0 auto;
    padding: 20px 30px;
}

.pcHeader_wrap nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pcHeader_wrap nav h1 {
    font-size: 17px;
    font-weight: 500;
    color: var(--main-blue);
}

.pcHeader_wrap nav h1 > span {
    width: 200px;
    height: 60px;
    display: inline-block;
    background-image: url(../images/logo.svg);
    background-size: 200px;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 10px;
}

.pcHeader_wrap nav ul {
    display: flex;
    flex-wrap: wrap;
}

.pcHeader_wrap nav ul li a {
    color: var(--main-blue);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-left: 15px;
}

/*--------------------------スマホheader*/
.spHeader_wrap {
    height: 70px;
    padding-top: 13px;
    padding-left: 20px;
    background-color: #fff;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10000;

}

.spHeader_wrap h1 {
    font-size: 14px;
    font-weight: 600;
    color: var(--main-blue);
}

.spHeader_wrap h1 > span {
    width: 150px;
    height: 60px;
    display: inline-block;
    background-image: url(../images/logo.svg);
    background-size: 150px;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: -15px;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : var(--main-blue);
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
  background : #fff;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
  background : #fff;
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
  background: var(--main-blue);
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
  height: 680px;
}

nav.globalMenuSp ul {
  background: var(--main-blue);
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 30px;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}
nav.globalMenuSp ul li:last-child {

}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 1em 0;
  text-decoration :none;
}

.globalMenuSp .mailBtn {
    width: 85%;
    margin: 0 auto;
    height: 60px;
    margin-bottom: 25px;
}

.globalMenuSp .mailBtn a {
    text-align: center;
    background-color: #fff;
    color: var(--main-blue);
    font-size: 18px;
    font-weight: 600;
    border: 1px solid var(--main-blue);
    display: block;
    line-height: 60px;
}

.globalMenuSp .lineBtn {
    width: 85%;
    margin: 0 auto;
    height: 60px;
    margin-bottom: 25px;
}
.globalMenuSp .lineBtn a {
    text-align: center;
    background-color: var(--line-green);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    border: 1px solid var(--line-green);
    display: block;
    line-height: 60px;
    border-radius: 10px;
}

.globalMenuSp .sweepLogo {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin-top: 20px;
}

.globalMenuSp .sweepLogo > span {
    width: 150px;
    height: 30px;
    background-image: url(../images/logo_w.svg);
    background-size: 150px;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-bottom: -6px;
    margin-right: 10px;
}


/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}



/*---------------------------TOPページ*/

.mainVisual_pc {
    width: 93%;
    margin: 0 auto;
}

.mainVisual_sp {
    width: 93%;
    margin: 0 auto;
}



.topContents {
    margin-top: 120px;
}

.top_aboutWrap .titleWrap{
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 120px;
}

.top_aboutWrap .titleWrap .title {
    width: 320px;
}

.topContents .titleWrap h2 {
    font-size: 45px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--main-blue);
    letter-spacing: 1.5;
}

.topContents .titleWrap .h2_sub {
    font-size: 17px;
}

.top_aboutWrap .readArea {
    max-width: 650px;
}

.top_aboutWrap .readArea p {
    font-size: 17px;
    letter-spacing: 1.3px;
    line-height: 2;
}

.topContents .linkBtn_b {
    margin-top: 30px;
}
.topContents .linkBtn_b a {
    max-width: 400px;
    height: 60px;
    text-align: center;
    color: var(--main-blue);
    font-size: 17px;
    font-weight: 600;
    border: 1px solid var(--main-blue);
    display: block;
    line-height: 60px;
}

.topContents .linkBtn_b a:hover{
    background-color: var(--main-blue);
    color: #fff;
    transition: 0.3s;
}

.top_aboutContent .cntn01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
    margin-bottom: 100px;
}

.top_aboutContent .cntn01 .imgArea{
    max-width: 60%;
}

.top_aboutContent .cntn01 .textArea {
    max-width: 35%;
}

.top_aboutContent .cntn01 .textArea h3 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.6;
    color: var(--main-blue);
    margin-bottom: 20px;
}

.top_aboutContent .cntn01 .textArea p {
    font-size: 17px;
    line-height: 2;
}

@media screen and (max-width:950px) {
    .top_aboutContent .cntn01 .imgArea{
    max-width: 80%;
}

.top_aboutContent .cntn01 .textArea {
    max-width: 80%;
    margin-top: 30px;
}
}

.top_aboutContent .sweep_point {
    max-width: 1340px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 80px;
    text-align: center;
}

.top_aboutContent .sweep_point li {
    width: 640px;
    margin-bottom: 20px;
    display: inline-block;
}

.top_aboutContent .sweep_point li img {
    width: 300px;
    margin: 0 8px;
}

.top_aboutContent .shutter_banner {
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 100px;
}

.top_aboutContent .suppliers {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
}

.top_aboutContent .suppliers li {
    max-height: 70px;
}


.topContents .sec02 {
    margin-top: 180px;
    background-color: var(--back-blue);
    padding: 100px;
    position: relative;
}


.topContents .sec02 .titleWrap {
    max-width: 1200px;
    position: absolute;
    top: -40px;
}

.topContents .sec02 .top_worksWrap {
    max-width: 1200px;
    margin: 0 auto;
}

.topContents .sec02 .top_worksWrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.topContents .sec02 .top_worksWrap ul li {
    max-width: 310px;
    margin-bottom: 50px;
}

.topContents .sec02 .linkBtn_b {
    max-width: 400px;
    margin: 0 auto;
}

.topContents .linkBtn_b a {
    background-color: #fff;
}

.topContents .sec02 .linkBtn_b a:hover{
    background-color: var(--main-blue);
    color: #fff;
    transition: 0.3s;
}

.topContents .sec03 {
    margin: 100px 0;
}

.topContents .top_newsWrap {
    max-width: 850px;
    margin: 0 auto;
}

.topContents .top_newsWrap .titleWrap {
    text-align: center;
    margin-bottom: 60px;
}

.topContents .top_newsWrap .news_inner div {
    width: 100%;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.topContents .top_newsWrap .news_inner div dt {
    font-size: 15px;
    width: 200px;
    letter-spacing: 1.2px;
}

.topContents .top_newsWrap .news_inner div dd {
    font-size: 16px;
    letter-spacing: 1.2px;
}

.topContents .sec04 {
    background-color: var(--main-blue);
    padding-top: 100px;
    padding-bottom: 100px;
}

.topContents .sec04 .titleWrap {
    max-width: 1000px;
    margin: 0 auto;
    color: #fff;
    margin-bottom: 40px;
}

.topContents .sec04 .titleWrap h2 {
    color: #fff;
}

.topContents .sec04 .top_comCntn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 60px;
}

.topContents .sec04 .top_comCntn .imgArea {
    width: 57%;
}

.topContents .sec04 .top_comCntn .textArea {
    max-width: 400px;
    margin-left: 40px;
    color: #fff;
}

 .top_comCntn .sweep_logo {
    margin-bottom: 10px;
 }

 .top_comCntn h4 {
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 15px;
 }

 .top_comCntn address {
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
 }

  .top_comCntn address .add01 {
    letter-spacing: 1.3px;
  }

  .top_comCntn address .add02 {
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 2px;
  }

  .top_comCntn ul {
    margin-bottom: 20px;
  }

  .top_comCntn ul li {
    font-size: 16px;
    line-height: 2;
  }

  .top_comCntn .linkBtn_w a {
    max-width: 360px;
    height: 60px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-align: center;
    line-height: 60px;
    display: block;
    border: 1px solid #fff;
  }

  .top_comCntn .linkBtn_w a:hover {
    background-color: #fff;
    color: var(--main-blue);
    transition: 0.4s;
  }

.topContents .top_linkBtn_box {
    max-width: 1000px;
    margin: 0 auto;
  }

.topContents .top_linkBtn_box .mailBtn a {
    max-width: 500px;
    margin: 0 auto;
    height: 65px;
    color: var(--main-blue);
    background-color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-align: center;
    display: block;
    padding-top: 17px;
  }

.topContents .top_linkBtn_box .mailBtn a > span {
    display: inline-block;
    width: 45px;
    height: 33px;
    background-image: url(../images/icon_mail_b.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 37px;
    vertical-align: middle;
    margin-right: 10px;
  }

  .topContents .top_linkBtn_box .mailBtn {
    margin-bottom: 30px;
  }

.topContents .top_linkBtn_box .lineBtn a {
    max-width: 500px;
    margin: 0 auto;
    height: 65px;
    color: #fff;
    background-color: var(--line-green);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-align: center;
    display: block;
    padding-top: 17px;
    border-radius: 10px;
  }

  .topContents .top_linkBtn_box .mailBtn a:hover {
    opacity: 0.8;
    transition: 0.4s;
  }

  .topContents .top_linkBtn_box .lineBtn a > span {
    display: inline-block;
    width: 45px;
    height: 33px;
    background-image: url(../images/icon_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 37px;
    vertical-align: middle;
    margin-right: 10px;
  }

  .topContents .top_linkBtn_box .lineBtn a:hover {
    opacity: 0.8;
    transition: 0.4s;
  }

/*--------------------------TOPレスポンシブ*/
@media screen and (max-width:750px) {
.topContents {
    margin-top: 40px;
}

.topContents .sec01 {
    width: 93%;
    margin: 0 auto;
}

.top_aboutWrap .titleWrap {
    margin-bottom: 60px;
}

.top_aboutWrap .titleWrap .title {
    width: 320px;
    margin-bottom: 30px;
}
.topContents .titleWrap h2 {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2.3px;
    color: var(--main-blue);
}

.topContents .linkBtn_b a {
    max-width: 350px;
    margin: 0 auto;
    height: 60px;
    text-align: center;
    color: var(--main-blue);
    font-size: 17px;
    font-weight: 600;
    border: 1px solid var(--main-blue);
    display: block;
    line-height: 60px;
}

.top_aboutContent .cntn01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin-bottom: 60px;
}

    .top_aboutContent .cntn01 .imgArea {
        max-width: 100%;
    }
        .top_aboutContent .cntn01 .textArea {
        max-width: 100%;
        margin-top: 30px;
    }
.sweep_pointSp li {
    margin-bottom: 20px;
}

.top_aboutContent .shutter_banner {
    margin-bottom: 60px;
}

.top_aboutContent .suppliers img {
    max-width: 170px;
    max-height: 63px;
}

.top_aboutContent .suppliers li {
    margin-bottom: 20px;
}

.topContents .sec02 {
    padding: 0;
    padding-top: 90px;
    margin-top: 90px;
    padding-bottom: 50px;
}

.topContents .sec02 .titleWrap {
    left: 40px;
}

.topContents .sec02 .top_worksWrap ul li {
    max-width: 350px;
    margin-bottom: 40px;
}

.topContents .sec03 {
    width: 93%;
    margin: 0 auto;
    margin-top: 60px;
    margin-bottom: 60px;
}

.topContents .sec04 {
    padding-top: 50px;
    padding-bottom: 60px;
}

.topContents .sec04 .titleWrap {
    padding: 0 30px;
}
.topContents .sec04 .top_comCntn .imgArea {
    width: 100%;
}
.topContents .sec04 .top_comCntn .textArea {
    width: 93%;
    margin: 0 auto;
    margin-top: 30px;
}

.topContents .top_linkBtn_box {
    max-width: 88%;
    margin: 0 auto;
}
}

@media screen and (max-width:750px) {
.topContents .top_linkBtn_box .mailBtn a {
    font-size: 16px;
    letter-spacing: 0.9px;
}
.topContents .top_linkBtn_box .mailBtn a > span {
    display: inline-block;
    width: 30px;
    height: 23px;
    background-image: url(../images/icon_mail_b.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 30px;
    vertical-align: middle;
    margin-right: 3px;
    margin-bottom: 3px;
}
}

/*--------------------------共通　フッター*/
  footer .footerWrap{
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 0;
  }

  .footerWrap nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .footerWrap nav h1 {
    font-size: 15px;
    color: var(--main-blue);
    font-weight: 600;
    letter-spacing: 1.1px;

  }

  .footerWrap nav h1 > span {
    display: inline-block;
    background-image: url(../images/logo.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 170px;
    height: 40px;
    background-size: 170px;
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 10px;
  }


.footerWrap nav ul li {
    display: inline-block;
}

.footerWrap nav ul li a {
    color: var(--main-blue);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-left: 10px;
}

.footerWrap .ft_cantainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 15px;
}

.footerWrap .ft_cantainer address .address {
    font-size: 15px;
}

.footerWrap .ft_cantainer address .phone {
    font-size: 27px;
    font-weight: 600;
    letter-spacing: 1.2px;
}

.footerWrap .ft_cantainer .sideR img {
    width: 60px;
    margin-left: 15px;
}

@media screen and (max-width:750px) {
    footer .footerWrap {
    width: 93%;
    margin: 0 auto;
    padding: 40px 0;
}
.footerWrap nav {
    display: block;
}

.footerWrap nav h1 {
    text-align: center;
}

.footerWrap nav h1 > span {
        display: block;
        width: 210px;
        height: 50px;
        background-size: 210px;
        margin: 0 auto;
        margin-bottom: 10px;
}

.footerWrap .ft_cantainer {
    display: block;
    margin-top: 20px;
    text-align: center;
}

.footerWrap .sideL {
    margin-bottom: 15px;
}

}

/*--------------------------共通　下層ページメインビジュアル*/

.single_heading {
    width: 100%;
    height: 400px;
    border-bottom: 1px solid var(--main-blue);
    text-align: center;
    padding-top: 100px;
}

.single_heading h2 {
    font-size: 60px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 4px;
}

.single_heading p {
    font-size: 24px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 2px;
}

@media screen and (max-width:750px) {
    .single_heading {
    height: 345px;
    padding-top: 125px;
}
.single_heading h2 {
    font-size: 55px;
    font-weight: 700;
}
}

/*--------------------------会社情報*/

.companyContents {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 60px;

}

.companyContents .indexWrap {
    width: 130px;
}

.companyContents .indexWrap dl {
    
}

.companyContents .indexWrap dl div a {
    margin-bottom: 20px;
    display: flex;
}

.companyContents .indexWrap dl div dt,
.companyContents .indexWrap dl div dd
 {
    margin-right: 15px;
    font-size: 17px;
    font-weight: 600;
    color: var(--main-blue);
}

.companyContents .mainWrap {
    max-width: 930px;
    margin-bottom: 100px;
} 

.companyContents .mainWrap .titleWrap h3 {
    font-size: 34px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 3px;
    position: relative;
  display: inline-block;
  margin-bottom: 35px;

}

.companyContents .mainWrap .titleWrap h3:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -15px;/*線の上下位置*/
  display: inline-block;
  width: 60px;/*線の長さ*/
  height: 5px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(0%);/*位置調整*/
  background-color: var(--main-blue);/*線の色*/
  border-radius: 2px;/*線の丸み*/
}

.companyContents .mainWrap .titleWrap .h3_sub {
    font-size: 17px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.companyContents .mainWrap .titleWrap .read {
    letter-spacing: 0.7px;
    line-height: 2.1;
}

.companyContents .mainWrap .business_inner {
    margin-top: 60px;
}

.companyContents .mainWrap .business_cntn {
    margin-bottom: 60px;
} 

.companyContents .mainWrap .business_cntn h4 {
    font-size: 23px;
    font-weight: 600;
    line-height: 1;
    color: var(--main-blue);
    letter-spacing: 1.2px;
    border-left: 4px solid var(--main-blue);
    padding-left: 10px;
    margin-bottom: 30px;
}

#business_content {
    border-bottom: 1px solid var(--main-blue);
}

.companyContents .mainWrap .business_cntn .businessLogo {
    width: 340px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 30px;
}

.companyContents .mainWrap .business_cntn p {
    margin-bottom: 30px;
    line-height: 1.8;
}

#company_outline {
    margin-top: 80px;
    margin-bottom: 80px;
    padding-bottom: 100px;
    border-bottom: 1px solid var(--main-blue);
}

#company_outline .outline_inner dl {
    width: 100%;
}

#company_outline .outline_inner dl div {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--main-blue);
}

#company_outline .outline_inner dl div dt {
    width: 230px;
    background-color: var(--back-blue);
    text-align: center;
    color: var(--main-blue);
    font-weight: 600;
    letter-spacing: 1.3px;
}

#company_outline .outline_inner dl div dd {
    padding-left: 25px;
    letter-spacing: 1px;
}

#company_outline .outline_inner dl div dt,
#company_outline .outline_inner dl div dd {
    padding-top: 24px;
    padding-bottom: 24px;
}

#company_access .access_inner {
    margin-top: 40px;
}

#company_access .access_cntn dl {
    border-bottom: 1px solid var(--main-blue);
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
}

#company_access .access_cntn dt {
    font-size: 17px;
    font-weight: 600;
    color: var(--main-blue);
    margin-right: 30px;
}


#company_access .access_cntn .map {
    margin-bottom: 70px;
    margin-top: 20px;
}

@media screen and (max-width:750px) {
.companyContents {
    margin-top: 40px;
}

.companyContents .indexWrap {
    width: 200px;
    margin-left: 20px;
    margin-bottom: 30px;
}

.companyContents .mainWrap {
    width: 93%;
    margin: 0 auto;
    margin-bottom: 60px;
}

.companyContents .business_cntn .business_image {
    width: 93%;
    margin: 0 auto;
}
.companyContents .business_cntn {
    margin-bottom: 70px;
}

.companyContents .business_cntn > p {
    line-height: 2;
}

.companyContents .mainWrap .business_cntn {
    margin-bottom: 100px;
}

.companyContents .mainWrap .titleWrap .h3_sub {
    margin-bottom: 40px;
}

#company_outline .outline_inner dl div {
    display: block;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--main-blue);
}

#company_outline .outline_inner dl div dt, #company_outline .outline_inner dl div dd {
    padding-top: 14px;
    padding-bottom: 14px;
}

#company_outline .outline_inner dl div dt {
    width: 100%;
    text-align: left;
    padding-left: 20px;
}

#company_outline .outline_inner dl div dd {
    padding-left: 20px;
}

#company_outline {
    margin-bottom: 80px;
    padding-bottom: 0px;
    border-bottom: none;
}

#company_access .access_cntn .map {
    margin-bottom: 40px;
    margin-top: 20px;
}
}

@media screen and (max-width:400px) {
        .single_heading {
        height: 325px;
    }

    .single_heading h2 {
        font-size: 50px;
        font-weight: 700;
    }

    .companyContents .mainWrap .titleWrap h3 {
    font-size: 32px;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

}

/*--------------------------下層ページ_コンタクト*/

#contact_sec {
    background-color: var(--main-blue);
    padding: 60px 0;
}

#contact_sec .contact_secWrap {
    max-width: 1000px;
    margin: 0 auto;
}

#contact_sec .cttSec_heading {
    text-align: center;
    margin-bottom: 30px;
}

#contact_sec .cttSec_heading h3 {
    color: #fff;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 3px;
}

#contact_sec .cttSec_heading .contact_sub {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1.3px;
    margin-bottom: 20px;
}

#contact_sec .cttSec_heading p {
    color: #fff;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 1.2px;
}

#contact_sec .linkBtn_cntn {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

#contact_sec .linkBtn_cntn .linkBtn {
    
}

#contact_sec .linkBtn_cntn .link_mailBtn {
    width: 350px;
    height: 150px;
    border: 1px solid #fff;
    border-radius: 8px;
    padding: 25px 0;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-align: center;
    color: #fff;
    background-color: var(--main-blue);
    position: relative;
    display: block;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    
}

#contact_sec .linkBtn_cntn .link_mailBtn:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background-image: url(../images/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60px;
    position: absolute;
    left: 40%;
    top: 30px;
    margin-bottom: 14px;

}

#contact_sec .linkBtn_cntn .link_lineBtn {
    width: 350px;
    height: 150px;
    border-radius: 8px;
    padding: 25px 0;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-align: center;
    color: #fff;
    background-color: var(--line-green);
    position: relative;
    display: block;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#contact_sec .linkBtn_cntn .link_lineBtn:before {
    content: "";
    display: inline-block;
    width: 60px;
    height: 60px;
    background-image: url(../images/icon_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60px;
    position: absolute;
    left: 40%;
    top: 30px;
}

@media screen and (max-width:750px) {
    #contact_sec .contact_secWrap {
    width: 93%;
    margin: 0 auto;
}
#contact_sec .linkBtn_cntn .linkBtn {
    margin-bottom: 30px;
}
}

@media screen and (max-width:400px) {
    #contact_sec {
    padding: 50px 0 25px;
}

    .footerWrap nav h1 > span {
        display: block;
        width: 180px;
        height: 45px;
        background-size: 180px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

}


/*--------------------------施工事例*/

.worksContents .sec01 {
    padding-top: 90px;
    padding-bottom: 200px;
    background-color: var(--back-blue);
}

.worksContents .sec01 .worksWrap {
    max-width: 1200px;
    margin: 0 auto;
}

.worksContents .sec01 .worksWrap .works_list {
    margin-bottom: 80px;
}

.worksContents .sec01 .worksWrap .works_item {
    max-width: 1000px;
    margin:  0 auto;
    margin-bottom: 70px;
    padding-bottom: 12px;
    background-color: #fff;
    border-radius: 20px;
    padding-top: 45px;
    padding-bottom: 30px;
}

.worksContents .sec01 .banner {
    max-width: 740px;
    margin: 0 auto;
}

.worksContents .works_item .works_item_inner {
    max-width: 930px;
    margin: 0 auto;
}

.worksContents .works_item .jisseki_title {
    width: 100%;
    border-bottom: 2px solid var(--main-blue);
    padding-bottom: 12px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.worksContents .works_item .jisseki_title h4 {
    color: var(--main-blue);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1.4px;
    line-height: 1.5;
}

.worksContents .works_item .jisseki_title > p {
    padding-right: 5px;
}

.worksContents .works_item .works_img_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.worksContents .works_item .works_img_wrap .main_imgArea {
    width: 48%;
}

.worksContents .works_item .works_img_wrap .sub_imgArea {
    width: 48%;
}

.worksContents .works_item .works_img_wrap .sub_imgArea > p {
    width: 100%;
    padding: 15px;
    background-color: var(--back-blue);
    color: var(--main-blue);
    font-weight: 600;
    margin-bottom: 30px;
}

.worksContents .works_item .works_img_wrap .sub_imgArea ul {
    display: flex;
    justify-content: space-between;
}

.worksContents .works_item .works_img_wrap .sub_imgArea ul li {
    width: 49%;
}


@media screen and (max-width:750px) {

.worksContents .sec01 {
    padding-bottom: 60px;
}

.worksContents .sec01 .worksWrap .works_list {
    margin-bottom: 10px;
}

.worksContents .sec01 .banner {
    max-width: 335px;
    margin: 0 auto;
}

.worksContents .works_item .jisseki_title h4 {
   margin-bottom: 10px;
}

}

@media screen and (max-width:600px) {

.worksContents .sec01 .worksWrap .works_item {
    width: 93%;
    margin: 0 auto;
    padding-bottom: 30px;
    margin-bottom: 50px;
    padding-top: 30px;
    border-radius: 12px;
}

.worksContents .works_item .works_item_inner {
    width: 93%;
    margin: 0 auto;
}


.worksContents .works_item .works_img_wrap {
    display: block;
}

.worksContents .works_item .works_img_wrap .main_imgArea {
    width: 100%;
}

.worksContents .works_item .works_img_wrap .sub_imgArea {
    width: 100%;
}

.worksContents .works_item .works_img_wrap .sub_imgArea > p {
    margin-top: 5px;
}




}

/*--------------------------お問合せ*/

.contactContents .sec01 {
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 80px;
    margin-bottom: 100px;
    padding: 0 50px;
}

.contact_h3 {
    font-size: 34px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 3px;
    position: relative;
  display: inline-block;
  margin-bottom: 50px;

}

.contact_h3:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -20px;/*線の上下位置*/
  display: inline-block;
  width: 60px;/*線の長さ*/
  height: 5px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(0%);/*位置調整*/
  background-color: var(--main-blue);/*線の色*/
  border-radius: 2px;/*線の丸み*/
}

.contactContents .line_contactWrap .read {
    font-size: 17px;
    letter-spacing: 0.8px;
    line-height: 1.8;
}

.contactContents .sec01 .linkCntn {
    margin-top: 80px;
    display: flex;
    flex-wrap: wrap;
}

.contactContents .sec01 .linkCntn .link_item p {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.contactContents .sec01 .linkCntn .line_button a {
    width: 360px;
    height: 62px;
    background-color: var(--line-green);
    border-radius: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 62px;
    letter-spacing: 1.1px;
    text-align: center;
    color: #fff;
    display: inline-block;
    vertical-align: middle;

}

.contactContents .sec01 .linkCntn .line_button a > span {
    width: 35px;
    height: 33px;
    background-image: url(../images/icon_line.svg);
    background-repeat: no-repeat;
    background-size: 35px;
    background-size: cover;
    margin-right: 15px;
    display: inline-block;
}

.contactContents .sec01 .linkCntn .line_qr {
    width: 180px;
}

.contactContents .sec01 .linkCntn .link_item {
    margin-right: 50px;
}

.contactContents .sec02 {
    background-color: var(--back-blue);
    padding-top: 100px;
    padding-bottom: 100px;
}

.contactContents .mailformWrap {
    background-color: #fff;
    max-width: 1000px;
    margin: 0 auto;
    padding: 80px 50px;
    border-radius: 20px;
}

.contactContents .mailformWrap .contact_read {
    font-size: 17px;
    letter-spacing: 0.8px;
    line-height: 1.8;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--main-blue);
}

.contactContents form dl dt .red {
    background-color: #DD6060;
    display: inline-block;
    width: 45px;
    height: 25px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    color: #fff;
    margin-right: 15px;

}

.contactContents form dl dt .blue {
    background-color: #1465A0;
    display: inline-block;
    width: 45px;
    height: 25px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    color: #fff;
    margin-right: 15px;

}

.contactContents form .note {
    text-align: center;
    margin-top: 30px;
}

.contactContents form .note a {
    color: var(--main-blue);
    font-weight: 600;
    letter-spacing: 1px;
}

.contactContents .sec03 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.contactContents .sec03 .privacyWrap {
    max-width: 900px;
    margin: 0 auto;
}

.contactContents .sec03 .privacyWrap .contact_h3 {
    margin-bottom: 60px;
}

.contactContents .sec03 .privacyWrap .pp_list {
    margin-top: 50px;
}

.contactContents .privacyWrap .pp_list div {
    margin-bottom: 40px;
    line-height: 1.9;
}

.contactContents .privacyWrap .pp_list .liaison {
    background-color: #F5F5F5;
    padding: 20px;
    width: 100%;
    margin-top: 20px;
}

.contactContents .privacyWrap .pp_list .liaison h4 {
    color: var(--main-blue);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1.3px;
    margin-bottom: 20px;
}

.contactContents .privacyWrap .pp_list .liaison p {
    color: var(--main-blue);
}

.contactContents .privacyWrap .pp_list .liaison address {
    margin-bottom: 20px;
}

.contactContents .privacyWrap .pp_list .liaison address .com_name {
    font-weight: 600;
    letter-spacing: 1.2px;
}

@media screen and (max-width:750px) {
    .contactContents .sec01 {
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 40px;
    padding: 0 20px;
}

.contact_h3 {
    font-size: 32px;
    letter-spacing: 2.3px;
}

.contactContents .sec01 .linkCntn {
    margin-top: 60px;
}

.contactContents .sec01 .linkCntn .link_item {
    margin-right: 0;
    margin-bottom: 30px;
}

.contactContents .sec01 .linkCntn .line_button a {
    width: 350px;
}

.contactContents .sec01 .linkCntn .line_button a {
    position: relative;
}

.contactContents .sec01 .linkCntn .line_button a > span {
    position: absolute;
    top: 13px;
    left: 58px;
}

.contactContents .sec02 {
    background-color: var(--back-blue);
    padding-top: 70px;
    padding-bottom: 70px;
}

.contactContents .mailformWrap {
    background-color: #fff;
    max-width: 93%;
    margin: 0 auto;
    padding: 50px 17px 30px;
}


.contactContents .sec03 {
    padding-top: 55px;
    padding-bottom: 70px;
}

.contactContents .sec03 .privacyWrap {
    width: 90%;
    margin: 0 auto;
}
}

@media screen and (max-width:400px) {
    .contactContents .contact_h3 {
        font-size: 27px;
        letter-spacing: 2px;
    }
}
}


/*--------------------------お問合せ_完了ページ*/

.thanksContents .sec01 {
    background-color: var(--back-blue);
    padding-top: 100px;
    padding-bottom: 100px;
}

.thanksContents .thanksWrap {
    background-color: #fff;
    max-width: 1000px;
    margin: 0 auto;
    padding: 80px 50px;
    border-radius: 20px;
}

.thanksContents h3 {
    font-size: 34px;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 3px;
    position: relative;
  display: inline-block;
  margin-bottom: 60px;

}

.thanksContents h3:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -25px;/*線の上下位置*/
  display: inline-block;
  width: 60px;/*線の長さ*/
  height: 5px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(0%);/*位置調整*/
  background-color: var(--main-blue);/*線の色*/
  border-radius: 2px;/*線の丸み*/
}

.thanksWrap .top_linkBtn {
    text-align: center;
    margin-top: 100px;
    margin-bottom: 100px;
}

.thanksWrap .top_linkBtn a {
    max-width: 360px;
    height: 60px;
    margin: 0 auto;
    background-color: var(--main-blue);
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 60px;
    letter-spacing: 1.2px;
    display: block;
}


.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
}
.fadein-bottom{
      transform: translate(0,30px);
}
.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}
















