@charset "UTF-8";

/*共通*/
p {
line-height: 1.6;
word-wrap: break-word;
font-family: 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif , 'ヒラギノ角ゴ Pro W3';
}
.contents{
margin: 0 auto;
padding: 0;
overflow: hidden;
color: #333;
background: #fff;
}
.contents-box{
max-width: 900px;
margin: 0 auto;
box-sizing:border-box;
}
a:link, a:visited, a:hover, a:active {
color: #fff;
text-decoration: none;
}
a:hover {
opacity: 0.7;
}
.pc_ds{
display: block;
}
.sp_ds{
display: none;
}
img{
max-width: 100%;
width: 100%;
}

/*テキスト*/
.comment {
font-size: 26px;
font-weight: bold;
}
b{
font-weight: bold;
}
.tyu{
font-size: 12px;
}
.y_lin{
background: rgba(0, 0, 0, 0)linear-gradient(transparent 70%, #fbf24b 0%)repeat scroll 0 0;
}
.co_r{
color: #f9234b;
}
.ta_r{
text-align: right;
}
.ta_c{
text-align: center;
}

/*margin*/
.mt1{
margin-top: 1%; 
}
.mt2{
margin-top: 2%; 
}
.mt3{
margin-top: 3%; 
}
.mt4{
margin-top: 4%; 
}
.mb1{
margin-bottom: 1%; 
}
.mb2{
margin-bottom: 2%; 
}
.mb3{
margin-bottom: 3%; 
}
.mb4{
margin-bottom: 4%; 
}

/*ポジション*/
.po_r{
position: relative;
}
.po_a{
position: absolute;
}

/*ポジション　上下左右中央*/
.po_ce{
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
/*ポジション　左右中央*/
.po_lr_ce{
top: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

/*----------sp------------*/
@media (max-width: 767px) { 
/*共通*/
.contents{
width: 100%;
}
.sp_ds{
display: block;
}
.pc_ds{
display: none;
}
.pc_ds2{
display: none;
}
.contents_wrapper {
width: 100%;
}
/*テキスト*/
.tyu{
font-size: 10px;
}
}

/*　ページ内　*/
/* ------------ header ------------ */
header{
background-color: #fff;
}
.hea_contents{
padding: 10px 3%;
max-width: 1000px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin: 0 auto;
}
@media (max-width: 767px) { 
.hea_contents{
padding: 10px 3% 10px 0;
}
.hea_logo{
width: 45%;
}
.hea_img{
width: 45%;
}
}
/* ------------ mv ------------ */
.mv_contents{
background-image: url(../img/mv_bg.jpg);
background-repeat:no-repeat;
background-size:cover;
}
.contents-box-mv{
max-width: 1000px;
margin: 0 auto;
box-sizing:border-box;
}
.mv_main{
padding: 0 1% 1%;
}
.wh_space{
background-color: #fff;
height: 5px;
}
.br_space{
background-color: #0e72da;
height: 20px;
margin-bottom: 1%;
}
@media (max-width: 767px) { 
.mv_main{
padding: 0;
}
.wh_space{
display: none;
}
.br_space{
display: none;
}
}
/* ------------ 問い合わせ ------------ */
.contact_contents{
padding: 0 35% 3%;
}
.contact_contents p{
 text-align: center;
 color:#ff5a00;
 font-size:1.5rem;
 font-weight:bold;
}
.contact_contents .contact_box{
border: 3px solid #074687;
border-radius: 5px;
max-width: 890px;
margin: 0 auto;
}
.contact_contents .contact_box h3{
text-align: center;
padding: 10px;
font-size: 22px;
background-color: #074687;
color: #fff;
font-weight: bold;
margin-bottom: 1%;
}
.contact_contents .contact_img{
margin-right: 3%;
}
.contact_contents .btn_area{
bottom: 5%;
right: 2%;
max-width: 800px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
flex-wrap: nowrap;
}
.contact_contents .btn_area .tel_btn{
margin-right: 5px;
}

@media (max-width: 767px) { 
.contact_contents{
padding: 5% 3%;
}
.contact_contents p{
    font-size:16px;
}
.contact_contents .contact_box h3{
font-size: 20px;
}
.contact_contents .btn_area {
bottom: 3%;
right: 0;
margin: 0 2%;
}
}
/* ------------ cp ------------ */
.cp_contents{
background-color: #fcde28;
}
.cp_lin{
background-size: auto auto;
background-color: rgba(252, 222, 40, 1);
background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(0, 0, 0, 1) 6px, rgba(0, 0, 0, 1) 12px );
height: 10px;
}
.cp_contents .cp_box{
text-align: center;
padding: 2%;
font-weight: bold;
}
.cp_contents .cp_box .cp_syu{
font-size: 16px; 
}
.cp_contents .cp_box .cp_txt{
font-size: min(3.1vw,27px);
line-height: 1.4;
margin-top: 2%;
}
.cp_contents .cp_box .cp_txt span{
color: #c90000;
}
.cp_contents .cp_box_img{
text-align: center;
padding: 3% 1%;
}
@media (max-width: 767px) {
.cp_contents .cp_box{
padding: 4% 2%;
}
.cp_contents .cp_box .cp_syu{
font-size: 14px; 
}
.cp_contents .cp_box .cp_txt{
font-size: max(4vw,20px);
margin-top: 2%;
}
}
/* ------------ カード ------------ */
.card_area .contents-box div {
padding: 3%;
max-width: 800px;
margin: 0 auto;
}
.card_area .contents-box div img {
text-align: center;
margin: 0 auto;
}
/* ------------ カード2 ------------ */
.card_area2 .contents-box div {
padding: 0 0 4%;
max-width: 800px;
    text-align: center;
    margin: 0 auto;
}
.card_area2 .contents-box div img {
text-align: center;
margin: 0 auto;
}
@media (max-width: 767px) { 
.card_area2 .contents-box div {
padding: 1% 2% 4%;
}
}

/* ------------ 価格 ------------ */
.price_contents{
background-image: url(../img/price_bg.jpg);
background-repeat:no-repeat;
background-size:cover;
padding: 4% 3% 8%;
margin-bottom: 3%;
}
.price_tit{
margin: 2% 0;
}
.price_img{
margin: 2% 0;
}
@media (max-width: 767px) {
.price_contents{
padding: 10% 3%;
}
}
/* ------------ 火災保険 ------------ */
.kasai_contents{
    padding: 2% 0 7%;
}
.kasai_contents .contents-box div {
text-align: center;
margin: 0 auto;
max-width: 750px;
}
@media (max-width: 767px) { 
.kasai_contents{
    padding: 2% 2% 7%;
}
}
/* ------------ 対応地域 ------------ */
.area_contents{
background-image: url(../img/area_bg.jpg);
background-repeat:no-repeat;
background-size:cover;
    padding: 5% 1% 7%;
}
.area_contents .contents-box div {
text-align: center;
margin: 0 auto;
}
@media (max-width: 767px) { 
.area_contents{
    padding: 8% 2% 10%;
}
}

/* ------------ 事例 ------------ */
.user_voice_contents{
background-image: url(../img/voice_bg.jpg);
background-repeat:no-repeat;
background-size:cover;
    padding: 5% 0 7%;
}
.user_voice_contents h1{
margin: 0 auto 3%;
text-align: center;
font-size: 45px;
font-weight: bold;
color: #074687;
}
@media (max-width: 767px) {
.user_voice_contents{
padding: 10% 0 15%;
}
.user_voice_contents h1{
margin: 0 auto 5%;
font-size: 35px;
}
.user_voice_tyu{
    text-align: center;
    margin-bottom: 5px;
    font-size: 13px;
    color: #5d5d5d;
}
}

/*スライダー*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width: 100%;
    margin:25px auto 0;
}

.slick-slide img {
    display: inline-block;
    padding: 0;
    margin: 0 auto;
}

.slider .slick-slide {
    transform: scale(0.8);/*左右の画像のサイズを80%に*/
    transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
    opacity: 0.5;/*透過50%*/
}

.slider .slick-slide.slick-center{
    transform: scale(1);/*中央の画像のサイズだけ等倍に*/
    opacity: 1;/*透過なし*/
}

.slick-list {
    overflow: inherit;
}

/*矢印の設定*/
.slick-prev {/*戻る矢印の位置と形状*/
    left: 23.7%;
    z-index: 999;
}

.slick-next {/*次へ矢印の位置と形状*/
    right: 25.2%;
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
    margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
    margin:0 5px;
}

.slick-next:before {
    content: '▶';
}
.slick-prev:before {
    content: '◀';
}
.slick-prev:before, .slick-next:before{
    color: #ff5a00;
    font-size: 40px;
}
ul {
    padding-inline-start: 0px;
}

.slick-dots li button:before {
    font-size: 11px;
    color: #000;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #0d66d6;
}

.slide_contents{
    max-width: 900px;
    width:45vw!important;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    margin: 0 auto;
}

.slide_contents{
    width: 88vw!important;
}

/*矢印の設定*/
.slick-prev {/*戻る矢印の位置と形状*/
    left: 0;
    z-index: 999;
    display: none!important;
}

.slick-next {/*次へ矢印の位置と形状*/
    right: 3%;
    z-index: 999;
    display: none!important;
}
}

