@charset "utf-8";
.section__ttl {
    margin: 0 0 20px;
    height: 40px;
    line-height: 45px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background-color: #23b1b5;
    padding: 0 0 0 13px;
    letter-spacing: 2px;
}

.width-limit {
    min-width: 1000px;
}

.btn-arw:after {
    content: "";
    border-width: 3px 0 3px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list.-row3 li {
    width: 246px;
    margin: 0 0 10px;
}

.list.-row3 li:last-nth-child(-n+3) {
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .section {
        margin: 0;
        padding: 3%;
    }
    .section__ttl {
        height: auto;
        margin: 0 0 3%;
        font-size: 5vw;
        line-height: 1.4;
        letter-spacing: inherit;
        font-weight: bold;
        color: #fff;
        padding: 5px;
    }
    .list.-row3 li {
        width: 32%;
        margin: 0 0 1.8%;
    }
    .width-limit {
        min-width: auto;
    }
}


/*---------------------------------------------------------it----------------
main view
-------------------------------------------------------------------------*/

.main-view {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.main-view__inner {
    width: 100%;
    height: 379px;
    margin: auto;
    position: relative;
}

.webp .main-view__inner {
    background: url(../images/MVbg.jpg.webp) no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.no-webp .main-view__inner {
    background: url(../images/MVbg.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.main-view__img {
    width: 1000px;
    margin: 0 auto;
}

.main-panel {
    width: 248px;
    height: 379px;
    background-color: #23b1b5;
    padding: 15px;
    position: absolute;
    top: 0;
    right: calc(50% - 550px);
}

.main-panel-upper li {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    padding: 3px 0;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 10px;
}

.main-panel-lower {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .main-view {
        margin: 0;
        min-width: auto;
    }
    .main-view__img {
        width: 100%;
        height: auto;
        padding: 0 5px;
    }
    .main-view__inner {
        width: 100%;
        height: auto;
    }
    .webp .main-view__inner {
        background: url(../images/MVbg.jpg.webp) center no-repeat;
        background-size: cover;
    }
    .no-webp .main-view__inner {
        background: url(../images/MVbg.jpg) center no-repeat;
        background-size: cover;
    }
    .main-panel {
        display: block;
        width: 100%;
        height: auto;
        margin: 0 0 2px;
        padding: 10px;
        position: relative;
        top: unset;
        right: unset;
    }
    .main-panel-lower {
        display: none;
    }
}


/*-------------------------------------------------------------------------
REASON
-------------------------------------------------------------------------*/

.reason {
    padding: 10px 0 25px;
    margin-bottom: 25px;
    background-color: #0054a7;
}

.reason__text {
    text-align: center;
    font-size: 37px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    margin: 0 0 27px;
}

.reason__text span {
    font-size: 82px;
    font-weight: inherit;
    color: #efac2a;
    line-height: 1;
    font-family: Noto Sans JP;
}

.rason-list li {
    width: 315px;
    height: 150px;
    background-color: #003b75;
    margin: 0 7px;
    padding: 40px 0 0;
    position: relative;
}

.rason-list li:hover {
    background: #002952;
}

.rason-list li a {
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
}

.rason-list__item1:before,
.rason-list__item2:before,
.rason-list__item3:before {
    content: "";
    position: absolute;
    top: -19px;
    left: 50%;
    transform: translateX(-50%);
    background-size: 100% auto;
}

.rason-list__item1:before {
    width: 43px;
    height: 48px;
    background-image: url("../images/icn_reason1.png");
    background-repeat: no-repeat;
}

.rason-list__item2:before {
    width: 60px;
    height: 48px;
    background-image: url("../images/icn_reason2.png");
    background-repeat: no-repeat;
}

.rason-list__item3:before {
    width: 43px;
    height: 46px;
    background-image: url("../images/icn_reason3.png");
    background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
    .reason__text {
        font-size: 15px;
        margin: 0 0 14px;
    }
    .reason__text span {
        font-size: 35px;
    }
    .rason-list {
        display: block;
        margin: 0 10px;
    }
    .rason-list li {
        width: 100%;
        height: auto;
        font-size: 15px;
        margin: 0 0 10px;
        padding: 20px 20px 20px 83px;
        text-align: left;
    }
    .rason-list li:last-child {
        margin: 0;
    }
    .rason-list__item1:before,
    .rason-list__item2:before,
    .rason-list__item3:before {
        top: 50%;
        left: 24px;
        transform: translateY(-50%);
        background-size: contain;
    }
    .rason-list li a {
        text-align: left;
    }
    .rason-list li br:not([class]) {
        display: none;
    }
    .rason-list__item1:before {
        width: 40px;
        height: 40px;
    }
    .rason-list__item2:before {
        width: 40px;
        height: 40px;
    }
    .rason-list__item3:before {
        width: 40px;
        height: 40px;
    }
}

.text-support {
    text-align: center;
    line-height: 1;
    font-size: 32px;
    font-weight: bold;
    padding: 37px 0 55px;
    position: relative;
    background: url("../images/img_arw_down.png") no-repeat center 17px;
}

@media screen and (max-width: 768px) {
    .text-support {
        text-align: center;
        line-height: 1.3;
        font-size: 16px;
        padding: 20px 20px 35px;
        background: url(../images/img_arw_down.png) no-repeat center 25px / 100px auto;
    }
}

.contact-line {
    background-color: #0054a7;
}

.contact-line__inner {
    padding: 33px 0 0 273px;
    height: 225px;
}

.webp .contact-line__inner {
    background: url("../images/img_staff.png.webp") no-repeat 0 bottom / 240px auto;
}

.no-webp .contact-line__inner {
    background: url("../images/img_staff.png") no-repeat 0 bottom / 240px auto;
}

.contact-line__ttl {
    margin: 0 0 30px;
}

.contact-line__tel {
    display: block;
    width: 322px;
    margin: 0 40px 0 0;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}

.contact-line__tel span {
    display: block;
    padding-left: 32px;
    margin-bottom: 5px;
    background: url(../images/img_sodan_tel.png) no-repeat;
}

.contact-line__tel span a {
    font-size: 46px;
    line-height: 1;
    font-weight: normal;
    color: #fff;
    font-family: 'Ramabhadra', sans-serif;
    pointer-events: none;
}

.contact-line__tel img {
    width: 322px;
}

.contact-line__mail img {
    width: 342px;
}

@media screen and (max-width: 768px) {
    .webp .contact-line__inner,
    .no-webp .contact-line__inner {
        padding: 5px 5px 5px 25%;
        background-position: -43px bottom;
        background-size: 45% auto;
        height: auto;
    }
    .contact-line__ttl {
        margin: 0 0 4%;
    }
    .contact-item {
        display: block;
    }
    .contact-line__tel {
        margin: 0 0 5%;
        width: 100%;
        font-size: 4vw;
    }
    .contact-line__tel span {
        background-size: contain;
    }
    .contact-line__tel span a {
        font-size: 10vw;
        pointer-events: initial;
    }
    .contact-line__tel img,
    .contact-line__mail img {
        width: 100%;
    }
}

.case-box {
    padding: 36px 0 30px;
    background: #d3ebec url(../images/img_case-box.png) no-repeat calc(50% - 340px) 33px
}

.case-box__ttl {
    line-height: 1;
    font-size: 36px;
    font-weight: bold;
    color: #d3ebec;
}

.case-box__text {
    margin: 22px 0 29px;
    text-align: center;
    font-size: 18px;
    line-height: 2;
    font-family: Noto Sans JP;
}

@media screen and (max-width: 768px) {
    .top-contents {
        margin: 0 0 10px 0;
    }
    .case-box {
        background-color: #e6f8e5;
        padding: 8% 3% 3%;
        background-image: none;
    }
    .case-box__text {
        font-size: 4vw;
        text-align: left;
    }
}


/*-------------------------------------------------------------------------
GREETING
------------------------------------------------------------------------*/

.greeting-area {
    display: flex;
    flex-wrap: nowrap;
}

.greeting-img-area {
    display: flex;
    flex-flow: column;
    text-align: center;
    margin: 0 20px 10px 0;
    width: 215px;
}

.greeting-position {
    font-size: 14px;
    margin-top: 15px;
}

.greeting-name {
    font-weight: bold;
    font-size: 20px;
}

.greeting-continue {
    margin-top: 15px;
}

.greeting-continue a {
    display: block;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    position: relative;
    background-color: #efac2a;
    border-radius: 5px;
}

.greeting-continue a:hover {
    opacity: 0.8;
}

.greeting__img {
    margin: 0 10px 0 0;
}

.greeting__text {
    margin: 0 0 20px;
    line-height: 1.8;
}

.greeting__text.lasttxt {
    text-align: right;
}

.greeting__text span {
    font-weight: bold;
}

.greeting__text .-strong {
    color: #ff911e;
}

@media screen and (max-width: 768px) {
    .greeting-area {
        display: block;
    }
    .greeting-img-area {
        width: 100%;
    }
    .greeting-right {
        width: 100%;
    }
    .greeting__img {
        float: left;
        margin: 0 3% 0 0;
    }
}


/*-------------------------------------------------------------------------
障害年金をもらうための情報をこちらをご覧ください
------------------------------------------------------------------------*/

.info-what {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .info-what {
        flex-wrap: wrap;
        justify-content: center;
    }
}


/*-------------------------------------------------------------------------
障害年金の申請をお考えの方へ
------------------------------------------------------------------------*/

.info-case-upper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 20px;
}

.info-case-upper a {
    width: 49%;
}

.info-case-lower {
    padding: 70px 20px 20px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 20px;
    width: 100%;
    border: 2px solid #23b1b5;
    border-radius: 5px;
    background: url(../images/info-case_bg.png), -moz-linear-gradient(top, #fff, #e0f1f2);
    background: url(../images/info-case_bg.png), -webkit-linear-gradient(top, #fff, #e0f1f2);
    background: url(../images/info-case_bg.png), linear-gradient(to bottom, #fff, #e0f1f2);
    background-repeat: no-repeat;
    background-position: center 14px;
}

@media screen and (max-width: 768px) {
    .info-case-upper {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 0;
    }
    .info-case-upper a {
        width: 100%;
        margin-bottom: 3%;
    }
    .info-case-lower {
        flex-wrap: wrap;
        justify-content: center;
        background-size: contain;
        width: 100%;
        height: auto;
        padding: 16% 3% 0;
    }
    .info-case-lower a {
        width: 100%;
        margin-bottom: 3%;
    }
}


/*-------------------------------------------------------------------------
こんな場合どうするの？
------------------------------------------------------------------------*/

.info-how {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
}

.info-how a {
    width: 49%;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .info-how {
        flex-wrap: wrap;
    }
    .info-how a {
        width: 100%;
        margin-bottom: 3%;
    }
}


/*-------------------------------------------------------------------------
当事務所が選ばれる理由
------------------------------------------------------------------------*/

.reason-list {
    background-color: #d3ebec;
    padding: 25px 20px;
    margin-bottom: 25px;
}

.reason-list h2 {
    margin-bottom: 25px;
}

.reason-list li {
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 25px;
    padding: 20px 200px 20px 20px;
    min-height: 210px;
    position: relative;
}

.reason-list li:last-child {
    margin-bottom: 0;
}


/*.reason-list01 {
    background: url(../images/reason_list01.png) no-repeat right 20px top 20px;
}

.reason-list02 {
    background: url(../images/reason_list02.png) no-repeat right 20px top 20px;
}

.reason-list03 {
    background: url(../images/reason_list03.png) no-repeat right 20px top 20px;
}

.reason-list04 {
    background: url(../images/reason_list04.png) no-repeat right 20px top 20px;
}

.reason-list05 {
    background: url(../images/reason_list05.png) no-repeat right 20px top 20px;
}

.reason-list06 {
    background: url(../images/reason_list06.png) no-repeat right 20px top 20px;
}

.reason-list07 {
    background: url(../images/reason_list07.png) no-repeat right 20px top 20px;
}

.reason-list08 {
    background: url(../images/reason_list08.png) no-repeat right 20px top 20px;
}*/

.reason-title {
    position: relative;
    padding: 0 5px 0 40px;
    margin-bottom: 25px;
    font-weight: bold;
    font-size: 18px;
    font-family: Noto Sans JP;
}

.reason-list ul {
    counter-reset: number 0;
}

.reason-list li:before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    width: 70px;
    height: 70px;
    background-color: #0054a7;
    border-radius: 50%;
    font-size: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: absolute;
    top: -9px;
    left: -16px;
    font-family: meiryo;
}


/*
.reason-list .reason-list01::before {
    content: '01';
}

.reason-list .reason-list02::before {
    content: '02';
}

.reason-list .reason-list03::before {
    content: '03';
}

.reason-list .reason-list04::before {
    content: '04';
}

.reason-list .reason-list05::before {
    content: '05';
}

.reason-list .reason-list06::before {
    content: '06';
}

.reason-list .reason-list07::before {
    content: '07';
}

.reason-list .reason-list08::before {
    content: '08';
}
*/

.reason-desc {
    font-family: Noto Sans JP;
    font-size: 15px;
    font-weight: 400;
}

.reason-link {
    text-align: right;
    margin-top: 10px;
}

.reason-link a {
    color: #efac2b;
    text-decoration: underline;
    font-size: 15px;
    padding: 0 10px 0 0;
}

.reason-link a::before {
    content: url(../images/img_orange_arw.png);
    padding-right: 5px;
}

.reason-list li .reason-img {
    position: absolute;
    top: 20px;
    right: 20px;
}

.reason-list li .reason-img img {
    width: 170px;
    height: 170px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

@media screen and (max-width: 768px) {
    .reason-list li {
        padding: 10px;
        background-position: center 10px;
    }
    .reason-list li::before {
        width: 50px;
        height: 50px;
        font-size: 25px;
    }
    .reason-list li .reason-img {
        position: relative;
        top: unset;
        right: unset;
        text-align: center;
    }
    .reason-title {
        padding-left: 30px;
    }
    .reason-link a {
        display: block;
        line-height: 35px;
        height: 35px;
        line-height: 35px;
        text-align: center;
        font-size: 15px;
        font-weight: bold;
        color: #fff;
        text-decoration: none;
        position: relative;
        background-color: #efac2a;
        border-radius: 5px;
        width: 100%;
        margin: 0 auto 5px;
        padding: 0;
    }
    .reason-link a::before {
        content: unset;
    }
}


/*-------------------------------------------------------------------------
ご相談頂いた後の流れ
-------------------------------------------------------------------------*/

.flow-list {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 20px;
}

.flow-image {
    width: 114px;
    height: 160px;
    background-image: url(../images/img_arw_down_blue.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    margin-right: 20px;
}

.flow-image-last {
    width: 114px;
    height: 160px;
    margin-right: 20px;
}

.flow-contents {
    width: 100%;
}

.flow-title {
    color: #0054a7;
    border-bottom: 1px solid #0054a7;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 15px;
}

.flow-desc {
    margin-bottom: 20px;
}

.flow-link {
    text-align: right;
    display: flex;
    justify-content: flex-end;
}

.flow-link-red {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    background-color: #c43612;
    width: 220px;
    height: 35px;
    border-radius: 5px;
    margin-left: 10px;
}

.flow-link-yellow {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    background-color: #efac2b;
    width: 220px;
    height: 35px;
    border-radius: 5px;
}

.update {
    border: 3px solid #efac2b;
    border-radius: 5px;
    padding: 15px 20px;
    margin-bottom: 60px;
}

.update-title {
    border-bottom: 1px solid #efac2b;
    font-size: 20px;
    color: #efac2b;
    font-weight: bold;
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .flow-image {
        width: 25%;
        height: auto;
    }
    .flow-image-last {
        width: 25%;
        height: auto;
    }
    .flow-contents {
        width: 75%;
    }
}


/*-------------------------------------------------------------------------
お知らせ
-------------------------------------------------------------------------*/

.news__contents-top {
    margin: 0 0 50px;
}

.news__ttl {
    border-bottom: 3px solid #23b1b5;
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px;
    padding: 0 0 10px 50px;
}

.news__ttl.-item1 {
    background: url("../images/icn_book.png") no-repeat 10px 2px;
}

.news__ttl.-item2 {
    background: url("../images/icn_megaphone.png") no-repeat 10px 2px;
}

.news__ttl.-item3 {
    background: url("../images/icn_pair.png") no-repeat 0 -1px;
}

.news__scroll {
    height: 300px;
    overflow-y: auto;
    margin: 0 0 30px;
}

.news__contents__box {
    width: 45%;
}

.news__contents__box__inner {
    height: 300px;
}

.news-list {
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    padding: 10px 0;
}

.news-list:last-child {
    margin: 0;
}

.news-list dt {
    font-weight: bold;
    margin: 0 35px 0 0;
}

.news-list dt span {
    width: 110px;
    line-height: 26px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    display: inline-block;
    margin: 0 10px 12px 0;
    background: #0054a7;
}

.news-list dd {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.news-list dd a {
    font-size: 15px;
}

.news__btn a {
    display: block;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    position: relative;
    background-color: #efac2a;
    border-radius: 5px;
    width: 215px;
    margin: 0 auto;
}

.news__btn a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .news-list {
        display: block;
        border-bottom: 1px solid #e5e5e5;
        height: auto;
        padding: 2% 0;
    }
}

@media screen and (max-width: 768px) {
    .access iframe {
        width: 100%;
    }
    .access__map {
        margin: 0 0 3%;
    }
    .news__contents-top {
        margin: 0 0 5%;
        /*padding: 0 3%;*/
    }
    .news__scroll {
        height: 200px;
        margin: 0 0 3%;
    }
    .news__scroll::-webkit-scrollbar {
        width: 5px;
    }
    .news__scroll::-webkit-scrollbar-thumb {
        background: #ddd;
        border-radius: 2.5px;
    }
    .news__scroll::-webkit-scrollbar-track-piece:start {
        background: #f0f0f0;
    }
    .news__scroll::-webkit-scrollbar-track-piece:end {
        background: #f0f0f0;
    }
    .news__btn a {
        width: 100%;
        height: 35px;
        line-height: 35px;
    }
    .news__contents {
        display: block;
        margin: 0;
    }
    .news__ttl {
        font-size: 4vw;
        margin: 0 0 1vw;
        padding: 0 0 1% 7%;
    }
    .news__ttl.-item1 {
        background-position: 0 30%;
        background-size: 5% auto;
    }
    .news__ttl.-item2 {
        background-position: 0 30%;
        background-size: 5% auto;
    }
    .news__ttl.-item3 {
        background-position: 0 37%;
        background-size: 6% auto;
    }
    .news__contents__box {
        width: 100%;
        margin: 0 0 5%;
    }
    .news-list dt span {
        width: auto;
        line-height: 1;
        font-size: 3vw;
        margin: 0 2% 3% 0;
        padding: 2% 2% 1.3%;
    }
    .news__contents__box__inner {
        height: auto;
        margin: 0 0 3%;
    }
}

.free_area {
    display: block;
    width: 100%;
    margin: 0 0 20px;
}

.free_area p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 15px;
}

.free_area img.alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

.free_area img.alignright {
    float: right;
    margin: 0 0 20px 20px;
}

.free_area img.aligncenter {
    display: block;
    margin: 0 auto 20px;
}

.free_area img.alignnone {
    margin: 0 0 20px 0;
    max-width: 100%;
}

.free_area img {
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .free_area img.alignleft,
    .free_area img.alignright,
    .free_area img.aligncenter,
    .free_area img.alignnone {
        display: block;
        height: auto;
        margin: 0 auto 20px;
        float: none;
    }
}

.free_area h2 {
    margin: 0 auto 25px;
    font-size: 20px;
    color: #fff;
    padding: 6px 0 7px 25px;
    font-weight: bold;
    display: block;
    background-color: #23b1b5;
}

.free_area h2 strong {
    font-size: 18px;
    color: #fff;
    font-weight: bold;
}

.free_area h3 {
    color: #000;
    background: #FFF9E2;
    clear: both;
    margin: 25px 0;
    line-height: 150%;
    padding: 5px 0 5px 20px;
    font-size: 18px;
    border-radius: 6px;
}

.free_area h4 {
    color: #000;
    padding: 5px 0 5px 20px;
    font-size: 18px;
    line-height: 1.3;
    z-index: -1;
    margin: 15px 0;
    vertical-align: middle;
    border-bottom: 3px solid #E17822;
}

.free_area h5 {
    clear: both;
    padding: 2.5px 10px;
    font-size: 16px;
    margin: 30px 0;
    display: block;
    background: #fff;
    text-decoration: none;
    color: #333;
    border-left: #E17822 solid 4px;
    line-height: 1em;
}

/*
 追記
-------------------------------------------*/

.index_map h3 {
    color: #000;
    background: #FFF9E2;
    clear: both;
    margin: 25px 0;
    line-height: 150%;
    padding: 5px 0 5px 20px;
    font-size: 18px;
    border-radius: 6px;
}
