@charset "UTF-8";
/* CSS Document */
/*---------------------------------

  ページ内共通

---------------------------------*/
.heading_box{
    text-align: center;
    margin-bottom: 40px;
}
.heading_box span{
    display: block;
    padding-bottom: 15px;
    font-family: 'Century Gothic', 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: .04rem;
    font-size: 28px;
    color: #3ccb9c;
    line-height: 1em;
}
.heading_box h2{
    font-size: 16px;
    font-weight: 500;
    line-height: 1em;
}


/*---------------------------------

  mv

---------------------------------*/
.mv_wrapper{
    position: relative;
}
.mv_wrapper .triangle{
    position: absolute;
    left: 0;
    top: 0;
    width: 20%;
    opacity: .9;
}
.mv_wrapper .triangle:last-of-type{
    left: auto;
    top: auto;
    right: 0;
    bottom: 0;
}
.mv_inner{
    position: relative;
}
.mv_inner .copy{
    position: absolute;
    left: 10%;
    bottom: 12%;
    text-shadow: rgba(45,45,45,0.3) 1px 0 15px;
}
.mv_inner .copy h2{
    color: #fff;
    font-family: 'Century Gothic', 'Montserrat', sans-serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: .1rem;
    margin-bottom: 15px;
}
.mv_inner .copy h2 span{
    color: #1dc765;
}
.mv_inner .copy h3{
    color: #fff;
    font-size: 20px;
    font-weight: 600;
}
.mv_link{
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 12%;
    min-width: 150px;
    max-width: 200px;
}
.mv_link .private_page{
    transition: .35s;
    margin-bottom: 10px;
    display: block;
}
.mv_link .private_page:hover{
    opacity: .8;
}
.mv_link .emergency{
    transition: .35s;
    background-color: #3ccb9c;
    color: #fff;
    font-weight: 500;
    border-radius: 10px;
    display: block;
    width: 100%;
    padding: 46px 15px 15px;
    text-align: center;
    line-height: 1.2em;
    font-size: 16px;
    position: relative;
}
.mv_link .emergency::before{
    content: '';
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 26px;
    background: url("../img/common/caution.png") center / 26px auto no-repeat;
}
.mv_link .emergency:hover{
    opacity: .8;
}