/* ------------ 低価格を実現できる理由 ------------ */
.reason_contents{
    background-color: #fffcec;
    padding: 7% 3% 7%;
}
.reason_tit{
    text-align: center;
    margin: 0 auto 4%;
    padding: 1% 2%;
    max-width: 700px;
}
.reason_txt{
    margin-bottom: 4%;
}
.reason_contents p{
    padding: 0 2%;
}
.reason_img{
    text-align: center;
    margin: 0 auto 4%;
    padding: 1% 2%;
    max-width: 800px;
}
@media (max-width: 767px) { 
.reason_contents{
    padding: 15% 3% 20%;
}
.reason_tit{
    margin: 0 auto 7%;
    padding: 1%;
}
.reason_txt{
    margin-bottom: 9%;
}
.reason_img{
    margin: 0 auto 8%;
}
}

/* ------------ 5つの理由 ------------ */
.five_reason_contents{
    padding: 7% 3% 7%;
}
.five_reason_tit{
    text-align: center;
    margin: 0 auto 5%;
    padding: 1% 2%;
    max-width: 600px;
}
.five_reason_img{
    text-align: center;
    margin: 0 auto 4%;
    padding: 1% 2%;
}
@media (max-width: 767px) { 
.five_reason_contents{
    padding: 18% 3% 20%;
}
}

