@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&display=swap');

img {
    max-width: 100%;
}

p {
    margin-bottom: 0;
}

header,
.nav-wrap,
main,
footer {
    max-width: 1140px;
    margin: 0 auto;
}

.robot {
  font-family: 'Roboto Condensed', sans-serif;
}

.track_tel {
  position: relative;
}

.header_tel p {
  position: absolute;
  top: 15px;
  left: 70px;
  font-size: 2.8rem;
}

.title_image p {
  position: absolute;
  bottom: 5px;
  left: 490px;
  font-size: 4.5rem;
  color: white;
}

.top_point p {
  position: absolute;
  bottom: -10px;
  left: 140px;
  font-size: 5rem;
  color: black;
  text-shadow    :
       4px  4px 0px #ffffff,
      -4px  4px 0px #ffffff,
       4px -4px 0px #ffffff,
      -4px -4px 0px #ffffff,
       4px  0px 0px #ffffff,
       0px  4px 0px #ffffff,
      -4px  0px 0px #ffffff,
       0px -4px 0px #ffffff;        /* 文字の影 */
}

.bannar_tel p {
  position: absolute;
  bottom: 5px;
  left: 80px;
  font-size: 4rem;
  color: #f08300;
}

.footer_tel p {
  position: absolute;
  bottom: -4px;
  left: 75px;
  font-size: 2rem;
  color: black;
}

.mbfooter_tel p {
  position: absolute;
  bottom: -2vw;
  left: 14vw;
  font-size: 1.8rem;
  color: #e50011;
  text-shadow    :
       2px  2px 0px #ffffff,
      -2px  2px 0px #ffffff,
       2px -2px 0px #ffffff,
      -2px -2px 0px #ffffff,
       2px  0px 0px #ffffff,
       0px  2px 0px #ffffff,
      -2px  0px 0px #ffffff,
       0px -2px 0px #ffffff;        /* 文字の影 */
}

.side_tel p {
  position: absolute;
  bottom: 100px;
  width: 100%;
  text-align: center;
  font-size: 2.2rem;
  color: #e60012;
}

.hoken_head_tel p {
  position: absolute;
  top: -105px;
  left: 520px;
  text-align: center;
  font-size: 3.8rem;
  color: #fff301;
}

.hoken_bannar_tel p {
  position: absolute;
  bottom: -20px;
  left: 100px;
  font-size: 4rem;
  color: #c7000b;
}


/***********************
ヘッダー・ナビゲーション
***********************/

.header_sm {
    margin: 0 -15px;
    padding: .3em 15px;;
    background: #004ea2;
    color: #fff;
    font-weight: 700;
    font-size: .6em
}

.navbar {
    background: linear-gradient(#004ea2, #003361);
    border-bottom: 4px solid #54c3f1;
}

.navbar_contact {
    height: 4em;
    margin: .6em 0 .6em 2em;
}

#headernav>ul {
    display: flex;
    position: relative;
}

.pc-nav {
    background: linear-gradient(#004ea2, #003361);
    border-bottom: 4px solid #54c3f1;
}

.pc-nav #headernav>ul::before {
    content: '';
    position: absolute;
    left: 0;
    top: 30%;
    background: #fff;
    width: 1px;
    height: 40%;
}

.pc-nav #headernav>ul>li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 30%;
    background: #fff;
    width: 1px;
    height: 40%;
}

.pc-nav #headernav>ul>li>a {
    display: block;
    color: #fff;
    text-align: center;
    font-weight: 700;

}

.pc-nav #headernav>ul>li:not(:last-child)>a {
    padding: 1.84em 0;
}

.pc-nav #headernav>ul>li>a:hover {
    text-decoration: none;
    color: #A7D7FF;
    transition: .2s;
}

/***********************
    フッター
***********************/

.footer-nav {
    background: #d3edfb;
}

.footer-nav .footerlink ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.footer-nav .footerlink ul li a {
    display: block;
    position: relative;
    padding: .6em 0 .6em 2em;
    text-decoration: none;
    color: #004ea2;
    font-weight: 700;
}

