@charset "utf-8";
/* CSS Document */
body {
    font-family: "Noto Sans Japanese", sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
.all{
	overflow: hidden !important;
}
img{
	width: 100%;
    height: auto;
    vertical-align: bottom;
}
.taC {
    text-align: center;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
b{
	font-weight: bold !important;
}
a{
	text-decoration: none;
}
.fcR{
	color: #d7304a;
	font-weight: bold;
}
.fcY{
	color: #fff74c;
	font-weight: bold;
}
.fsS{
	font-size: 10px;
}
.mark{
    background: linear-gradient(transparent 50%, #fff74c 50%);
}
ul,li {
  list-style: none;
}
.gla{
    background: linear-gradient(90deg, #e68c32, #da4343); /* グラデーションの設定 */
    -webkit-background-clip: text; /* テキストの背景をクリップする */
    -webkit-text-fill-color: transparent; /* テキストの色を透明にする */
    display: inline-block; /* インラインブロックにする */
}
.fs43{
    font-size: 43px;
}
.fs28{
    font-size: 28px;
    line-height: 1.3;
}
.fs18{
    font-size: 18px;
}
.g_k {
    font-size: 12px;
    line-height: 1.5;
    color:#888888;
}
@media screen and (max-width:760px){
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
	*{
		font-family: "Noto Sans Japanese", sans-serif !important;
	}
    .fs43 {
        font-size: 8vw;
    }
    .fs28{
        font-size: 7vw;
    }
}

/* ヘッダー */
.header_flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.header_btn a{
    border: 2px solid #438810;
    padding: 10px 60px;
    border-radius: 50px;
    margin: 0 5px;
    color: #438810 !important;
    transition: all .3s ease 0s;
    font-weight: bold;
    font-size: 21px;
    text-decoration: none !important;
}
.header_btn a:hover{
    cursor: pointer;
	transform: scale(1.1);
}
header {
    background-color: rgba(255,255,255,0.9);
    box-shadow: 0px 5px 10px 5px rgba(175, 175, 175, 0.2);
    width: 100%;
    margin: 0 auto;
    border-radius: 0;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
h1 {
    margin: 25px 15px 25px 0;
}
@media screen and (min-width:1101px) and ( max-width:1500px) {
    h1 {
        margin: 7% 15px 7% 20px;
        width: 75%;
    }
    .header_btn a {
        padding: 7px 40px;
        margin: 0 20px;
    }
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .header_btn a {
        font-size: 1.5vw;
        padding: 5px 30px;
    }
    .header_flex {
        width: 96%;
    }
    header {
        border-radius: 0;
    }
    h1 {
        margin: 13px 15px 10px 15px;
        width: 45%;
    }
}
@media screen and (max-width:760px){
    header {
        border-radius: 0;
    }
    .header_btn {
        margin: 8px 5px;
    }
    .header_btn a{
        font-size: 3.7vw;
        padding: 5px 30px;
    }
    h1 {
        margin: 10px 15px 10px 10px;
    }
    .header_logo {
        width: 34%;
    }
}


/* MV */
.mv_abs{
    position: absolute;
    display: flex;
    top: 627px;
    left: 400px;
}
.mv_abs a:hover{
    cursor: pointer;
	transform: scale(1.1);
}
@media screen and (min-width:761px) {
.mv_pc {
	background-image: url(../img/mv_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
}
.mv_pc_content{
    margin: 0 auto;
    max-width: 1600px;
    position: relative;
}
}
@media screen and (min-width:1001px) and ( max-width:1600px) {
    .mv_abs {
        top: 83%;
        left: 26%;
        width: 26%;
    }
}
@media screen and (min-width:761px) and (max-width:1000px) {
    .mv_abs {
        top: 83%;
        left: 26%;
        width: 26%;
    }
}
@media screen and (max-width:760px){
    .mv_sp {
        position: relative;
    }
    .mv_abs {
        top: 88%;
        left: 38%;
        justify-content: center;
        width: 53%;
    }
}

/* どんな建物も対応いたします！ */
.support {
    background-image: url(../img/support_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0 5% 4%;
}
.support h2{
	font-weight: bold;
    text-align: center;
    margin: 0 auto;
    width: 52%;
    padding: 6% 0 0;
}
.support_content{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.support_flex{
	display: flex;
	align-items: center;
    justify-content: center;
	flex-wrap: wrap;
    padding: 50px 0 20px;
}
.support_item {
    background: #fff;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    padding: 0%;
    margin: 0 1% 0;
    box-shadow: 0px 5px 11px 2px rgba(175, 175, 175, 0.5);
    text-align: center;
    font-weight: bold;
    color: #1f1f1f;
    font-size: 18px;
}
.support_icon01 {
    width: 23%;
    margin: auto;
    padding: 11% 39% 1%;
}
.support_icon02 {
    width: 45%;
    margin: auto;
    padding: 20% 28% 1%;
}
.support_icon03 {
    width: 70%;
    margin: auto;
    padding: 27% 13% 3%;
}
.support_icon04 {
    width: 37%;
    margin: auto;
    padding: 15% 31% 2%;
}
.support_icon05 {
    width: 23%;
    margin: auto;
    padding: 14% 39% 1%;
}
@media screen and (min-width:785px) and (max-width:1010px) {
    .support_item {
        width: 120px;
        height: 120px;
        font-size: 14px;
    }
    .support_flex {
        padding: 25px 0 20px;
    }
}
@media screen and (max-width:760px){
    .support h2 {
        width: 84%;
        padding: 15% 0 0;
    }
    .support {
        background-image: url(../img/support_bg_sp.jpg);
        padding: 0 3% 15%;
    }
    .support_item {
        width: 110px;
        height: 110px;
        font-size: 14px;
    }
    .support_flex {
        padding: 9% 0 0;
    }
}

/* 作業事例 */
.case{
    background-image: url(../img/case_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 5% 5% 4%;
}
.case h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}
.price_line {
    border-radius: 23px; /* ボーダーの角丸 */
    background: linear-gradient(to bottom, #e68c32, #da4343); /* 上から下へのグラデーション */
    padding: 3px;
    width: 32%;
    margin: 3% auto 5%;
}
.price_white{
    background: #fff;
    border-radius: 20px;
    padding: 10px;
}
.price{
    background: #fff;
    border-radius: 10px; /* ボーダーの角丸 */
    box-shadow: 0px 5px 11px 2px rgba(175, 175, 175, 0.5);
    display: flex;
    align-items: center;
}
.price_left{
    background: linear-gradient(to bottom, #e68c32, #da4343);
    border-radius: 10px 0 0 10px;
    padding: 4% 5%;
    font-size: 27px;
    font-weight: bold;
    color: #fff;
}
.price_right {
    width: 60%;
    margin: auto;
}
.case_price{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.price_box{
    background-color: #1f1f1f;
    color: #fff;
    padding: 1.5% 4%;
    width: 17%;
    margin: -5px 15px 0 0;
}
.price_box02{
    background-color: #1f1f1f;
    color: #fff;
    padding: 1.5% 4%;
    width: 12%;
    margin: -5px 15px 0 0;
}
.price_box p, .price_box02 p{
    color: #fff;
    font-size: 20px;
}
.case01_ttl{
    font-weight: bold;
    font-size: 20px;
}
.case01_ttl p{
    font-size: 25px;
    color: #1f1f1f;
}
.case01_content{
    display: flex;
    align-items: center;
    margin: 3% 0 0;
}
.case01_box{
    background-color: #e7e7e7;
    padding: 0.1% 3%;
    margin: 0 3% 0 0;
}
.case_item {
    margin: 5% 0;
}
.case_content {
    max-width: 900px;
    margin: 0 auto;
}
.case_abs {
    position: absolute;
    left: 7%;
    top: 26%;
}
.case_abs02 {
    position: absolute;
    right: 6.5%;
    top: 26%;
}
.case_abs03 {
    position: absolute;
    left: 4%;
    top: 26%;
}

.case_rel,.case_rel02 {
    position: relative;
}
@media screen and (min-width:1101px) and ( max-width:1600px) {
    .price_left {
        font-size: 18px;
    }
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .price_left {
        font-size: 18px;
    }
    .price_box p,.price_box02 p {
        font-size: 14px;
    }
    .case_abs {
        left: 6%;
        top: 24%;
    }
    .case01_ttl p {
        font-size: 25px;
    }
    .price_box {
        padding: 1.5% 4%;
        width: 12%;
    }
    .case01_ttl p {
        font-size: 23px;
        line-height: 1.3;
    }
    .price_img {
        width: 60%;
    }
    .case_abs02 {
        right: -0.5%;
        top: 22%;
    }
    .fs18 {
        font-size: 15px;
    }
    .case_abs03 .case01_ttl p {
        font-size: 17px;
        line-height: 1.3;
    }
    .price_box02 {
        padding: 1.5% 4%;
        width: 12%;
        margin: -5px 15px 0 0;
    }
    .case_abs03 {
        left: 5%;
        top: 25%;
    }
}
@media screen and (min-width:885px) and ( max-width:1100px) {
    .case_abs {
        left: 9%;
        top: 30%;
    }
    .case_abs02 {
        right: 3.5%;
        top: 28%;
    }
    .case_abs03 {
        left: 8%;
        top: 30%;
    }
}
@media screen and (max-width:760px){
    .case{
        background-image: url(../img/case_bg_sp.jpg);
        padding: 15% 0 14%;
    }
    .case h2 {
        font-size: 8vw;
    }
    .price_line {
        border-radius: 15px;
        padding: 3px;
        width: 90%;
        margin: 9% auto 0;
    }
    .price_white {
        border-radius: 12px;
        padding: 8px;
    }
    .price {
        border-radius: 7px;
    }
    .price_left {
        border-radius: 7px 0 0 7px;
        padding: 5% 5%;
        font-size: 21px;
    }
    .case_price {
        padding: 0 0 3%;
    }
    .case01_ttl {
        padding: 0 0 2%;
    }
    .case_rel {
        padding: 0 0 0 3%;
    }
    .case_rel02 {
        padding: 0 3% 0 0;
    }
    .case_abs {
        width: 48%;
        left: 8%;
        top: 24%;
    }
    .case_abs02 {
        width: 48%;
        right: 8%;
        top: 25%;
    }
    .case_abs03 {
        width: 48%;
        left: 8.4%;
        top: 25%;
    }
    .fs18 {
        font-size: 3.5vw;
    }
    .price_box p,.price_box02 p {
        font-size: 3.5vw;
    }
    .price_box {
        padding: 1.5% 4%;
        width: 28%;
        margin: -5px 8px 0 0;
    }
    .price_box02 {
        padding: 1.5% 4%;
        width: 28%;
        margin: -5px 8px 0 0;
    }
    .case01_ttl p {
        font-size: 4.5vw;
        line-height: 1.2;
    }
    .case01_content p {
        font-size: 3.5vw;
    }
    .case01_content {
        margin: 2% 0 0;
    }
}

/*  17条点検（消防用設備等の点検）とは？  */
.what{
    background-image: url(../img/what_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 6% 0 12%;
}
.what h2 {
    padding: 0 0 20px;
    width: 42%;
    margin: 0 auto;
}
.what_txt {
    text-align: center;
    width: 48%;
    margin: 0 auto;
    line-height: 1.5;
    padding: 3% 0 0;
}
.what_box {
    max-width: 1000px;
    width: 100%;
    margin: 2% auto 0;
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .what_box {
        width: 85%;
    }
    .what h2 {
        width: 58%;
    }
    .what {
        padding: 6% 0 15%;
    }
}
@media screen and (max-width:760px){
    .what h2 {
        padding: 0 0 30px;
        width: 96%;
    }
    .what_ttl_box {
        font-size: 19px;
        margin: 0;
    }
    .what_txt {
        width: 92%;
        padding: 4% 0 6%;
        font-size: 16px;
    }
    .what_txt p{
        padding: 5% 0 0;
    }
    .what {
        padding: 16% 3% 32%;
    }
}

/* こんなお悩み、ありませんか？ */
.worry{
    background-image: url(../img/worry_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    padding: 8% 0 9% 0;
    z-index: 1;
}
.worry h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.8;
    padding: 0 0 10px;
}
.worry_content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5%;
}
.worry_card{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -23%;
}
.b_bubble{
    background-color: #1f1f1f;
    color: #fff;
    padding: 10px 3%;
    font-size: 25px;
    border-radius: 50px;
}
.worry_flex{
    display: flex;
    justify-content: center;
}
.worry_item{
    position: relative;
}
.worry_item02{
    position: relative;
    padding: 2% 0 0;
}
.worry_abs{
    position: absolute;
    text-align: center;
    color: #1f1f1f;
    font-weight: bold;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.worry_abs02{
    position: absolute;
    text-align: center;
    color: #1f1f1f;
    font-weight: bold;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.worry_abs p{
    line-height: 1.4;
    font-size: 22px;
}
.worry_abs02 p{
    line-height: 1.4;
    font-size: 22px;
}

@media screen and (min-width:761px) and ( max-width:1600px) {
    .worry_abs p {
        font-size: 1.6vw;
    }
    .worry_abs02 p {
        font-size: 1.6vw;
    }
    .worry_abs02 {
        top: 57%;
    }
    .worry_abs {
        top: 46%;
    }
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .worry_card {
        top: -18%;
    }
    .worry h2 {
        font-size: 35px;
    }
    .b_bubble {
        font-size: 19px;
        border-radius: 50px;
    }
    .worry {
        padding: 8% 0 11% 0;
    }

}
@media screen and (max-width:760px){
    .worry_card {
        top: -15%;
        width: 94%;
    }
    .worry {
        background-image: url(../img/worry_bg_sp.png);
        padding: 32% 0 20% 0;
    }
    .worry h2 {
        width: 85%;
        margin: 0 auto;
    }
    .worry_flex{
        flex-wrap: wrap;
        width: 90%;
        margin: 4% auto 0;
    }
    .worry_abs p {
        font-size: 17px;
    }
    .worry_abs02 p {
        font-size: 17px;
    }
    .worry_abs{
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }
    .worry_abs02 {
        top: 52%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }
}


/* 悪徳業者にご注意ください！ */
.attention{
    background-color: #e8e8e8;
    margin: -100px 0 0;
    position: relative;
    padding: 125px 0 6%;
}
.attention_bubble{
    width: 80%;
    margin: auto;
}
.attention_bubble_wrapper{
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
}
.attention h2{
    font-weight: bold;
    font-size: 38px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.8;
    padding: 2% 0 20px;
}
.attention_flex{
    display: flex;
    justify-content: center;
    align-items: center;
}
.attention_right,.attention_left{
    display: flex;
    justify-content: center;
    align-items: center;
}
.attention_right_img{
    width: 37%;
}
.attention_left_img{
    width: 37%;
}
.attention_rel{
    position: relative;
}
.attention_abs01, .attention_abs02{
    position: absolute;
    width: 70%;
    top: 48%;
    left: 18.5%;
    transform: translate(0, -50%);
}
.attention_txt{
    text-align: center;
    padding: 12px 0 0;
}
.attention_txt p{
    line-height: 1.5;
}
.dots {
    width: 6px;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: -45px;
    z-index: 2;
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .attention_bubble {
        width: 100%;
    }
    .attention {
        margin: -83px 0 0;
        padding: 13% 0 15%;
    }
    .attention_content {
        padding: 0 5% 0;
    }
}
@media screen and (max-width:760px){
    .attention_bubble:before {
        left: 57%;
        margin-left: -9px;
        border: 9px solid transparent;
        border-top: 14px solid #db4543;
    }
    .attention_bubble {
        width: 100%;
    }
    .attention_bubble_wrapper {
        width: 70%;
    }
    .attention h2 {
        font-size: 7vw;
        line-height: 1.2;
        padding: 4% 0 30px;
    }
    .attention {
        margin: -100px 0 0;
        padding: 146px 0 15%;
    }
    .attention_flex {
        flex-wrap: wrap;
    }
    .dots {
        width: 5px;
        bottom: -26px;
    }
    .attention_left_img {
        width: 70%;
    }
    .attention_right_img {
        width: 70%;
    }
    .attention_content {
        padding: 0 4%;
    }
    .attention_abs01{
        position: absolute;
        width: 70%;
        top: 49%;
        left: 10.5%;
        transform: translate(0, -50%);
    }
    .attention_abs02 {
        position: absolute;
        width: 70%;
        top: 49%;
        left: 19.5%;
        transform: translate(0, -50%);
    }
    .attention_right, .attention_left {
        padding: 0 0 4%;
    }
}
@media screen and (min-width:470px) and ( max-width:760px) {
    .attention h2 {
        padding: 12% 0 30px;
    }
}

/* 防災屋にご相談ください！ */
@media screen and (min-width:761px) {
.consult {
	background-image: url(../img/consult_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
}
.consult_pc{
    margin: 0 auto;
    max-width: 1600px;
    position: relative;
}
}

/* お客様の声 */
.customer {
    padding: 100px 0 130px;
    margin: -40px auto 0;
    overflow: hidden;
    background: url(../img/customer_bg.png);
    background-position: center;
	background-repeat: no-repeat;
    position: relative;
    background-size: cover;
}
.customer h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}
.customer_ttl{
    padding: 0 0 3%;
}
.customer_left{
    position: absolute;
    top: 52%;
    transform: translate(0, -50%);
    left: -10%;
}
.example_ttl {
    background: linear-gradient(90deg, #e68c32, #da4343); /* グラデーションの設定 */
    -webkit-background-clip: text; /* テキストの背景をクリップする */
    -webkit-text-fill-color: transparent; /* テキストの色を透明にする */
    font-weight: bold;
    font-size: 25px;
    line-height: 1.4;
}
.customer_txt{
    line-height: 1.8;
}

@media screen and (max-width:760px){
    .example_ttl {
        text-align: center;
        margin: 0 0 10px;
    }
    .customer h2 {
        font-size: 8vw;
    }
    .customer {
        padding: 16% 0 22%;
        margin: -28px auto 0;
        background: url(../img/customer_bg_sp.png);
        background-position: center;
        background-size: cover;
    }
}

.swiper-card{
    background: #fff;
    box-shadow: 0px 5px 10px 5px rgba(175, 175, 175, 0.2);
    position: relative;
    margin: 0 40px;
}
.swiper-pa {
    padding: 50px 50px 50px 200px;
}
  
  .swiper-container {
    width: 100%;
    margin: 0 auto !important;
    padding: 1% 0 !important;
}

.swiper_content2 {
    position: relative;
    width: 22%;
    margin: 4% auto 0;
  }
  
  .swiper_content2 .bar {
    width: 60%;
    height: 8px;
    background: #888888;
  }
  
  .swiper_content2 .prev {
    left: auto !important;
    right: 19% !important;
    background-image: url(../img/right.png);
    background-size: 100%;
    width: 3vw !important;
    height: 3vw !important;
  }
  
  .swiper_content2 .next {
    background: url(../img/left.png);
    background-size: 100%;
    width: 3vw !important;
    height: 3vw !important;
  }
  
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #d7304a !important;
}

  .list_btn a {
    display: block;
    color: #1d236f;
    text-decoration: none;
    border-bottom: 0;
    width: 17%;
    margin: 7% auto 0;
    position: relative;
  }
  
  .list_btn a::before,
  .list_btn a::after {
    position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      content: "";
      vertical-align: middle;
  }
  
  .list_btn a::before {
    right: -75%;
    width: 0.5vw;
    height: 0.5vw;
    border-top: 2px solid #1d236f;
    border-right: 2px solid #1d236f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  .list_btn a button {
    padding: 4% 10% 4% 1%;;
    width: 100%;
    border-radius: 100px;
    margin: 7% auto 0;
    display: block;
    color: #1d236f;
    border: 1px solid #1d236f;
    font-size: 1.1vw;
    font-weight: bold;
    background-color:rgba(255,255,255,0);
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }
  
  .list_btn a:hover {
      opacity: 1;
  } 
  
  .list_btn a button:hover {
    background: #1d236f;
    color: #fff;
    border: 1px solid #1d236f;
  }
  
  .list_btn a:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  
  .list_btn a {
    display: block;
    color: #1d236f;
    text-decoration: none;
    border-bottom: 0;
    width: 17%;
    margin: 7% auto 0;
    position: relative;
  }
  
  .list_btn a::before,
  .list_btn a::after {
    position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      content: "";
      vertical-align: middle;
  }
  
  .list_btn a::before {
    right: -75%;
    width: 0.5vw;
    height: 0.5vw;
    border-top: 2px solid #1d236f;
    border-right: 2px solid #1d236f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  .list_btn a button {
    padding: 4% 10% 4% 1%;;
    width: 100%;
    border-radius: 100px;
    margin: 7% auto 0;
    display: block;
    color: #1d236f;
    border: 1px solid #1d236f;
    font-size: 1.1vw;
    font-weight: bold;
    background-color:rgba(255,255,255,0);
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }
  
  .list_btn a:hover {
      opacity: 1;
  } 
  
  .list_btn a button:hover {
    background: #1d236f;
    color: #fff;
    border: 1px solid #1d236f;
  }
  
  .list_btn a:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  .swiper-card {
    height: 310px !important;
    }
/* @media screen and (min-width:1400px) and ( max-width:1920px) {
    .swiper-card {
        height: 310px !important;
    }
} */
@media screen and (min-width:1399px) and ( max-width:1470px) {
    .example_ttl {
        font-size: 21px;
    }
    .swiper-pa {
        padding: 40px 50px 50px 200px;
    }
}
@media screen and (min-width:1000px) and ( max-width:1399px) {
    .swiper-card {
        height: 545px !important;
    }
    .example_name {
        font-size: 17px;
    }
    .swiper-card {
        margin: 0 20px;
    }
    .customer_left {
        width: 35%;
    }
    .swiper-pa {
        padding: 35px 50px 50px 165px;
    }
}
@media screen and (min-width:999px) and ( max-width:1100px) {
    /* .swiper-card {
        height: 840px !important;
    } */
    .example_name {
        font-size: 17px;
    }
    .swiper-card {
        margin: 0 20px;
    }
}
@media screen and (min-width:761px) and ( max-width:1100px) {
    .swiper-button-next, .swiper-button-prev{
        margin-top: -12px !important;
    }
    .swiper_content2 .prev {
        right: 12% !important;
        width: 4vw !important;
        height: 4vw !important;
      }
      .swiper_content2 .next {
        width: 4vw !important;
        height: 4vw !important;
      }
      .swiper_content2 .bar {
        width: 75%;
      }
    .swiper_content2 {
        position: relative;
        width: 57%;
        margin: 8% auto 0;
    }
}
@media screen and (min-width:761px) and ( max-width:1000px) {
    .swiper-card {
        height: 400px !important;
    }
    .customer_left {
        left: -14%;
    }
}
@media screen and (min-width:761px) and ( max-width:900px) {
    .swiper-card {
        height: 480px !important;
    }
}
  @media screen and (max-width: 760px) {
    .business {
      padding: 22% 0;
    }
    .title_size {
      font-size: 8vw;
      letter-spacing: 3px;
      margin-bottom: 13%;
      color: #2d2f34;
    }
    .swiper-card {
        background: #fff;
        box-shadow: 4px 5px 16px 1px rgba(0, 0, 0, .03);
        position: relative;
        height: auto;
        margin: 0;
    }
    .swiper-pa {
        padding: 135px 25px 30px;
        margin: 60px 0 0;
    }
    .swiper-container {
      width: 100%;
      padding: 1% 0 4%;
    }
    .side_gray_left {
      background: linear-gradient(90deg, rgba(241, 242, 243, 0.7) 50%, rgb(241, 242, 243, 0));
      width: 8%;
    }
    .side_gray_right {
      background: linear-gradient(-90deg, rgba(241, 242, 243, 0.7) 50%, rgb(241, 242, 243, 0));
      width: 8%;
    }
    .swiper_content2 {
        z-index: 998;
        width: 60%;
        margin: 13% auto 0;
    }
    .swiper_content2 .bar {
        width: 49%;
        height: 5px;
    }
    .swiper_content2 .prev {
      right: 26% !important;
      top: 7px;
      background-size: 100%;
      width: 10vw !important;
      height: 10vw !important;
    }
    
    .swiper_content2 .next {
        top: 7px;
        background-size: 100%;
        width: 10vw !important;
        height: 10vw !important;
    }
    .business_yazirushi {
      bottom: 5%;
      right: 7%;
      width: 6vw;
      height: 6vw;
    }
    .business_yazirushi span {
      top: 1.8vw;
      right: 39%;
      width: 2vw;
      height: 2vw;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
    }
    .list_btn a {
      width: 70%;
      margin: 30% auto 0;
    }
    .list_btn a button {
      padding: 5% 6% 5% 0%;
      margin: 7% auto 0;
      display: block;
      font-size: 4vw;
    }
    .list_btn a::before {
      right: -75%;
      width: 2vw;
      height: 2vw;
      border-top: 2px solid #1d236f;
      border-right: 2px solid #1d236f;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
    }
    .company_addres_span {
      display: inline-block !important;
    }
    .swiper-slide .square {
        font-size: 3vw;
    }
    .customer_left {
        position: absolute;
        top: -10%;
        transform: translate(-50%, 0);
        left: 50%;
    }
    .customer_txt {
        font-size: 15px;
    }
  }
@media screen and (min-width:451px) and ( max-width:759px) {
    .swiper-card {
        height: 500px !important;
    }
    .swiper-pa {
        padding: 235px 25px 30px;
        margin: 60px 0 0;
    }
    .customer_left {
        top: -7%;
    }
}
@media screen and (min-width:300px) and ( max-width:450px) {
    .swiper-card {
        height: 465px !important;
    }
    .example_txt {
        font-size: 3.6vw;
        line-height: 1.5;
    }
    .example_ttl p {
        font-size: 5vw;
    }
}

/* 防災屋が選ばれる3つの理由 */
.reason{
    background: url(../img/reason_bg.jpg);
    background-position: center;
	background-repeat: no-repeat;
    background-size: cover;
    padding: 8% 0 2%;
    margin: -35px 0 0;
}
.reason h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}
.reason_ttl{
    padding: 0 0 4%;
}
.reason_item01{
    width: 40%;
}
.reason_item02{
    width: 40%;
    margin-right: 0;
    margin-left: auto;
}
.reason_card{
    background: #fff;
    box-shadow: 0px 5px 11px 2px rgba(175, 175, 175, 0.5);
    border-radius: 0 15px 15px 0;
    width: 29%;
    padding: 3% 7% 3% 26%;
}
.reason_img , .reason_img03 {
    width: 20%;
    position: absolute;
    right: 22%;
    top: 50%;
    transform: translate(0, -50%);
}
.reason_rel{
    position: relative;
}
.reason_img02 {
    width: 20%;
    position: absolute;
    left: 24%;
    top: 50%;
    transform: translate(0, -50%);
}
.reason_card02{
    background: #fff;
    box-shadow: 0px 5px 11px 2px rgba(175, 175, 175, 0.5);
    border-radius:15px 0 0 15px;
    width: 29%;
    padding: 3% 25% 3% 7%;
    margin-right: 0;
    margin-left: auto;
}
.reason_card_flex{
    display: flex;
    align-items: center;
    font-weight: bold;
}
.reason_ttl_box {
    color: #e06a33;
    border: 2px solid #e06a33;
    padding: 10px 7px;
    font-size: 16px;
    margin: 0px 8px 0 0;
}
.reason_ttl_box p {
    line-height: 1.3;
}
.reason_ttl02{
    font-weight: bold;
}
.reason_item , .reason_item2 ,.reason_item3 {
    margin: 0 0 5%;
}
.reason_txt {
    line-height: 1.4;
}
@media screen and (min-width:761px) and ( max-width:1200px) {
    .reason_img02 {
        width: 28%;
        left: 14%;
    }
    .reason_img, .reason_img03 {
        width: 28%;
        right: 14%;
    }
}
@media screen and (max-width:760px){
    .reason h2 {
        font-size: 8vw;
        line-height: 1.3;
    }
    .reason_ttl {
        padding: 15% 0 10%;
    }
    .reason {
        background: url(../img/reason_bg_sp.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 12% 0 2%;
        margin: -45px 0 0;
    }
    .reason_card {
        border-radius: 0 10px 10px 0;
        width: 78%;
        padding: 7% 7% 25%;
    }
    .reason_img {
        width: 79%;
        position: absolute;
        right: 17%;
        top: 77%;
        transform: translate(0, 0);
    }
    .reason_item01 {
        width: 55%;
    }
    .ma {
        margin: -4% 0 0;
        padding: 0 0 2%;
    }
    .reason_ttl_box {
        padding: 0px 6px;
        font-size: 3.9vw;
        margin: 0px 8px 0 0;
    }
    .reason_card02 {
        border-radius: 10px 0 0 10px;
        width: 78%;
        padding: 9% 7% 25%;
    }
    .reason_item02 {
        width: 55%;
    }
    .reason_img02 {
        width: 74%;
        position: absolute;
        left: 17%;
        top: 77%;
        transform: translate(0, 0);
    }
    .reason_ttl02 {
        line-height: 1.4;
        padding: 0 0 3%;
    }
    .reason_item {
        margin: 0 0 40%;
    }
    .reason_item2 {
        margin: 0 0 27%;
    }
    .reason_item3 {
        margin: 0 0 40%;
    }
    .reason_img03 {
        width: 83%;
        position: absolute;
        right: 10%;
        top: 81%;
        transform: translate(0, 0);
    }
    .reason_card_flex p{
        line-height: 2.5;
    }
}


/* 配信までの流れ */
.flow {
    background: url(../img/flow_bg.jpg);
    background-position: center;
	background-repeat: no-repeat;
    background-size: cover;
    padding: 6% 5%;
    position: relative;
}
.flow h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}
.flow_content{
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}
.flow_flex{
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.flow_flex img {
    width: 100%;
}
.flow_content_ttl{
    padding: 0 0 4%;
}
.flow_item {
    padding: 0 1%;
    width: 27%;
}
.flow_item2 {
    padding: 0 1%;
    width: 25%;
}
.flow_ttl {
    text-align: center;
    line-height: 1.5;
    font-size: 21px;
    padding: 15px 0 5px;
    font-weight: bold;
    color: #d7304a;
}
.flow_wrapper{
    width: 93%;
}
.flow_txt{
    text-align: justify;
    line-height: 1.7;
}
@media screen and (max-width:760px){
    .flow h2 {
        font-size: 8vw;
        line-height: 1.3;
    }
    .flow_flex img {
        width: 36%;
        padding: 0 4% 5% 0;
    }
    .flow_flex {
        display: block;
    }
    .flow_item{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        width: 100%;
    }
    .flow_item2{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        width: 100%;
    }
    .flow {
        padding: 15% 6% 13%;
    }
    .flow_ttl {
        padding: 0 0 4px;
        text-align: left;
    }
    .flow_ttl p{
        font-size: 5.3vw;
        line-height: 1.3;
    }
    .flow_txt {
        line-height: 1.4;
        font-size: 4vw;
    }
    .flow_wrapper {
        width: 100%;
        margin: -6% 0 0;
    }
    .flow_content_ttl {
        padding: 0 0 11%;
    }
}

/* Q&A */
.qa {
    background-color: white;
    background-image: 
    linear-gradient(90deg, rgba(248, 248, 248, 1) 1px, transparent 1px),
    linear-gradient(rgba(248, 248, 248, 1) 1px, transparent 1px);
    background-size: 15px 15px; /* 20pxごとに線を描画 */
    padding: 6% 0;
}
.qa h2{
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}

.qa_content {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
}
.qa_ttl h2 {
    margin: 0;
}
.qa_card {
    padding: 15px 50px 0;
}
.line_under_ttl {
    background-color: #d7304a;
    width: 70px;
    height: 4px;
    margin: 5px auto;
}

@media screen and (max-width: 760px) {
    .qa_card {
        padding: 0;
    }
    .line_under_ttl {
        width: 50px;
        height: 3px;
        margin: 0px auto;
    }
}

/*---------- Q%A アコーディオン----------*/
dl {
    margin: 0;
}
.toggle_title {
    border-bottom: 2px solid #ddd;
    position: relative;
    padding: 4% 13% 4% 8.9%;
    cursor: pointer;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.4;
    font-weight: bold;
    color: #2d2d2d;
    max-height: 999999px;
}
.toggle_title02 {
    position: relative;
    padding: 4% 3% 4% 8.9%;
    cursor: pointer;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.4;
    font-weight: bold;
    color: #1f1f1f;
    max-height: 999999px;
}
dt.toggle_title.selected{
    border-bottom: none !important;
}
.toggle_contents dd {
    display: none;
    margin-inline-start: 0;
    padding: 0 20px;
    background: linear-gradient(90deg, #fdf5ea, #fbeaed);
    border-radius: 10px;
}
.toggle_contents:first-of-type dd {
    padding: 0 27px;
    display: block;
}
.toggle_contents dd p{
    font-size: 1rem;
    line-height: 1.5;
    padding: 3% 2%;
    box-sizing: border-box;
    color: #1f1f1f;
    position: relative;
}
.toggle_title::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../img/q.png) no-repeat;
    background-size: contain;
    margin-left: -3em;
    padding-right: 2.5em;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}
.toggle_title02::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../img/q.png) no-repeat;
    background-size: contain;
    margin-left: -2.6em;
    padding-right: 2.5em;
    position: absolute;
    top: 25px;
}
.a_item {
    margin: auto 0;
}

.qa_txt_waku img {
    width: 30px;
    height: 30px;
}
.qa_txt_waku {
    border-radius: 10px;
}

/*ボタン*/
.toggle_btn {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.toggle_btn::before,
.toggle_btn::after {
    content: '';
    position: absolute;
    background-color: #d7304a;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.toggle_btn::before {
    width: 27px;
    height: 3px;
}

.toggle_btn::after {
    width: 3px;
    height: 27px;
}

.toggle_title.selected .toggle_btn::before {
    transform: rotate(0deg);
}

.toggle_title.selected .toggle_btn::after {
    opacity: 0; /* 縦棒を透明にする */
}

@media screen and (min-width:485px) and ( max-width:760px) {
    .toggle_title::before {
        margin-left: -2em;
    }
}
@media screen and (max-width:760px){ 
    .qa h2 {
        font-size: 8vw;
    }
    .qa {
        padding: 0 5%;
    }
    .qa_ttl {
        margin: 0 0 5%;
    }
    .toggle_contents dd {
        padding: 0 14px;
    }
    .toggle_title {
        font-size: 4.5vw;
        padding: 6% 17% 6% 47px;
        border-radius: 5px;
    }
    .toggle_title::before {
        top: 50%;
        left: 60px;
        width: 30px;
        height: 30px;
    }
    .toggle_title02 {
        font-size: 16px;
        padding: 6% 5% 6% 16%;
        border-radius: 5px;
    }
    .toggle_title02::before {
        top: 26%;
        left: 16%;
        width: 30px;
        height: 30px;
    }
    .toggle_contents:first-of-type dd {
        padding: 0 0 0 12px;
    }
    .toggle_contents dd p {
        margin: auto;
        font-size: 4vw;
        line-height: 1.5;
        padding: 8% 5% 8% 3%;
        box-sizing: border-box;
        position: relative;
        margin-left: 5px;
    }
    .toggle_contents dd {
        border-radius: 5px;
    }
    .toggle_txt::before {
        top: 7%;
        left: -9%;
    }
    .qa_txt_waku {
        border-radius: 0;
    }
    .qa_txt_waku img {
        width: 26px;
        height: 26px;
    }
    .toggle_btn {
        right: 20px;
    }
    .toggle_btn::before {
        width: 23px;
        height: 3px;
    }
    .toggle_btn::after {
        width: 3px;
        height: 23px;
    }
}

/* フォーム */
.form_content h2 {
    font-weight: bold;
    font-size: 43px;
    text-align: center;
    color: #1f1f1f;
    line-height: 1.4;
    padding: 0 0 10px;
}
.form{
    background: #f7f7f7;
    padding: 6% 0 0;
}
.form_bubble{
    background: linear-gradient(to bottom, #e68c32, #da4343);
    border-radius: 5px;
    padding: 0.4% 0;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    width: 27%;
    text-align: center;
    margin: 0 auto 2%;
    position: relative;
}
.form_bubble:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 14px solid #db4543;
}
.form_ttl{
    padding: 0 0 4%;
}
.step {
    width: 100%;
    margin: 0 auto;
    max-width: 700px;
}
@media screen and (max-width: 760px) {
    .form {
        padding: 15% 0 0;
    }
    .form_bubble {
        border-radius: 5px;
        padding: 1% 0;
        font-size: 4.5vw;
        width: 65%;
    }
    .form_ttl {
        padding: 0 0 9%;
    }
    .form_bubble:before {
        margin-left: -8px;
        border: 8px solid transparent;
        border-top: 10px solid #db4543;
    }
    .form_content h2 {
        padding: 3% 0;
        font-size: 8vw;
    }
    .step {
        width: 91%;
    }
}

 /* 追従ボタン */
/* デザインに関する記述 */
.cta_follow_content{
	padding: 3%;
}
.foloow_flex{
	display: flex;
	justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}
.foloow_flex a{
	width: 49%;
	padding: 1% 0 0;
}
.cta_follow_rel {
    background: #fff;
    padding: 4% 4% 3%;
    width: 100%;
    box-shadow: 0px 5px 11px 2px rgba(175, 175, 175, 0.5);
}
.cta_follow_abs {
    padding: 3% 0 0;
}
@media screen and (max-width: 760px) {
    .cta_follow_rel {
        padding: 2% 7% 2%;
        width: 86%;
    }
}

/* 動きに関する記述 */
.ScrollTop {
    opacity: 0;
    transition: all 0.65s;
    position: fixed;
    z-index: 999;
    bottom: 4%;
    right: 4%;
    margin: auto;
}
.ScrollTop.isActive {
    opacity: 1;
    transition: all 0.65s;
	visibility: visible;
}

@media screen and (max-width: 760px) {
    .ScrollTop {
        width: 100%;
        max-width: 760px;
        bottom: 0;
        right: 0;
    }
}