/* ------------ 流れ ------------ */
.flow_contents{
background-image: url(../img/flow_bg.jpg);
background-repeat:no-repeat;
background-size:cover;
    padding: 7% 0 7%;
}
.flow_tit{
    text-align: center;
    margin: 0 auto 4%;
    padding: 1% 2%;
    max-width: 500px; 
}
.flow_img{
    text-align: center;
    margin: 0 auto 4%;
    padding: 1% 2%;
}
@media (max-width: 767px) { 
.flow_contents{
    padding: 20% 0 17%;
}
.flow_tit{
    padding: 1% 8%;
}
.flow_img{
    padding: 1%;
}
}

/* ------------ Q&A ------------ */
.faq_contents{
    padding: 7% 0 7%;
}
.faq_contents h1{
margin: 0 auto 5%;
text-align: center;
font-size: 45px;
font-weight: bold;
color: #074687;
}
.faq_box{
    margin: 3% 1% 4%;
}
p.faq_q{
background-color: #074687;
    padding: 1% 2%;
    color: #fff;
    font-weight: bold;
    margin-bottom: 1%;
}
p.faq_a{
    padding: 0 2%;
}
@media (max-width: 767px) { 
.faq_contents{
    padding: 15% 2% 15%;
}
.faq_box{
    margin: 3% 0 9%;
}
p.faq_q{
    padding: 2% 3%;
    margin-bottom: 2%;
}
p.faq_a {
    padding: 0 3%;
}
}

/* ------------ フォーム ------------ */
.foam_contents{
background-color: #074687;
padding: 5% 3% 10%;
}
.foam_contents .foam_box{
background-color: #fff;
padding: 8% 7%;
}
.foam_contents h1{
margin: 0 auto 6%;
text-align: center;
font-size: 45px;
font-weight: bold;
color: #074687;
}
.foam_contents table{
width: 100%;
border-collapse: collapse;
}
.foam_contents tr{
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
flex-wrap: nowrap;
margin: 0 0 3%;
}
.foam_contents th{
background-color: #074687;
padding: 10px;
color: #fff;
text-align: left;
}
.foam_contents th span.must {
    padding: 2px 8px 4px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 2%;
    background-color: #ff5a00;
    text-align: center;
    font-weight: bold;
    border-radius: 5px;
    vertical-align: middle;
}
.foam_contents td{
margin: 1% 1% 0 1%;
}
.foam_contents td input{
width: 97%;
height: 20px;
padding: 1%;
}
.foam_contents td .email-confirm{
font-size: 15px;
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: nowrap;
}
.foam_contents td .email-confirm input{
width: auto;
height: 20px;
padding: 0;
margin-right: 5px;
}
.foam_contents td .postal-frx{
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
}
.foam_contents td .postal-contents{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
}
.foam_contents td .postal-contents input.p-postal-code{
width: 35%;
height: 25px;
padding: 1%;
margin: 0 5px;
}
.foam_contents td .postal-frx input{
width: 70%;
height: 20px;
padding: 1%;
margin: 0 5px;
}
.foam_contents td span{
margin: 5px 0;
font-weight: bold;
font-size: 14px;
}
.foam_contents td p{
margin: 5px 0;
}
.foam_contents .policy{
font-size: 13px;
border: 1px solid #767676;
border-radius: 10px;
padding: 5px;
}
.policy-txt{
height: 200px;
overflow-y: scroll;
overflow-x:hidden;
padding: 2.5%;
}
.foam_contents .policy ::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.foam_contents .policy ::-webkit-scrollbar-thumb {
background: #686868;
border-radius: 5px;
}
.foam_contents .policy ::-webkit-scrollbar-track {
background: #ececec;
border-radius: 5px;
}
.foam_contents .submitbtn{
margin: 5% auto 0;
max-width: 40%;
border-radius: 50px;
}
.foam_contents .submitbtn input {
border: none;
background-color: #d3d3d3;
text-align: center;
padding: 5% 10%;
width: 100%;
border-radius: 50px;
font-size: 18px;
font-weight: bold;
color: #fff;
}
.foam_contents p.submitbtn.active input {
background-color: #ffa700;
}
.submitbtn input[type="submit"] {
    -webkit-appearance: none;
}

