	/* 
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;
    font-style:normal;
    font-weight:normal
}



@font-face {
    font-family: 'webfont';
    src: 
    url('/font/ZenKakuGothicNew-Black.ttf')  format('ttf'),
    url('/font/ZenKakuGothicNew-Light.ttf')  format('ttf'),
    url('/font/ZenKakuGothicNew-Medium.ttf')  format('ttf'),
    url('/font/ZenKakuGothicNew-Regular.ttf')  format('ttf'),
    url('/font/ZenKakuGothicNew-Bold.ttf')  format('ttf');
}

h1,h2,h3,h4,p,li,a  {
    font-family: 'webfont', sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
img {
	width: 100%;
	vertical-align:top;
}

body {
    padding-bottom: 100px;
}

a {
    color: #0062b0;
    transition: .2s;
}
a:hover {
    opacity: .7;
    transition: .2s;
}


/* ----- KV ----- */
.kv {
    text-align: center;
}
.kv p {
    font-size: 1.2rem;
    background-color: #0062b0;
    padding: 2% 5% 5%;
    color: #fff;
}
.triangle {
    max-width: 200px;
}



.wrap {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}



/* ----- 大切な住宅や家財を… ----- */
.topcase {
    background-color: #fcf7ce;
    border-radius: 20px;
    padding: 20px 20px 40px;
    text-align: center;
    margin-top: 30px;
}
.topcase h2 {
    vertical-align: baseline;
    font-weight: 600;
    font-size: 1.4rem;
    color: #0062b0;
    background-color: #fff;
    border-radius: 10px;
    padding: 0 20px;
}
.topcase h2 span {
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 2;
}
.topcase h2 .orange {
    color: #f06037;
}
.topcase .ct {
    max-width: 700px;
    margin: 20px auto 50px;
}
.topcase .btn img {
    max-width: 500px;
}


/* ----- 特徴 共通 ----- */
.kasai {
    text-align: center;
    margin: 50px 0;
}
.kasai h2 {
    font-size: 2.4rem;
    font-weight: 600;
    color: #f06037;
}

.features {
    margin: 5% auto;
    background-color: #fcf7ce;
    border-radius: 20px;
}
.features h2 {
    font-size: 2rem;
    color: #fff;
    background-color: #f06037;
    border-radius: 20px 20px 0 0;
    padding-top: 8px;
}
.features h2::before {
    content: '';
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    width: 80px;
    height: 80px;
    transform: translateY(-4px); /* 上下方向の位置を微調整する */
}

/* ----- 特徴 1 ----- */
.features.c1 {
    padding-bottom: 4%;
}
.features.c1 h2::before {
    background-image: url(../images/fire_features1_icon.png);
}
.features.c1 img {
    width: 90%;
    max-width: 800px;
    margin: 20px auto;
}
.features.c1 p {
    width: 90%;
    max-width: 800px;
    text-align: left;
    font-size: .8rem;
    margin: 0 auto;
    color: #3c3c3c;
}

/* ----- 特徴 2 ----- */
.features.c2 h2::before {
    background-image: url(../images/fire_features2_icon.png);
}
.features.c2 img {
    width: 90%;
    max-width: 800px;
    margin: 20px auto;
}

/* ----- 特徴 3 ----- */
.features.c3 h2::before {
    background-image: url(../images/fire_features3_icon.png);
}
.features.c3 img {
    width: 90%;
    max-width: 400px;
    margin: 20px;
}
.features.c3 .jishin {
    max-width: 850px;
}
.features.c3 p {
    width: 90%;
    max-width: 800px;
    text-align: left;
    margin: 30px auto 20px;
    color: #3c3c3c;
}
.features.c3 .sarani {
    max-width: 500px;
    margin: 0 auto;
}
.features.c3 .kome {
    max-width: 850px;
    text-align: left;
    font-size: .8rem;
    padding-bottom: 20px;
    margin: 0 auto;
}