.footer-nav .footerlink ul li a::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1.3em;
    height: 1.3em;
    background: url('images/menuicon_f.png') center / contain no-repeat;
}

.footerlink {
    border-left: 1px solid #004ea2;
}

.footerlink>div {
    border-right: 1px solid #004ea2;
}

.footerimg {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.footerimg li {
    padding: 0 1.2em;
    margin: 1em 0;
}

.footerimg li:not(:last-child) {
    border-right: 1px solid #000;
}

.mbfooter {
    padding-bottom: 25%;
}

.mbfooter {
}

.mbfooter ul {
    list-style-type: none;
    padding: 0px;
    margin: 0;
}

.mbfooter ul li:nth-child(2),
.mbfooter ul li:nth-child(3) {
  margin-left: 10px;
}

.mbfooter_fixed {
    background: #004ea2;
    position: fixed;
    bottom: 0;
    display: none;
    padding: 10px;
}

/*************************
ブラウザバックポップアップ
*************************/

#bbackpopup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 99;
}

.bbackcontainer {
	width: 80%;
	margin: 30% auto 0 auto;
	padding: 5px;
}

.bbackheader {
	text-align: right;
}

.popclose {
	background: #db1a16;
	border: 0;
	border-radius: .3em;
	padding: .3em 2em;
	color: #fff;
}

.bbackmain {
	background: #fff;
	border-radius: .3em;
}

.bbackmain img {
	display: block;
	width: 100%;
}

/***********************
    トップページ
***********************/

.top_kasai {
    position: relative;
}

.top_kasai_btn {
    position: absolute;
    top: 76%;
    left: 26%;
    width: 48%;
}

.top_kasai_btn img {
    width: 100%;
}

.top_flow {
    background: url('images/top/top_flow_0416.png') center / contain no-repeat;
    padding-bottom: calc(100% * (1313/961));
}

.top_flow_arrow_sm {
    width: 0;
    height: 0;
    border-top: 2.5rem solid #004ea2;
    border-left: 9rem solid transparent;
    border-right: 9rem solid transparent;
    margin: 0 auto;
}

.bannar_pc {
    position: relative;
}

.bannar_pc a img {
    height: 100%;
}

.bannar_tel,
.bannar_mail,
.bannar_voice {
    display: block;
    position: absolute;
    top: 70%;
    height: 27%;
}

.bannar_tel {
    left: 3%;
}

.bannar_mail {
    left: 66.5%;
}

.bannar_voice {
    left: 83.3%
}

.message_pc {
    width: 110%;
    margin-left: -10%
}

.top_point {
    background: url('images/top/top_point.png') center / contain no-repeat;
    padding-bottom: calc(100%*1037/920);
}

.top_reason {
    padding:  1.5em;
    background: url('images/top/reason_bg.png') center / contain repeat-y;
    position: relative;
}

.top_reason_c::before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: calc(100% * (167/920) );
    background: url('images/top/reason_h.png') center / 100% no-repeat;
}

.top_reason_c::after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: calc(100% * (27/920) );
    background: url('images/top/reason_f.png') center / 100% no-repeat;
}

.top_reason_box {
    background: #fff;
    border: 2px solid #002865;
    position: relative;
    padding: 1.2em;
    margin-bottom: 1.5em;
}

.top_reason_num {
    position: absolute;
    width: 14%;
}

.top_reason_h,
.top_reason_box hr,
.top_reason_box p {
    margin-left: 18%;
}

.top_reason_h {
    display: block;
    width: 82%;
}

.top_reason hr {
    border: 1px dashed #888;
    margin-top: .5em;
    margin-bottom: .5em;
}

.top_reason_box p {
    font-size: .68em;
}

.top_reason>p {
    font-size: 1em;
}


.top_voice_box {
    background: #d3edfb;
    padding: 1.5rem;
    border-left: 1px solid #002865;
    border-right: 1px solid #002865;
    border-bottom: 1px solid #002865;
    border-radius: 0 0 1rem 1rem;
}