@media (max-width: 767px) { 
.foam_contents {
padding: 7% 3% 20%;
margin: 10% 0 0;
}
.foam_contents .foam_box {
padding: 8% 4%;
}
.foam_contents h1{
font-size: 35px;
}
.foam_contents tr{
margin: 0 0 8%;
}
.foam_contents td {
margin: 3% 1% 0 1%;
}
.foam_contents td .email-confirm {
font-size: 14px;
}
.foam_contents td .email-confirm input {
margin-right: 10px;
}
.foam_contents td .postal-contents {
width: 75%;
}
.foam_contents td input{
height: 25px;
}
.foam_contents td .postal-contents input.p-postal-code{
width: 45%;
height: 25px;
}
.foam_contents td .postal-frx input{
width: 70%;
height: 25px;
}
.foam_contents .submitbtn {
margin: 15% auto 5%;
max-width: 90%;
}
.foam_contents .submitbtn input {
margin: 0 0 8% 0;
}
}
/* ------------ フォーム 確認画面 ------------ */
.foam_contents .submitbtn.confi {
margin: 5% auto 0;
max-width: 70%;
border-radius: 50px;
display: flex;
justify-content: space-around;
}
.foam_contents .submitbtn.confi input {
padding: 3%;
width: 45%;
}
.foam_contents .submitbtn.confi input.btnco{
background-color: #ffa700;    
}
@media (max-width: 767px) {
.foam_contents .submitbtn.confi {
max-width: 90%;
justify-content: space-around;
flex-direction: column;
}
.foam_contents .submitbtn.confi input {
padding: 5%;
width: 100%;
}
}

/* ------------ フォーム 完了画面 ------------ */
a.backbtn{
margin: 5% auto 0;
width: 40%;
border-radius: 50px;
border: none;
background-color: #d3d3d3;
text-align: center;
padding: 2% 15%;
font-size: 18px;
font-weight: bold;
color: #fff;
}

/* ------------ footer ------------ */
footer {
    background-color: #e6eff8;
    text-align: center;
    padding: 3% 3% 8%;
    font-size: 13px;
}
footer li {
    margin: 8px 0;
    color: #074687;
}
@media (max-width: 767px) { 
    footer {
        padding: 7% 3% 25%;
    }
}

/*240425*/
.cp_box_img .ribbon,
.cp_box_img .card{
    position: relative;
}
.cp_box_img .ribbon{
    animation: stretch 2s linear infinite;
}
@keyframes stretch {
    0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
    20%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
    40%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
    50%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
    60%  { transform: scale(0.95, 1.05) translate(0%, -3%); }
    70%  { transform: scale(1.05, 0.95) translate(0%, 3%); }
    80%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
    100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
.cp_box_img .card{
    z-index: 2;
    margin-top: -8px;
}
.scroll{
    display: block;
    width: 23%;
    max-width: 100px;
    margin: 0 auto 15px;
}
.follow_area{
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    padding: 10px;
    background: rgba(255,255,255,0.6);
}
.follow_area>div{
    display: flex;
    justify-content: center;
}
.contact_contents a,
.follow_area .tel_btn,
.follow_area .web_btn{
    display: block;
    position: relative;
    overflow: hidden;
}
.contact_contents a::before,
.follow_area .tel_btn::before,
.follow_area .web_btn::before{
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny 3s ease-in-out infinite;
}
@-webkit-keyframes shiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

@media (min-width: 768px) { 
    .follow_area{
        justify-content: center;
    }
    .follow_area .tel_btn,
    .follow_area .web_btn{
        width: 30%;
        max-width: 240px;
    }
    .follow_area .tel_btn{
        margin-right: 10px;
    }
}
@media (max-width: 767px) { 
    .cp_box_img .card{
        margin-top: -14px;
    }
    .follow_area>div{
        justify-content: space-between;
    }
    .follow_area .tel_btn,
    .follow_area .web_btn{
        width: 49%;
    }
}