/* ----- 特徴 地震特約 ----- */
.features.plus {
    background-color: transparent;
}
.features.plus .plus_box {
    background-color: #fcf7ce;
}
.features.plus h1 {
    font-size: 2.2rem;
    font-weight: 600;
    display: inline;
    color: #3c3c3c;
    background-color: transparent;
    border-radius: 0;
    background: linear-gradient(transparent 70%, #ffc37d 70%);
    margin: 0 auto 30px;
}
.plus_box {
    padding: 20px;
}
.plus_box img {
    max-width: 800px;
    margin: 20px auto;
}
.plus_box h3 {
    font-size: 1.6rem;
    font-weight: 500;
    color: #3c3c3c;
}
.plus_box p {
    text-align: left;
    font-size: .75rem;
    max-width: 800px;
    margin: 0 auto;
    color: #3c3c3c;
}


/* ----- 新型火災共済ボタン2つ ----- */
.btn img {
    max-width: 600px;
    margin: 20px auto;
}
.kome_box {
    margin: 90%;
    max-width: 880px;
    text-align: left;
    font-size: .8rem;
    color: #3c3c3c;
    margin: 5% auto;
}




/*---------------
ページのトップに戻るボタン
---------------*/
#page_top h2{
    text-align: center;
    margin-bottom: 30px;
  }
  #page_top{
      width: 50px;
      position: fixed;
      right: 0;
      bottom: 8%;
      background: #0062b0;
      z-index: 1;
  }
  #page_top a{
      position: relative;
      display: block;
      width: 50px;
      text-decoration: none;
    padding: 25px;
    height: 0;
    background-color: #0062b0;
}
#page_top a::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-50%,-25%) rotate(-45deg);
}
  




/* ----- フローティングバナー ----- */
.flo {
    background-color: #2da0dc;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1;
}
.flo_flex {
    display: flex;
    justify-content: center;
}
.flo_flex a {
    max-width: 250px;
    margin: 1%;
}






/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 20px 0;
    border-radius: 20px;
}



.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
    padding: 2% 0;
    margin: 0 2%;
}



.icon_flex {
    display: flex;
    align-items: center;
}
.icon_flex img {
    width: 100%;
    height: 100%;
    max-width: 60px;
    margin-right: 20px;
    padding-bottom: 2%;
}


/*アコーディオンタイトル*/
.aco_title {
    flex-grow: 1;
    width: 100%;
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: normal;
    transition: all .5s ease;
    color: #3c3c3c;
    padding: 2% 0;
    margin: 0 auto;
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
}







/*---------------------
	PCとスマホの切り替え
-----------------------*/
.pc_view {}

.sp_view {
    display: none;
}




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



@media screen and (max-width:520px){
    .triangle {
        max-width: 120px;
    }
    .topcase {
        padding: 12px 12px 25px;
    }
    .topcase h2 {
        font-size: 1.0rem;
        padding: 10px;
    }
    .topcase h2 span {
        font-size: 1.2rem;
        line-height: 1.5;
    }
    .topcase .ct {
        max-width: 90%;
        margin: 30px auto 10px;
    }
    .topcase .btn img {
        margin: 0;
    }
    .kasai h2 {
        font-size: 1.6rem;
    }
    .features {
        border-radius: 12px;
    }
    .features h2 {
        border-radius: 12px 12px 0 0;
        margin: 0;
        padding: 0;
    }
    .features h2::before {
        content: '';
        width: 0;
        height: 0;
        display: none;
    }
    .features.c1 p {
        font-size: .6rem;
    }
    .features.c2 {
        padding-bottom: 20px;
    }

    .features.plus h1 {
        font-size: 1.6rem;
    }
    .features.plus h3 {
        font-size: .85rem;
        margin-top: 20px;
    }
    .features.c3 .kome  {
        font-size: .7rem;
    }
    

    .flo_flex a {
        margin: 2% 1%;
    }
    .flo_flex {
        padding: 0 10px;
    }
    .flo img {
        max-width: 117px;
    }

/*---------------------
	PCとスマホの切り替え
-----------------------*/

    .pc_view {
        display: none;
    }
    .sp_view {
        display: block;
    }
}

