/*
    Theme Name: bighoken.com
    Theme URI: https://bighoken.com/
    Author: Kohei.F
    Description: 株式会社ＢＩＧ保険サポートのＷＥＢサイト
    Tags: blog, block-styles
    Version: 1.0.0
*/


/* reset https://coliss.com/articles/build-websites/operation/css/acab-reset-css.html */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:normal;tab-size:2;scrollbar-gutter:stable}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog){border:none;background:none;inset:unset;max-width:unset;max-height:unset}:where(dialog:not([open])){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}



/* 変数 */
:root {
    --main-gutter: 30px;
    --mob-gutter: 10px;

    --section-bg2: #fff;
    --section-bg1: #f5fffa;
    --section-pd: 60px;
}

body{font-family:Lato,'Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'MS Ｐゴシック','MS PGothic',sans-serif}



/* header ======================================================================================= */
#header{
    display: grid;
    gap: var(--main-gutter);
    grid-template-columns: 1fr 3fr;
    place-content: center;
    place-items: center;
    margin: var(--main-gutter) 5%;
    background-color: var(--section-bg2);
}
#header a{color:#00913a;text-decoration:none}

#title {order: 2; text-align: center; border-left: #00913a 3px solid; border-right: #00913a 3px solid; height: 100%;}
#title h1{font-size: 4.5vw; text-align:justify; text-align-last:justify; padding: 0 20px 0 30px;}
#title p{font-size: 2vw; padding: 10px 0;}
#logo {order: 1;}
#logo-sompo {max-width: 300px; display: block; margin:0 auto;}
.logo-sompo {margin: 0 auto;}

@media ( max-width : 760px ){
    #header {
        grid-template-columns: 1fr;
        margin: 30px 0;
        place-items: normal;
    }
    #header h1{background-color: #00913a; padding: var(--mob-gutter);}
    #header a{color:#fff;}
    #logo {max-width: 360px; margin: 0 auto; display: block;}
    #title{border: none;}
    #title h1{font-size: 7vw;}
    #title p{font-size: 3vw; padding: 10px 0;}
}




/* nav ======================================================================================= */
#nav{background-color:#00913a;}
#nav ul{display:flex;margin:0 auto;padding:0 3%;width:94%;max-width:880px}
#nav li{width:calc(100%/5)}#nav li :hover{background-color:#19783f}
#nav a{display:inline-block;padding:10px 5%;width:90%;color:#fff;text-align:center;text-decoration:none}
@media ( max-width : 760px ){
    #nav{background-color:#fff; border-bottom: #00913a 1px solid; border-top: #00913a 1px solid;}
    #nav li :hover{color:#fff}
    #nav a{display:inline-block;padding:10px 5%;width:90%;color:#19783f;text-align:center;text-decoration:none}
}




/* main ======================================================================================= */
#main h2{color:#00913a; margin-bottom: 15px;}
#main h3{margin-bottom: 15px;}
#main h4{margin-bottom: 10px;}
#main h5{margin-bottom: 10px;}
#main p{padding-bottom: 15px;}
#main li{padding-bottom: 10px;}
#main ol{list-style-type: decimal; padding-left: 30px;}
#main ul{list-style-type: disc;}
.section-box{margin: 0 auto; padding: 0 30px; max-width: 1024px;}

@media ( max-width : 760px ){
    .section-box{padding: 0 10px;}
}

/* main-info */
#info{background-color: var(--section-bg1); padding: var(--section-pd) 0;}
#info-box{display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--main-gutter);}
.GoogleMap{position:relative;width:100%;height:0;padding-top:56.25%}.GoogleMap iframe{position:absolute;top:0;left:0;width:100%;height:100%}
#info li{margin-bottom: 10px; list-style: none;}
#info p{margin-bottom: 10px;}
#main .textitem{width:100px;text-align:right;float:left}
#main .textitem2{width:170px;padding-right:20px;text-align:right;float:left}
#main .textitem_box{margin-left:100px}
@media ( max-width : 760px ){
    #info-box{grid-template-columns: 1fr;}
}