/*---------------------------------

  information

---------------------------------*/
.information_wrapper{
    margin-top: 80px;
}
.information_wrapper input[type="radio"]{
    display:none;
}
.tab_area{
    display: flex;
    justify-content: center;
    width: 96%;
    max-width: 1000px;
    margin: 0 auto;
}
.tab_area label{
    width: 25%;
    display:inline-block;
    padding:18px 0;
    background: #fff;
    color: #111;
    font-size: 16px;
    line-height: 1.5em;
    text-align:center;
    cursor:pointer;
    border: solid 1px #ececec;
    margin-right: -1px;
      transition: all .2s ease-in;
-o-transition: all .2s ease-in;
-webkit-transition: all .2s ease-in;
-moz-transition: all .2s ease-in;
}
.panel_area{
    background-color: #fdf9ee;
    padding: 55px 25px;
}
.tab_panel{
    width:100%;
    display:none;
}
#tab1:checked ~ .tab_area .tab1_label, #tab2:checked ~ .tab_area .tab2_label, #tab3:checked ~ .tab_area .tab3_label, #tab4:checked ~ .tab_area .tab4_label{
    background: #fdf9ee;
    color: #3ccb9c;
    font-weight: 500;
    border: solid 1px #fdf9ee;
    border-bottom: solid 2px #3ccb9c;
    position: relative;
}
#tab1:checked ~ .tab_area .tab1_label::before, #tab2:checked ~ .tab_area .tab2_label::before, #tab3:checked ~ .tab_area .tab3_label::before, #tab4:checked ~ .tab_area .tab4_label::before{
    content: '';
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
    border: 8px solid transparent;
    border-top: 8px solid #3ccb9c;
}
#tab1:checked ~ .panel_area #panel1, #tab2:checked ~ .panel_area #panel2, #tab3:checked ~ .panel_area #panel3, #tab4:checked ~ .panel_area #panel4{
    display:block;
    animation:tabAnim ease 0.6s forwards;
    -ms-animation:tabAnim ease 0.6s forwards;
}
.tab3_label,.tab4_label{
    font-size: 15px!important;
}
@keyframes tabAnim{
  0%{opacity:0;}
  100%{opacity:1;}
}
.tab_panel_inner{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.short_list_a{
    display: flex;
    width: 100%;
    font-size: 15px;
    padding: 18px 20px;
    border-bottom: solid 1px #DBDBDB;
    transition: .35s;
}
.short_list_a:hover{
    opacity: .9;
    background-color: #F4F2ED;
}
.short_list_contents:first-of-type .short_list_a{
    border-top: solid 1px #DBDBDB;
}
/* 記事画面 */
.article_title {
    background-repeat: no-repeat;
    background-position: left center;
    display: inline-block;
    margin-right: 20px;
}
/* 表示するアイコン */
.icon01 {
    padding-right: 115px!important; /* 表示するアイコンの幅＋余白 */
    position: relative;
}
.icon01::before{
    content: 'お知らせ';
    position: absolute;
    right: 0;
    /*top: 50%;
    transform: translateY(-50%);*/
    top: 5px!important;
    width: 95px;
    padding: 0 0 1px;
    font-size: 12px;
    text-align: center;
    background-color: #3ccb9c;
    border-radius: 4px;
    box-sizing: border-box;
    color: #fff;
    font-family: YakuHanJP_Noto, 'Noto Sans JP', Hiragino Sans, "ヒラギノ角ゴ ProN W3", Yu Gothic Medium, "游ゴシック", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 20px;
}
.icon02 {
    padding-right: 115px!important; /* 表示するアイコンの幅＋余白 */
    position: relative;
}
.icon02::before{
    content: '法人のお客様';
    position: absolute;
    right: 0;
    /*top: 50%;
    transform: translateY(-50%);*/
    top: 5px!important;
    width: 95px;
    padding: 0 0 1px;
    font-size: 12px;
    text-align: center;
    background-color: #3ccb9c;
    border-radius: 4px;
    box-sizing: border-box;
    color: #fff;
    font-family: YakuHanJP_Noto, 'Noto Sans JP', Hiragino Sans, "ヒラギノ角ゴ ProN W3", Yu Gothic Medium, "游ゴシック", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 20px;
}
.icon03 {
    padding-right: 115px!important; /* 表示するアイコンの幅＋余白 */
    position: relative;
}
.icon03::before{
    content: '個人のお客様';
    position: absolute;
    right: 0;
    /*top: 50%;
    transform: translateY(-50%);*/
    top: 5px!important;
    width: 95px;
    padding: 0 0 1px;
    font-size: 12px;
    text-align: center;
    background-color: #3ccb9c;
    border-radius: 4px;
    box-sizing: border-box;
    color: #fff;
    font-family: YakuHanJP_Noto, 'Noto Sans JP', Hiragino Sans, "ヒラギノ角ゴ ProN W3", Yu Gothic Medium, "游ゴシック", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 20px;
}
.tab_panel_inner iframe{
    width: 100%!important;
}


/*---------------------------------

  about

---------------------------------*/
.about_wrapper{
    padding: 70px;
    position: relative;
}
.about_wrapper .triangle {
    position: absolute;
    left: 0;
    top: 0;
    width: 20%;
}
.about_wrapper .triangle:last-of-type {
    left: auto;
    top: auto;
    right: 0;
    bottom: 0;
}
.about_inner{
    text-align: center;
}
.about_inner .heading_box{
    margin-bottom: 30px;
}
.about_inner h3{
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6em;
    margin-bottom: 15px;
}
.about_inner h3 span{
    color: #1dc765;
}
.about_inner p{
    padding-bottom: 25px;
}


/*---------------------------------

  service

---------------------------------*/
.service_wrapper{
    margin: 80px 0;
}
.service_wrapper .heading_box{
    display: flex;
    align-items: center;
    text-align: left;
    border-bottom: solid 1px #3ccb9c;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.service_wrapper .heading_box span{
    padding-bottom: 0;
    padding-right: 10px;
}
.service_inner{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.service_column{
    display: flex;
    justify-content: center;
}
.service_column a{
    display: block;
    width: 50%;
    background-color: #f8f8f8;
    overflow: hidden;
    transition: .6s;
}
.service_column a:first-of-type{
    margin-right: 2%;
}
.service_column a:last-of-type{
    margin-left: 2%;
}
.service_column a .service_image{
    position: relative;
    transition: .6s;
    overflow: hidden;
    z-index: 2;
}
.service_column a .service_image img{
    transition: .6s;
}
.service_column>a>div:first-of-type{
    position: relative;
}
.service_column>a>div:first-of-type::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: rgba(70,70,70,0.4);
    transition: .6s;
    color: #fff;
    z-index: 3;
}
.service_column>a:hover>div:first-of-type::before{
    background-color: rgba(0,0,0,0.06);
}
.service_column a:hover .service_image>img{
    transform: scale(1.02);
}
.service_column a>div:first-of-type::after{
    content: 'business';
    position: absolute;
    bottom: -10px;
    left: -6px;
    color: rgba(255,255,255,0.4);
    font-family: 'Century Gothic', 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 90px;
    line-height: 1em;
    overflow: hidden;
    transition: .4s;
    z-index: 10;
}
.service_column a:last-of-type>div:first-of-type::after{
    content: 'personal';
}
.service_column a:hover>div:first-of-type::after{
    opacity: 0;
}
.service_column .service_text{
    background-color: #f8f8f8;
    padding: 25px;
    text-align: center;
    font-weight: 500;
    display: block;
    position: inherit;
}
.service_column .service_text p{
    font-size: 16px;
    line-height: 1em;
    padding-bottom: 10px;
}
.service_column .service_text h3{
    font-size: 26px;
}
.service_column .service_text h3 span{
    color: #1dc765;
}


/*---------------------------------

  online service

---------------------------------*/
.online_column{
    width: 90%;
    max-width: 1500px;
    display: flex;
    padding: 80px 0 80px 14%;
    position: relative;
}
.online_column::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80%;
    background-color: #fdf9ee;
    z-index: -5;
}
@media print, screen and (max-width: 1250px) {
    .online_column::after{
        height: 70%;
    }
}
.online_image{
    width: 40%;
    margin-right: 8%;
    margin-top: 4%;
}
.online_content{
    width: 60%;
    margin-right: 6%;
    max-width: 600px;
}
.for_personal{
    color: #fff;
    background-color: #3ccb9c;
    border-radius: 4px;
    font-size: 20px;
    display: inline-block;
    padding: 0 15px;
    letter-spacing: .04rem;
    margin-right: 14px;
}
.online_content .en{
    font-weight: 700;
    color: #3ccb9c;
}
.for{
    display: flex;
    align-items: center;
    font-size: 18px;
    margin-bottom: 25px;
}
.online_content h2{
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6em;
    margin-bottom: 15px;
}
.online_content h2 span {
    color: #1dc765;
}
.online_text{
    padding-bottom: 25px;
}
.online_text p:first-of-type{
    padding-bottom: 15px;
}
.online_column a.btn_bg{
    margin: initial;
}
.contract .online_column{
    flex-direction: row-reverse;
    margin: 0 0 0 auto;
    padding: 80px 14% 80px 0;
}
.contract .online_image{
    margin-left: 8%;
    margin-right: 0;
}
.contract .online_content {
    margin-left: 6%;
    margin-right: 0;
}