.title_image {
    background: url("./images/title_pc_0416.jpg") center / contain no-repeat;
    padding-bottom: calc(100% * (865/1400));
}

.time_info {
    font-weight: 700;
}

.area_title {
    background: #27387a;
    color: #fff;
    padding: .2em 1em;
    border-radius: 8px;
}

.youtube_fluid {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 1em;
}

.youtube_fluid iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/***********************
    火災保険サポート
***********************/

.hoken-nav {
    background: #fff6ba;
    border-bottom: 4px solid #fabe00;
}

.hoken-nav ul {
    list-style-type: none;
    margin: 0;
}

.hoken-nav #headernav>ul::before {
    content: '';
    position: absolute;
    left: 0;
    top: 30%;
    background: #000;
    width: 1px;
    height: 40%;
}

.hoken-nav #headernav>ul>li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 30%;
    background: #000;
    width: 1px;
    height: 40%;
}

.hoken-nav #headernav>ul>li>a {
    display: block;
    color: #000;
    text-align: center;
    font-weight: 700;

}

.hoken-nav #headernav>ul>li>a {
    padding: 1.84em 0;
}

.hoken-nav #headernav>ul>li:first-child>a {
    padding: 1em 0;
    text-indent: -1em;
}
.hoken-nav #headernav>ul>li:nth-last-child(2)>a {
    padding: 0;
}

.hoken-nav #headernav>ul>li>a:hover {
    text-decoration: none;
    color: #A7D7FF;
    transition: .2s;
}

.hoken .off-canvas-nav,
.hoken .off-canvas-nav ul li a {
    background: #d3edfb;
    color: #004da1;
    padding-left: 1em;
}

.hoken .off-canvas-nav ul li:not(:last-child){
    border-bottom: 1px solid #004da1;
}

.hoken .off-canvas-nav ul li a::before {
    display: none;
}

.hoken_hero {
    background: url('images/hoken/hero.jpg') center / contain no-repeat;
    padding-bottom: calc(100%*690/980);
}

.hoken_point_container {
    background: #27387a;
    border-radius: 1em;
}

.hoken_point_box {
    background: #fff;
    border-radius: 1em;
}

.hoken_bannar_box{
    border: 1px solid #004ea2;
    border-radius: 0 0 .7em .7em;
    display: flex;
}

.hoken_bannar_box a {
    padding: 0 .5em;
}

.hoken_bannar_tel {
    width: 70%;
}

.hoken_bannar_mail {
    width: 15%;
}

.hoken_bannar_voice {
    width: 15%;
}

.hoken_flow_frame {
    background: #23ade5;
    border-radius: 0 0 .7em .7em;
}

.hoken_flow_container {
    background: #fff;
}

.hoken_flow_box {
    border: 2px solid #004ea2;
}

.hoken_flow_box p span {
    background: #fff100;
}

.hoken_flow_arrow {
    width: 0;
    border-top: 2em solid #004ea2;
    border-left: 8em solid transparent;
    border-right: 8em solid transparent;
    margin: 0 auto;
}

.hoken_case_container h3 {
    font-weight: 700;
}

.hoken_case_container h3 span {
    color: #c7000b;
}

.hoken_faq_box {
    background: #fffde6;
    border: 1px solid #333;
    border-radius: 1rem;
    padding: 2rem 1rem;
}

.hoken_faq_box h4 {
    position: relative;
    font-weight: 900;
    padding-left: 4rem;
}

.hoken_faq_box h4::before {
    content :'Q';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #004ea2;
    color: #fff;
    border-radius: 50%;
    font-size: 2rem;
    width: 3rem;
    height:3rem;
    padding-top: .15em;
    text-align: center;
}

.hoken_faq_box p {
    position: relative;
    padding-left: 4rem;
}

.hoken_faq_box p::before {
    content :'A';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #e60012;
    color: #fff;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 900;
    width: 3rem;
    height:3rem;
    text-align: center;
}

