@charset "UTF-8";

/* /lp/fire/ 
======================================================= */
*{
    box-sizing: border-box;
}

/* 見出し --------------------------------------- */
.Section h2{
    border-radius: 10px;
    background: #FFFF7D;
    position: relative;
    margin: -3rem auto 2rem;
    width: 100%;
    padding: 1rem;
    /* text-align: center; */
    font-weight: bold;
    font-size: 20px;
}

.Section h2:after{
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #FFFF7D transparent transparent transparent;
    border-width: 20px 20px 0;
}

@media screen and (min-width: 896px) {
    .Section h2{
        /* display: inline-block; 
        /* right: -150px; */
        padding: 20px 30px;
        width: 61%;
        white-space: nowrap;
        font-size: 30px;
        margin: -4rem auto 2rem;
    }
}

/* レスポンシブ変化しない */
.textStyle24   {font-size: 1.5rem; }
.bold {font-weight: 700; }

/* レスポンシブで変化 */
.text20 b {font-size: 1.25rem; }
.text20   {font-size: 1rem; }

@media screen and (min-width: 896px) {
.text20 b {font-size: 1.9rem;  }
.text20   {font-size: 1.25rem;padding: 10px 0 0 0;}
}

/* 各ブロック ------------------------------------------------------- */
.Section {padding: 0 15px 30px;}

.MainCont {
    margin: 0 0 1rem;
    border-radius: 10px;
    padding: 3rem 0 2rem;
    overflow: hidden;
    }

@media screen and (min-width: 896px) {
    .Section {padding: 0 0 6rem;margin-bottom: -1rem;}
}

/* 詳細ページへ ------------------------------------------------------- */
.InfoBox {border: solid #ccc 1px;padding: 15px 0;text-align: center;}
.LinkListStyle1.ListStyle1 {font-weight: 700;display: inline-block;margin: 0 auto;}
.LinkListStyle1 a { font-weight: 700; }



/* TOP
=========================================================================================== */

.BrandingImgStyle {
    padding: 1.5rem 15px 2rem;
    background: #41B135 ;
}
.BrandingImgStyle .Grid4{
    display: grid;
    /* grid-column-gap: 20px; */
}
.BrandingImgStyle .title   {grid-row: 1 / 2;grid-column: 1 / 4;}
.BrandingImgStyle .image   {grid-row: 2 / 3;grid-column: 1 / 3;}
.BrandingImgStyle .illust  {grid-row: 2 / 3;grid-column: 3 / 4;}
.BrandingImgStyle .friends { grid-row: 3 / 4; grid-column: 1 / 3; }

.BrandingImgStyle .illust       { align-self: end;}
.BrandingImgStyle .illust p     { margin-bottom: 0; }
.BrandingImgStyle .illust p img { margin-bottom: 0; vertical-align: bottom; }

@media screen and (min-width: 896px) {
    .BrandingImgStyle          { padding: 3rem 15px 3rem; }
    .BrandingImgStyle .title   { grid-row: 1 / 2; grid-column: 1 / 2; }
    .BrandingImgStyle .image   { grid-row: 2 / 3; grid-column: 1 / 2; }
    .BrandingImgStyle .illust  { grid-row: 1 / 3; grid-column: 2 / 3; }
    .BrandingImgStyle .friends { grid-row: 3 / 4; grid-column: 1 / 3; }
}


/* お客様ページとのLINE連携後は、２回目以降のログインが簡単になります！
=========================================================================================== */
.Section.disasters{
    /* background-color: #fff; */
}
.Section.disasters p{
    /* margin: 0 15px 2rem; */
}
.Section.disasters .MainCont{
    padding: 10px 0;
    border-radius: 10px;
    overflow: hidden;
    /* margin: 0 0 25px; */
    position: relative;
}
.Section.disasters .MainCont .flow dl{
    margin-bottom: 50px;
}
.Section.disasters .MainCont .flow dl:nth-last-of-type(1){
    margin-bottom: 0;
}
.Section.disasters .MainCont .flow dt{
    background-color: #F2F2F2;
    color: #3CA131;
    /* display: inline-block; */
    /* position: absolute; */
    border-radius: 10px 10px 0 0;
    left: 0;
    right: 0;
    top: -2rem;
    padding: 0.6rem 1.5rem 0;
    /* width: 12em; */
    /* margin: 0 auto; */
    font-size: 20px;
    border-bottom: 2px solid #3CA131;
    z-index: 1;
}
.Section.disasters .MainCont .flow dd{
    background-color: #F2F2F2;
    padding: 20px 10px;
    width: 100%;
    border-radius: 0 0 10px 10px;
    text-align: center;
}

.Section.disasters .MainCont ul li     { margin: 0 4px 10px ; }
.Section.disasters .MainCont ul li img { width: 100px;}

@media screen and (min-width: 896px) {
    .Section.disasters .MainCont{
        margin: 0 0 0;
    }

    .Section.disasters .MainCont .flow dl{
        margin-bottom: 70px;
    }
    .Section.disasters .MainCont .flow dt{
        font-size: 26px;
    }
    .Section.disasters .MainCont .flow dd{
        /* padding: 40px 0 0; */
    }

}


/* 友だち追加方法
=========================================================================================== */
.Section.friends {
    background: #F8F8F8;
    padding: 1rem 15px 4rem;
}
.Section.friends h3 {
    color: #3CA131;
    /* text-align: center; */
    font-size: 18px;
    font-weight: bold;
    margin: 10px 10px 20px;
}
.Section.friends .MainCont {
    background: #41B135;
    padding: 15px 15px 0;
}
.Section.friends .MainCont > .flow {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}
.Section.friends .MainCont > .flow > dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    margin-bottom: 10px;
}
.Section.friends .MainCont > .flow > dl:nth-last-of-type(1) {
    margin-right: 0;
    margin-top: 7px;
}