/*---------------------------------

  risk financing

---------------------------------*/
.risk_wrapper{
}
.risk_inner{
    width: 86%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 60px;
    position: relative;
    margin-bottom: 70px;
}
.risk_inner::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 2px;
    background-color: #3ccb9c;
    z-index: 2;
}
.risk_inner .heading_box{
    text-align: left;
    position: relative;
    z-index: 3;
    margin-bottom: 45px;
}
.risk_content{
    width: 80%;
    margin: 0 auto;
}
.risk_content h2{
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6em;
    margin-bottom: 25px;
}
.risk_content h2 span{
    color: #1dc765;
}
.risk_content p{
    padding-bottom: 20px;
}
.risk_content a.btn_bg{
    margin: 0 0 0 auto;
}
.life_image_wrapper{
    background-color: #f8f8f8;
    margin-bottom: 80px;
}
.life_image{
    display: flex;
    max-width: 2000px;
    margin: 0 auto;
}
.life_image p{
    width: 25%;
}
.risk_financing_bg{
    position: absolute;
    top: 0;
    right: 0;
    width: 90%;
    z-index: -5;
}


/*---------------------------------

  sdgs

---------------------------------*/
.sdgs_wrapper{
    margin-bottom: 100px;
}
.sdgs_inner{
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
    background-color: #f8f8f8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 6%;
    position: relative;
}
.sdgs_logo{
    width: 48%;
    margin-right: 8%;
    display: block;
}
.sdgs_content{
    width: 52%;
}
.sdgs_inner .heading_box{
    margin-bottom: 25px;
}
.sdgs_inner .heading_box>span{
    padding-bottom: 10px;
}
.sdgs_content>p{
    padding-bottom: 25px;
}
.sdgs_content a.btn_bg:hover:before {
    -webkit-transform: translateX(-9%) translateY(-25%) rotate(42deg);
    transform: translateX(-9%) translateY(-25%) rotate(40deg);
    z-index: 0;
}