.hoken_faq_box hr {
    border: 1px dashed #333;
    margin: 2rem 0;
}

.hoken_faq_box span {
    color: #0097e0;
}

.hoken-footer-nav {
    background: #d3edfb;
}

.hoken_footer_link {
    max-width: 900px;
    margin: 0 auto;
}

.hoken_footer_link a {
    display: block;
    width: 20%;
    border-left: 1px solid #004da1;
    text-align: center;
    text-decoration: none;
    color: #004da1;
    font-weight: 700;
    margin-bottom: .7em;
}

.hoken_footer_link a:last-child {
    border-right: 1px solid #004da1;
}

.hoken_footer_link a:hover {
    opacity: .7;
}

/**********
ABOUTページ
**********/

.about_h {
    margin-left: -5.5%;
    width: 105.5%;
}

.mini_faq h4 {
    position: relative;
    font-weight: 900;
    padding-left: 5rem;
    margin: 0 .5rem 2rem;
}

.mini_faq h4::before {
    content :'Q';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fdd000;
    border-radius: 50%;
    font-size: 2rem;
    width: 1.6em;
    height:1.6em;
    padding-top: .15em;
    text-align: center;
}

.mini_faq p {
    position: relative;
    padding-left: 5rem;
    margin: 0 .5rem;
}

.mini_faq p::before {
    content :'A';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #e60012;
    color: #fff;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 900;
    width: 1.6em;
    height:1.6em;
    text-align: center;
}

.mini_faq hr {
    border: 1px dashed #333;
    margin: 2rem 0;
}

/***********************
    作業の流れ
***********************/

.flow_title hr {
    border: 1px dashed #333;
}

.flow_box {
    position: relative;
    background: #fffde6;
    border: 1px solid #aaa;
    border-radius: .5rem;
    margin-bottom: 4rem;
}

.flow_box::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 2.5rem solid #004ea2;
    border-left: 8rem solid transparent;
    border-right: 8rem solid transparent;
    position: absolute;
    bottom: -2.5rem;
    left: 50%;
    transform: translateX(-50%);
}

.flow_box:last-child::after {
    display: none;
}

.flow_box h3 {
    position: relative;
    background: #d3edfb;
    border: 1px solid #aaa;
    border-radius: .5rem;
    padding: 0 3.5em 0 1.8em;
    font-weight: 700;
    text-indent: -1.5em;
}

.flow_num {
    font-size: 1.5em;
    vertical-align: -0.1em;
}

.flow_box h3 .blue {
    color: #0097e0;
}

.flow_box h3.free::after {
    display: block;
    content: '無料';
    position: absolute;
    right: .3em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: .8em;
    background: #e60012;
    color: #fff100;
    padding: .2em 1em;
    text-indent: 0;
}

.flow_box h3.toll::after {
    display: block;
    content: '有料';
    position: absolute;
    right: .3em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: .8em;
    background: #004ea2;
    color: #fff100;
    padding: .2em 1em;
    text-indent: 0;
}

.flow_box .row {
    margin-left: 0;
    margin-right: 0;
}

.flow_box h4 {
    font-size: 1.25em;
    font-weight: 700;
    color: #004da1;
}

.flow_box hr {
    border: 1px dashed #888;
}

.flow_box p{
    font-size: .83em;
}

/***************************
        料金について
***************************/

/***************************
    よくあるご質問
***************************/

.faq_h {
    margin-left: -4%;
    width: 104%;
}

.faq_title hr {
    border: 1px dashed #333;
}

.faq_container h3 {
    position: relative;
    background: #d3edfb;
    border: 1px solid #333;
    border-radius: 1rem;
    padding: .7rem 0 .7rem 4em;
    font-weight: 700;
    margin-top: 1.5rem;
}

.faq_container h3::before {
    content: '';
    background: url('images/faq/faq_chara.png') left / contain no-repeat;
    height: 160%;
    width:20%;
    position: absolute;
    left: 1em;
    bottom: -15%;
}