.Section.friends .MainCont > .flow > dl dt {
    width: 100%;
    background-color: #fff;
    border-radius: 10px 10px 0 0;
    text-align: center;
    padding: 10px 10px 0 ;
}
.Section.friends .MainCont > .flow > dl dt h4 {
    color: #3CA131;
    border-bottom: 2px solid #3CA131;
    margin: 0 auto 0;
    font-size: 16px;
    padding-bottom: 5px;
    font-weight: bold;
}
.Section.friends .MainCont > .flow > dl dd {
    background-color: #fff;
    padding: 15px 10px 0;
    width: 100%;
    border-radius: 0 0 10px 10px;
    display: flex;
    flex-direction: column;
    font-size: 12px;
}
.Section.friends .MainCont > .flow > dl dd p {
    text-align: center;
    margin:0 15px 15px;
}
.Section.friends .MainCont > .flow > dl dd p.txt {
    text-align: left;
}
.Section.friends .MainCont > .flow > dl dd div {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
}

.Section.friends .MainCont > .flow > dl dd div p.id {
    color: #3CA131;
    font-weight: 700;
    border: 2px solid #3CA131;
    padding: 15px 10px;
    border-radius: 10px;
    font-size: 1rem;
}

.Section.friends.green {
    background: #3CA131;
    padding-bottom: 1rem;
}

.Section.friends.green h3 {
    color: #fff;
}

@media screen and (min-width: 896px) {
    .Section.friends {
        padding: 0 15px 6rem;
    }
    .Section.friends h3 {
        font-size: 26px;
        margin: 20px 50px 30px;
    }
    .Section.friends .MainCont {
        padding: 30px 40px 15px;
        background: #41B135;
        }
    .Section.friends .MainCont dl {
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
    .Section.friends .MainCont .flow{
        flex-direction: row;
    }
    .Section.friends .MainCont > .flow > dl {
        margin-right: 10px;
    }
    .Section.friends .MainCont > .flow > dl:nth-last-of-type(1) {
        margin-right: 0;
        margin-left: 7px;
        margin-top: 0;
    }
    .Section.friends .MainCont > .flow > dl dt {
        padding: 10px 30px 0 ;
    }
    .Section.friends .MainCont > .flow > dl dt h4 {
        font-size: 20px;
    }
    .Section.friends .MainCont > .flow > dl dd {
        padding: 15px 30px;
        flex-direction: column;
        align-items: center;
        height: 260px;
    }
    .Section.friends .MainCont > .flow > dl dd p {
        margin:auto;
    }
    .Section.friends .MainCont > .flow > dl dd ol {
        padding-left: 1.5em;
        margin-top: 0;    
        letter-spacing: 0;
    }
    .Section.friends .MainCont > .flow > dl dd p.txt {
        font-size: 15px;
        margin: 0 0 15px;
    }
    .Section.friends .MainCont > .flow > dl dd p.id {
        padding: 15px 15px 10px;
    }
    .Section.friends .MainCont dl dd .icon{
        width: 24px;
    }

    .Section.friends.green {
        background: #3CA131;
        padding-bottom: 3rem;
    }

    .Section.friends.green h3 {
        color: #fff;
    }

}

/* お客様ページのご案内
=========================================================================================== */
.Section.info {
    background: #F8F8F8;
    padding: 2rem 15px 2rem;
}

@media screen and (min-width: 896px) {
    .Section.info {
        padding: 2rem 15px 4rem;
    }
}

/* 新規
=========================================================================================== */
.howtxt {
    text-align: center;
    margin: 0 0 15px;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
}
.log2txt {
    text-align: left;
    font-weight: 700;
    color: #3CA131;
    font-size: 16px;
    margin: 0 5px 20px;
}
.imgstl {
    max-width: 100%;
}
.iltstl {
    width: 100%;
    max-width: 225px;
}
.arrow {
    width: 0;
    height: 0;
    border-style: solid;
}
/* 下向き */
.arrow.-right{
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 20px solid #FFF;
    border-bottom: 0;
}
.line-btn img {
    border-radius: 50px;
    box-shadow: 0 6px 0 #0a8f3c, 0 8px 12px rgba(0,0,0,0.3);
    margin-bottom: 15px;
}
.line-btn img:hover {
    transform: translateY(2px);
    box-shadow: 0 4px 0 #0a8f3c, 0 6px 8px rgba(0,0,0,0.3);
}
.line-txt {
    font-weight: bold;
    margin: 0 0 2px !important;
    animation: float 2.0s ease-in-out infinite;
}
@keyframes float {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-4px); }
    100% { transform: translateY(0); }
}

@media screen and (min-width: 896px) {
    .howtxt {
        margin: 0 0 30px;
        font-size: 30px;
    }
    .log2txt {
        font-size: 24px;
        margin: 0 15px 40px;
    }
    .iltstl {
        max-width: none;
    }
    /* 右向き */
    .arrow.-right{
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 30px solid #FFF;
        border-right: 0;
    }
    .line-btn {
        margin: 0 !important;
    }
    .line-txt {
        font-size: 15px;
        margin: 15px 0 3px !important;
    }
}