@media print, screen and (max-width: 1300px) {
    .mv_inner .copy h2{
        font-size: 50px;
    }
}


@media print, screen and (max-width: 1000px) {
    .mv_inner .copy h2{
        font-size: 40px;
        margin-bottom: 10px;
    }
    .mv_inner .copy h3{
        font-size: 18px;
    }
    .mv_inner .copy {
        left: 5%;
        bottom: 10%;
    }
    .mv_link .emergency {
        padding: 41px 10px 10px;
        font-size: 15px;
    }
    .mv_link .emergency::before {
        top: 12px;
        width: 24px;
        height: 24px;
        background: url(../img/common/caution.png) center / 24px auto no-repeat;
    }
    .information_wrapper {
        margin-top: 60px;
    }
    .panel_area {
        padding: 45px 25px;
    }
    .tab_panel_inner {
        max-width: 600px;
    }
    .online_column {
        width: 94%;
        padding: 80px 0 80px 8%;
    }
    .online_column::after {
        height: 60%;
    }
    .service_column a h3{
        font-size: 22px;
    }
    .service_column a>div::after{
        font-size: 70px;
    }
    
    
    
    
    
    
    
    
    
    
}


@media print, screen and (max-width: 750px) {
    .heading_box h2 {
        font-size: 15px;
    }
    .heading_box {
        margin-bottom: 30px;
    }
    
    
    /*---------------------------------

      mv

    ---------------------------------*/
    .mv_wrapper .triangle {
        width: 35%;
    }
    .mv_inner .copy {
        left: 6%;
        bottom: 8%;
        text-shadow: rgba(0,0,0,0.6) 1px 0 20px;
    }
    .mv_inner .copy h2 {
        font-size: 35px;
        margin-bottom: 10px;
    }
    .mv_inner .copy h3 {
        font-size: 16px;
    }
    .mv_link {
        position: static;
        right: auto;
        bottom: auto;
        width: 100%;
        margin: 0 auto;
        margin-top: 10px;
        max-width: 400px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 5px;
    }
    .mv_link .private_page {
        width: calc(50% - 10px);
        margin: 0 5px;
    }
    .mv_link .emergency {
        width: calc(50% - 10px);
        margin: 0 5px;
        padding: 40px 5px 10px;
    }
    .mv_link .emergency::before {
        top: 10px;
        width: 25px;
        height: 25px;
        background: url(../img/common/caution.png) center / 25px auto no-repeat;
    }


    /*---------------------------------

      information

    ---------------------------------*/
    .information_wrapper{
        margin-top: 50px;
    }
    .tab_area label{
        font-size: 14px;
        padding: 10px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.4em;
        font-weight: 500;
    }
    .tab3_label, .tab4_label {
        font-size: 13px!important;
    }
    .panel_area {
        padding: 35px 20px;
    }
    .tab_panel_inner {
        width: 100%;
        max-width: 500px;
    }
    .short_list_a {
        display: block;
        padding: 15px 0;
    }
    .short_subject{
        display: block;
        line-height: 1.6em;
    }
    .icon01 {
        padding-right: 105px!important;
    }
    .icon02 {
        padding-right: 105px!important;
    }
    .icon03 {
        padding-right: 105px!important; 
    }
    #tab1:checked ~ .tab_area .tab1_label::before, #tab2:checked ~ .tab_area .tab2_label::before, #tab3:checked ~ .tab_area .tab3_label::before, #tab4:checked ~ .tab_area .tab4_label::before {
        display: none;
    }
    .tab_panel_inner iframe{
        height: 320px!important;
    }
    
    
    /*---------------------------------

      about

    ---------------------------------*/
    .about_wrapper {
        padding: 45px 15px 55px;
    }
    .about_wrapper .triangle {
        width: 35%;
    }
    .about_inner h3 {
        font-size: 18px;
        line-height: 1.6em;
        margin-bottom: 15px;
    }
    .about_inner p{
        text-align: left;
        font-size: 15px;
    }
    .about_inner p br{
        display: none
    }
    .about_bg{
        overflow: hidden;
    }
    .about_bg img{
        width: 140%;
    }
    
    
    /*---------------------------------

      service

    ---------------------------------*/
    .service_wrapper{
        margin: 40px 0 50px;
    }
    .service_wrapper .heading_box {
        align-items: baseline;
    }
    .service_column {
        display: block;
    }
    .service_column a:first-of-type {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .service_column a:last-of-type {
        margin-left: 0;
    }
    .service_column a {
        width: 100%;
    }
    .service_column a>div:first-of-type::after{
        font-size: 80px;
    }
    .service_column .service_text p{
        font-size: 15px;
        line-height: 1em;
        padding-bottom: 10px;
    }
    .service_column .service_text h3{
        font-size: 22px;
    }


    /*---------------------------------

      online service

    ---------------------------------*/
    .online_column{
        width: 90%;
        max-width: 1500px;
        display: block;
        padding: 35px 0 40px;
        position: relative;
        margin: 0 auto;
    }
    .contract .online_column {
        padding: 35px 0 40px;
        margin: 0 auto;
    }
    .online_column::after{
        display: none;
    }
    .online_image {
        width: 80%;
        margin: 0 0 0 auto;
        margin-bottom: 30px;
    }
    .contract .online_image {
        margin: 0;
        margin-bottom: 30px;
    }
    .online_wrapper{
        position: relative;
        margin-bottom: 30px;
    }
    .online_wrapper.contract{
        margin-bottom: 45px;
    }
    .online_wrapper::after{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 91%;
        height: 100%;
        background-color: #fdf9ee;
        z-index: -5;
    }
    .online_wrapper.contract::after{
        content: '';
        position: absolute;
        top: 0;
        left: auto;
        right: 0;
        width: 91%;
        height: 100%;
        background-color: #fdf9ee;
        z-index: -5;
    }
    .online_content {
        width: 90%;
        margin-right: 0;
    }
    .contract .online_content {
        width: 90%;
        margin: 0 0 0 auto;
    }
    .for_personal {
        font-size: 16px;
        margin-right: 10px;
        font-weight: 500;
    }
    .for {
        margin-bottom: 15px
    }
    .online_content h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    
    /*---------------------------------

      risk financing

    ---------------------------------*/
    .risk_inner {
        width: 100%;
        max-width: 500px;
        padding: 35px 20px 0;
        position: relative;
        margin-bottom: 50px;
        overflow: hidden;
    }
    .risk_inner::before {
        left: 20px;
    }
    .risk_financing_bg {
        position: absolute;
        top: 0;
        right: auto;
        left: 0;
        width: 220%;
        z-index: -5;
    }
    .risk_inner .heading_box {
        margin-bottom: 30px;
    }
    .risk_content {
        width: 100%;
    }
    .risk_content h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .risk_content p {
        padding-bottom: 15px;
    }
    .risk_content p:last-of-type{
        margin-bottom: 10px;
    }
    .life_image p {
        width: 33.333%;
    }
    .life_image p:nth-of-type(4){
        display: none;
    }
    .life_image_wrapper {
        margin-bottom: 50px;
    }
    
    
    /*---------------------------------

      sdgs

    ---------------------------------*/
    .sdgs_wrapper {
        margin-bottom: 50px;
    }
    .sdgs_inner {
        max-width: 400px;
        display: block;
        padding: 30px 20px 25px;
    }
    .sdgs_logo {
        width: 90%;
        margin: 0 auto;
        max-width: 230px;
        margin-bottom: 30px;
    }
    .sdgs_content {
        width: 100%;
    }
    .sdgs_inner .heading_box {
        margin-bottom: 20px;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    


}
@media print, screen and (max-width: 376px) {
    .tab3_label, .tab4_label {
        font-size: 12px!important;
    }
    
}