.faq_box {
    background: #fffde6;
    border: 1px solid #333;
    border-radius: 1rem;
    padding: 2rem 1rem;
}

.faq_box h4 {
    position: relative;
    font-weight: 900;
    padding-left: 4rem;
}

.faq_box h4::before {
    content :'Q';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fdd000;
    border-radius: 50%;
    font-size: 2rem;
    width: 3rem;
    height:3rem;
    padding-top: .15em;
    text-align: center;
}

.faq_box p {
    position: relative;
    padding-left: 4rem;
}

.faq_box p::before {
    content :'A';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #e60012;
    color: #fff;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 900;
    width: 3rem;
    height:3rem;
    text-align: center;
}

.faq_box hr {
    border: 1px dashed #333;
    margin: 2rem 0;
}

/***************************
    お客様の声
***************************/

.voice_box {
    background: #d3edfb;
    border: 1px solid #002965;
    border-radius: 1rem;
    padding: 1.5rem;
}

.voice_container hr {
    border: 1px dashed #333;
}

/***************************
        運営企業
***************************/

.company_title hr {
    border: 1px dashed #333;
}

.company_container h2 {
    font-weight: 700;
}

.company_container h3 {
    position: relative;
    background: #d3edfb;
    border: 1px solid #333;
    border-radius: 1rem;
    padding: .7rem 1rem;
    font-weight: 700;
    margin-top: 3.5em;
}

.company_container h3:first-of-type{
    margin-top: 2em;
}


.company_container table {
    width: 95%;
    border: 1px solid;
    margin: 0 auto 7em auto;
}

.company_container th,
.company_container td {
    border: 1px solid;
    padding: .8rem;
    font-size: 1.2em;
}

.company_container th {
    width: 20%;
    background: #fffde6;
}

/***************************
お問い合わせフォーム
***************************/

.mailform_h {
    background: #ffe100;
}

.mailform_h h2 {
    font-weight: 700;
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 2.5em;
    background: url('images/contact/mail.png') center left 15px / contain no-repeat;
}

main.mailform {
    overflow: hidden;
}

.mailform_title {
    position: relative;
    background: url('images/contact/24h.png') left top / 18% no-repeat;
    padding-left: 20%;
    padding-bottom: 2em;
    margin-top: 2em;
    padding-top: .8em;
}

.contact_h_txt {
    width: 60%;
}

.contact_h_img {
    position: absolute;
    bottom: 0;
    right: -2em;
    height: 150%;
}

.form_container {
    border: 1px solid #888;
}
.form_container {
    background: #efefef;
}

.form_container>div:not(:last-of-type) {
    border-bottom: 2px dashed #333;
}

.input_area {
    background: #fff;
    padding: .7em 1em;
}

form label.require::after,
form legend.require::after {
    content: "必須";
    display: block;
    float: right;
    background: #e00;
    color: #fff;
    padding: 0 .4em;
    font-size: .9em;
    margin-top: .05em;
}

form label.option::after,
form legend.option::after {
    content: "推奨";
    display: block;
    float: right;
    background: #11e;
    color: #fff;
    padding: 0 .4em;
    font-size: .9em;
    margin-top: .05em;
}

form textarea,
form input[type="text"] {
    width: 100%;
    margin-top: .5em;
}

form textarea {
    min-height: 20em;
}

.submit_btn {
    display: block;
    height: 0;
    border: 0;
    background: url('images/contact/submit.png') center / contain no-repeat;
    width: 100%;
    padding-bottom: calc(100%*(65/390));
    outline: none;
}

.submit_btn:hover {
    opacity: .7;
}
.row.justify-content-center .col-5.no-gutters .submit_btn {
}

.thanks_text h3 {
    font-weight: 700;
    color: #004ea2;
}

.thanks_text p {
    line-height: 2;
}

.thanks_text hr {
    border: 1px dashed #333;
    max-width: 40em;
}

.thanks_text a.btn {
    background: #ffe100;
    font-weight: 700;
    color: #000;
}