/* main-緊急連絡先 */
#emergency{background-color: var(--section-bg2); padding: var(--section-pd) 0;}
#e-contact{display: grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap: var(--main-gutter);}
.e-contact-box{padding: 10px; background-color: #19783f; color: #fff; border: #19783f 2px solid; border-radius: 20px 0 20px 0; text-align: center;}
#e-contact a{text-decoration: none;}
#e-contact a:hover{background-color: #00913a;}
.e-contact-box h3{text-align: center;}
.e-text{font-size: 1.2vw;}
.e-tel{font-size: 1.5vw;}
@media ( max-width : 760px ){
    #e-contact{grid-template-columns: 1fr;}
    .e-text{font-size: 3vw;}
    .e-tel{font-size: 4vw;}
}


/* main-取扱商品・サービス */
#products{background-color: var(--section-bg1); padding: var(--section-pd) 0;}
#products ul{list-style: none;}
#p-contents{display: grid; grid-template-columns:1fr 1fr 1fr; gap: var(--main-gutter);place-content: center;}
@media ( max-width : 760px ){
    #p-contents{grid-template-columns: 1fr 1fr;}
}


/* main-会社概要 */
#company{background-color: var(--section-bg2); padding: var(--section-pd) 0;}
#company-box{display: grid; grid-template-columns:1fr 1fr; gap: var(--main-gutter);place-content: center;}
#company li{margin-bottom: 10px; list-style: none;}
#p-contents{text-align: center;}
#p-contents ul{border: #00913a 1px solid; padding: 15px;}
@media ( max-width : 760px ){
    #company-box{grid-template-columns: 1fr;}
}


/* main-FD宣言 */
#fd{background-color: var(--section-bg1); padding: var(--section-pd) 0;}

#fd .fdbox{margin-bottom: 50px;}
#fd .torikumikpi {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-top: 12px;
    padding: 10px;
    border-radius: 5px;
    background-color: #e2e2e2;
    text-align: left;
}
#fd .torikumikpi::after {
    content: "";
    position: absolute;
    top: 0;
    left: 15%;
    border-style: solid;
    border-width: 0 10px 12px 10px;
    border-color: transparent transparent #e2e2e2;
    translate: -50% -100%;
}
#fd .fdcolumnbox{display: flex; flex-wrap: wrap;}
#fd .fdcolumnbox > div{width: calc(50% - 20px); box-sizing: border-box;}
#fd .fdcolumnbox > div:nth-child(odd){margin-right: 40px;}
#fd .torikumikpi > div{padding: 5px;}
#fd .torikumikpi > p{font-size: 14px; padding-bottom: 5px;}
#fd .torikumikpi > ul{padding-bottom: 15px;}
#fd li{list-style: none; font-size: 14px; padding-left: 10px;}

@media ( max-width : 760px ){
    #fd .fdbox{margin: 0 5px 30px 15px;}
    #fd .fdcolumnbox{display: block;}
    #fd .fdcolumnbox > div{width: auto;}
    #fd .fdcolumnbox > div:nth-child(odd){margin-right: 5px;}
}


/* main-KPI */
#kpi{background-color: var(--section-bg2); padding: var(--section-pd) 0;}

/* main-勧誘指針 */
#solicitation{background-color: var(--section-bg1); padding: var(--section-pd) 0;}
#solicitation ul{list-style: none;}

/* main-販売方針 */
#sales{background-color: var(--section-bg2); padding: var(--section-pd) 0;}
#sales table{border:#333 solid 1px; border-collapse: collapse;}
#sales th{width: 150px; text-align:center; border:#333 solid 1px;;}
#sales td{padding: 0 20px; border:#333 solid 1px;}

/* main-プライバシーポリシー */
#privacy{background-color: var(--section-bg1); padding: var(--section-pd) 0;}
#privacy h5{padding-top: 20px;}

/* main-セキュリティーアクション */
#security-action{background-color: var(--section-bg2); padding: var(--section-pd) 0;}
#security-action-box{display: grid; grid-template-columns:3fr 1fr; gap: var(--main-gutter);place-content: center;}
@media ( max-width : 760px ){
    #security-action-box{grid-template-columns: 1fr;}
}





/* TOPへボタン ======================================================================================= */
.arrow{position:relative;display:inline-block;padding:0 0 0 16px;color:#00913a;vertical-align:middle;text-decoration:none}
.arrow::after,.arrow::before{position:absolute;content:"";top:0;bottom:0;left:0;margin:auto;vertical-align:middle}
.arrow_down::before,.arrow_up::before{top:auto;left:auto;bottom:8px;width:10px;height:10px;border-top:3px solid #fff;border-right:3px solid #fff;transform:rotate(-45deg)}
#btn-backtotop{position:fixed;bottom:30px;right:30px;z-index:1000;transition:all 1s ease-out;transition:bottom .2s ease-out;opacity:0}@media screen and (max-width:767px){#btn-backtotop{bottom:10px;right:5px}}#btn-backtotop.fadein{opacity:1}#btn-backtotop:hover{opacity:.8;bottom:34px}
@media screen and (max-width:767px){#btn-backtotop:hover{bottom:10px}}#btn-backtotop:hover::after{box-shadow:6px 6px 10px 0 rgba(0,0,0,.4)}
@media screen and (max-width:767px){#btn-backtotop:hover::after{box-shadow:none}}#btn-backtotop::after{content:"";display:block;color:#fff;text-align:center;width:80px;height:80px;padding:4px;border-radius:8px;background-color:#00913a;transition:all .3s;transform:scale(.8) rotate(45deg);transition:background-color .5s ease-out}
@media screen and (max-width:767px){#btn-backtotop::after{width:40px;height:40px}}
#btn-backtotop .arrow{top:72px;left:13px}
@media screen and (max-width:767px){#btn-backtotop .arrow{top:46px;left:-1px}}#btn-backtotop .arrow::before{width:20px;height:20px;z-index:1}
@media screen and (max-width:767px){#btn-backtotop .arrow::before{width:10px;height:10px}}

/* footer ======================================================================================= */
#footer{
    margin-top: 60px;
    padding: 15px 0;
    border-top: #00913a 1px solid;
    text-align:center;
    background-color: var(--section-bg1);
}