.thanks_text a.btn:hover,
.thanks_text a.btn:active {
    opacity: .7;
}

/***************************
        PC用
***************************/

@media(min-width: 992px){

    .hoken_point_box p {
        background-image:
            linear-gradient(
                90deg,
                rgba(0,0,0,0) 0%,
                rgba(0,0,0,0) 50%,
                #ffff 50%,
                #ffff 50%
            ),
            linear-gradient(
                180deg,
                rgba(0,0,0,0) 0%,
                rgba(0,0,0,0) 97%,
                #999 97%,
                #999 100%
            );
        background-size:
            8px 100%,
            100% 2.5em;
        line-height:2.5;
    }

    .hoken_flow_box p {
        font-size: 1.2em;
        line-height: 2
    }
}

/**************************************
タブレット・スマートフォン用(991px以下)
**************************************/

@media(max-width: 991px){
    .pc-nav,
    .hoken-nav {
        display: none;
    }

    .form_container {
        margin: 0 15px;
    }

    .title_image {
        background: url("./images/sm/top-sm-1_02.jpg") center / contain no-repeat;
        padding-bottom: calc(100% * (911/750));
    }

    .footer-nav {
        background: #004ea2;
    }

    .footerlink ul li {
        border-bottom: 1px solid #fff;
    }

    .footerlink>div:last-child ul li:last-child {
        border-bottom: 0;
    }

    .footer-nav .footerlink ul li a {
        color: #fff;
        padding: 1em 0 1em 2em;
    }

    .footer-nav .footerlink ul li a::before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 1.3em;
        height: 1.3em;
        background: url('assets/jquery.responsive-nav/menuicon.png') center / contain no-repeat;
    }

    .footerlink,
    .footerlink>div {
        border-left: 0;
        border-right: 0;
    }

    .footerimg li:nth-child(3) {
    border-right: 0;
    }

    .top_flow {
    background: url('images/sm/top_flow_sm_0416.png') center / contain no-repeat;
    padding-bottom: calc(100% * (1596/750));
    }

    .top_point {
        background: url('images/sm/top_point_sm.png') center / contain no-repeat;
        padding-bottom: calc(100%*431/572);
    }

    .top_reason_h {
        padding: 5% 0;
    }

    .top_reason_box hr,
    .top_reason_box p {
        margin-left: 0;
    }

    .top_reason p {
        font-size: .8em;
    }

    .hoken_bannar_tel {
        width: 100%;
    }

    .hoken_flow_pic {
        padding-right: 0;
    }

    .hoken_footer_link a:nth-child(3) {
        border-right: 1px solid #004da1;
    }

    .company_container th,
    .company_container td {
        font-size: .9em;
    }

    .company_container th {
        width: 34%;
    }

    .mailform_h h2 {
        font-size: 1.2em;
    }

    .area_title {
        font-size: 1.4em;
    }
}

/**************************************
    スマートフォン用(767px以下)
**************************************/

@media(max-width:767px){
    .time_info {
        font-weight: 500;
        font-size: .7em;

    }

    .flow_man img {
        display: block;
        width: 60% !important;
        margin-left: auto;
        margin-right: auto;
    }

    .flow_box h3 {
        font-size: 1em;
    }

    .flow_box h4 {
        font-size: .85em;
    }

    .faq_container h3 {
        font-size: 1.1em;
    }

    .faq_box h4,
    .mini_faq h4 {
        font-size: .95em;
    }

    .faq_box p,
    .mini_faq p {
        font-size: .8em;
    }

    .hoken_case_container h3 {
        font-size: 1em;
    }

    .hoken_flow_box p,
    .hoken_point_box p,
    .hoken_faq_box p {
        font-size: .8em;
    }

    .hoken_faq_box h4 {
        font-size: .9em;
    }

    .hoken_footer_link a {
        width: 33%;
        font-size: .8em;
    }
}

.top_att {
    border: 3px solid red;
    padding: 20px;
    background-color: #fffafa;
}

.top_att h5 {
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid red;
    padding-bottom: 0.5rem;
}
