@charset "utf-8";

/* ==========================================================================
	main
========================================================================== */

#hasei_main .img_area{
   background-image:url(../image/service/main_bg.jpg);
}


#hasei_main,
#footer{overflow: hidden;}

@media screen and (max-width :800px ){
    #hasei_main, #footer{overflow: visible;}
}

/* ==========================================================================
	intro
========================================================================== */
.intro {
    position: relative;
    background:#ffee9c;
    margin:60px auto 118px;
}
.intro:before{
    content:"";
    display: block;
    width: 100%;
    height: 255px;
    background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index:1;
}
.intro:after{
    content:"";
    display: block;
    width: 95%;
    max-width:1200px;
    height: 390px;
    background:#fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin:auto;    
    z-index:1;
    
}
.intro .tit_area {
    position: relative;
    height: 195px;
    margin:0 auto 100px;
    box-sizing:border-box;
    z-index:10;
}

.intro .s_tit{
    position: relative;
    display: block;
    width: 290px;
    margin:0 auto;
    z-index:10;
}
.intro h2 {
    position: relative;
    width: 260px;
    margin:22px auto 0;
    z-index:10;
}


.intro .intro_bar {
    position: absolute;
    width: 90%;
    max-width:1200px;
    height:60px;
    background:#ffee9c;
    position: absolute;
    left: 0;
    right: 0;
    margin:auto;
    bottom: -60px;
    border-radius:30px 30px 0 0;
    z-index:1;
}
.intro .intro_bar:before{
    content:"";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom:0;
    left:-40px;
    background:url(../image/about/intro_lb.png);
    background-size:cover;
}
.intro .intro_bar:after{
    content:"";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom:0;
    right:-40px;
    background:url(../image/about/intro_rb.png);
    background-size:cover;
}


.intro .illust_area{
    display: block;
    position: absolute;
    width: 764px;
    left: 0;
    right: 0;
    bottom: -5px;
    margin:auto;
    z-index:5;
    opacity:0;
	transform: translateY(50px);
	transition: .4s;
    transition-delay: 0.3s;
}
.intro .illust_area.move{
    opacity:100;    
	transform: translateY(0px);
}

.intro .illust_area .illust01{
    position: absolute;
    width: 179px;
    left: 0;
    bottom:0;
    z-index:3;
}
.intro .illust_area .illust02{
    position: absolute;
    width: 120px;
    right: 87px;
    bottom:0;
    z-index:5;
}
.intro .illust_area .illust03{
    position: absolute;
    width: 113px;
    right: 0;
    bottom:0;
    z-index:3;
}



.intro .w_box{
    position: relative;
    width: 95%;
    max-width:1200px;
    margin:40px auto 0;
    border-radius:30px 30px 0 0;
    background:#fff;
    padding:100px 0 30px;
}


.intro .w_box h3{
     width: 513px;
    margin:0 auto 55px;
}
.intro .w_box p{
     font-size: 17px;
    line-height: 38px;
    padding:0 15px;
    box-sizing:border-box;
    text-align: center;
    font-weight: 600;
}
.intro .w_illust01{
    width: 127px;
    position: absolute;
    top: 141px;
    right: calc(50% + 305px);
}
.intro .w_illust02{
    width: 158px;
    position: absolute;
    top: 110px;
    left: calc(50% + 309px);
}


.intro .slide_area {
    position: relative;
    width: 100%;
    height: 390px;
    background: url(../image/service/intro_slide.png) repeat-x 0 0;
    -moz-animation: newsloop 60s linear infinite;
    animation: typeloop 60s linear infinite;
    background-size:2200px 390px;
    z-index:10;
    }
@keyframes typeloop {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -2200px 0;
  }
}




@media screen and (max-width :1070px ){ 


    .intro .w_illust01{
        right: auto;
        left: 15px;
    }
    .intro .w_illust02{
        left: auto;
        right:15px;
    }

}



@media screen and (max-width :900px ){ 
    .intro .w_illust01{
       top: 80px;
    }
    .intro .w_illust02{
        top: 40px;
    }


}



@media screen and (max-width :800px ){


    .intro {
        margin:35px auto 65px;
        background:#fff;
    }
    .intro:before,
    .intro:after{
        display:none;

    }
    .intro .tit_area {
        position: relative;
        height: 132px;
        margin:0 auto;
        box-sizing:border-box;
        z-index:10;
    }
    .intro .tit_area:before{
        content:"";
        display: block;
        width: 100%;
        height: 80px;
        background:#ffee9c;
        position: absolute;
        left: 0;
        top: 53px;
        z-index:1;
    }

    .intro .s_tit{
        position: relative;
        display: block;
        width: 256px;
        margin:0 auto;
        z-index:10;
    }
    .intro h2 {
        position: relative;
        width: 178px;
        margin:15px auto 0;
        z-index:10;
    }


    .intro .intro_bar {
        width: 85%;
        height:30px;
        bottom: auto;
        top: 23px;
        border-radius:15px 15px 0 0;
    }
    .intro .intro_bar:before{
        width: 20px;
        height: 20px;
        left:-20px;
    }
    .intro .intro_bar:after{
        width: 20px;
        height: 20px;
        right:-20px;
    }


    .intro .illust_area{display:none;}
 



    .intro .w_box{
        width: 100%;
        max-width:1200px;
        margin:0 auto 0;
        border-radius:0;
        padding:40px 0 45px;
        z-index: 20;
    }
    .intro .w_box:before{
        content:"";
        display: block;
        width: 90%;
        height: 60px;
        position: absolute;
        left: 0;
        right: 0;
        top: 0px;
        margin:auto;
        background:#fff;
        border-radius:10px 10px 0 0;
        z-index:2;
    }


    .intro .w_box:after{
        content:"";
        display: block;
        width: 100%;
        height: 60px;
        background:#ffee9c;
        position: absolute;
        left: 0;
        top: 0;
        z-index:1;
        
    }

    .intro .w_box h3{
        position: relative;
         width: 248px;
        margin:0 auto 155px;
        z-index:10;
    }
    .intro .w_box p{
         font-size: 16px;
        line-height: 28px;
        padding:0;
        width: 75%;
        margin:0 auto;
        text-align: left;
    }
    .intro .w_illust01{
        width: 92px;
        top: 211px;
        left:auto;
        right: calc(50% + 40px);
    }
    .intro .w_illust02{
        width: 103px;
        top: 192px;
        right: auto;
        left: calc(50% + 31px);
    }



    .intro .slide_area {
        width: 100%;
        height: 215px;
        background-size:1213px 215px;
        z-index:10;
        }
    @keyframes typeloop {
      0% {
        background-position: 0 0;
      }

      100% {
        background-position: -1213px 0;
      }
    }



}






/* ==========================================================================
	sankaku
========================================================================== */

.services {
    position: relative;
    width: 95%;
    max-width:1200px;
    margin:0 auto 80px;
    background: url(../image/about/carer_bg.jpg);
    background-size: 4px 4px;
    border: 5px solid #fcca0d;
    border-radius: 20px;
    z-index:10;
    padding:100px 0 50px;
}
.services:before{    
    content: "";
    display: block;
    position: absolute;
    width: 80%;
    max-width:840px;
    height: 20px;
    background: #fcca0d;
    border-radius: 0 0 10px 10px;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
}
.services .illust{
    display: block;
    width: 209px;
    position: absolute;
    left: 0;
    right: 0;
    top: -149px;
    margin:auto;
    opacity:0;
	transform: translateY(50px);
	transition: .4s;
    transition-delay: 0.3s;
}
.services .illust.move{
    opacity:100;    
	transform: translateY(0px);
}
.services .services_inr {
    position: relative;
    width: 95%;
    max-width:1036px;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin:0 auto;
}
.services .tit_area {
    width: 136px;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-direction: row-reverse;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding:0 20px;
    box-sizing:border-box;
}
.services h2 {
    width: 41px;
}
.services h2 img{
    position: relative;
    position: -webkit-sticky;
    position: sticky;
    top: 15px;
}
.services .enb {
    display: block;
    text-shadow: 1px 1px 0px #643e2f, -1px 1px 0px #643e2f, 1px -1px 0px #643e2f, -1px -1px 0px #643e2f, 1px 0px 0px #643e2f, 0px 1px 0px #643e2f, -1px 0px 0px #643e2f, 0px -1px 0px #643e2f;
    font-feature-settings: normal;
    vertical-align: top;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    font-size: 20px;
    color: #ffffff;
    text-align: left;
    margin: 0;
    position: relative;
    position: -webkit-sticky;
    position: sticky;
    top: 15px;
    height: 258px;
}
.services ul {
    width: 800px;
    max-width: 800px;
}
.services li {
    border-radius:10px;
    background:#fff;
    border:2px solid #fcca0d;
    padding: 24px 40px 33px;
    box-sizing:border-box;
    box-shadow: 4px 4px 0px 0px rgb(214 208 176 / 30%);
    margin-bottom: 30px;
}

.services li .list_tit {
    position: relative;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
    color:#ea5413;
    padding-left: 36px;
    margin-bottom: 10px;
    box-sizing:border-box;
}

.services li .list_tit:before{
    content:"";
    display: block;
    width: 26px;
    height: 28px;
    position: absolute;
    left: 0;
    top: 0;
    background:url(../image/service/list_tit_icon01.png);
    background-size:cover;
}
.services li .list_tit.tit02:before{
    background-image:url(../image/service/list_tit_icon02.png);
    
}
.services li .list_tit.tit03 {
    padding-left: 33px;
}
.services li .list_tit.tit03:before{
    width: 24px;
    height: 26px;
    position: absolute;
    left: 0;
    background-image:url(../image/service/list_tit_icon03.png);
}
.services li p {
    font-size: 15px;
    line-height: 26px;
    font-weight: 600;
    color:#643e2f;
}


.services .g_box {
    padding:25px 30px 23px;
    background:#fafafa;
    box-sizing:border-box;
    border-radius:5px;
    margin-bottom: 10px;
}
.services .g_box.mt{
    margin-top: 25px;
}
.services .g_box h4 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 5px;
    text-indent: -1em;
    padding-left: 1em;
}
.services .g_box p {
    font-size: 15px;
    line-height: 26px;
    font-weight: 600;
}


@media screen and (max-width :1100px ){
    .services ul {
        width: calc(100% - 160px);
    }
}

@media screen and (max-width :800px ){


    .services {
        width: 100%;
        margin:0 auto;
        background-size: 2px 2px;
        border:none;
        border-top: 10px solid #fcca0d;
        border-radius: 0px;
        padding:50px 0 20px;
    }
    .services:before{ 
        width: 75%;
        height: 15px;
        border-radius: 0 0 5px 5px;
    }
    .services .illust{
        width: 147px;
        top: -113px;
    }
    .services .services_inr {
        width: 90%;
        max-width:1036px;
        display: block;
        margin:0 auto;
    }
    .services .tit_area {
        width: 100%;
        display: block;
        padding:0;
    }
    .services h2 {
        width: 152px;
        display: block;
        margin:0 auto;
    }
    .services h2 img{
        position: relative;
        top: 0;
    }
    .services .enb {
        display: block;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        font-size: 15px;
        text-align: center;
        margin: 18px auto 38px;
        position: relative;
        top: auto;
        height: auto;
        
    }
    .services ul {
        width: 100%;
        max-width: 800px;
    }
    .services li {
        border-radius:5px;
        padding: 24px 20px 20px;
        box-shadow: 2px 2px 0px 0px rgb(214 208 176 / 30%);
        margin-bottom: 20px;
    }

    .services li .list_tit {
        font-size: 18px;
        line-height: 1.5;
        padding-left: 36px;
        margin-bottom: 13px;
    }

    .services li .list_tit:before{
        width: 23px;
        height: 25px;
    }
    
    .services li .list_tit.tit03:before{
        width: 23px;
        height: 25px;
    }
    .services li p {
        font-size: 16px;
        line-height: 28px;
    }


    .services .g_box {
        padding:22px 20px 16px;
        margin-bottom: 15px;
    }
    .services .g_box.mt{
        margin-top: 20px;
    }
    .services .g_box h4 {
        font-size: 15px;
        line-height: 23px
    }
    .services .g_box p {
        font-size: 15px;
        line-height: 27px;
    }
}
/* ==========================================================================
	medical
========================================================================== */

.medical {
    background:#fcca0d;
    padding: 80px 0;
}

/*------ w_a_box ------*/
.medical .w_box {
    position: relative;
    width: 95%;
    max-width:1300px;
    border-radius:20px;
    background:#fff;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    flex-direction: row-reverse;
    padding:60px 50px 50px;
    box-sizing:border-box;
    margin:0 auto;
}
.medical .img_area {
    border-radius:10px;
    background:url(../image/service/medical_img.jpg) right center;
    background-size:cover;
    width: 50%;
}
.medical .text_area {
    width: 50%;
    padding:50px 30px 0;
    box-sizing:border-box;
}
.medical .text_area p {
    font-size: 17px;
    line-height: 38px;
    color:#252525;
    max-width:525px;
    font-weight: 600;
}
.medical h2 {
    width: 100%;
    max-width: 514px;
}

.medical .w_box .enb {
    display: block;
    font-size: 16px;
    color:#edbb00;
    margin:30px 0 55px;
}
.medical .y_bg {
    width: 100%;
    background:#ffee9c;   
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    padding:20px;
    box-sizing:border-box;
    border-radius:10px;
    margin-top: 40px;
}
.medical .y_bg .t_txt{
    display: flex;
    align-items: center;
    justify-content: center; 
    width: calc(100% - 630px);
}

.medical .y_bg .t_txt p{
    font-size: 18px;
    line-height: 32px;
    font-weight: 600;
    text-align:left;
}

.medical .tell_box {
    position: relative;
    width: 630px;
    background:#fff;
    padding:25px 0 30px 40px;
    border-radius:10px;
    box-sizing:border-box;
}
.medical .tell_box:before{
    content:"";
    display: block;
    width: 183px;
    height: 142px;
    position: absolute;
    left: 321px;
    top: -12px;
    background:url(../image/service/tell_box_illust.png);
    background-size:cover;
    z-index:10;
}
.medical .tell_box:after{
    content:"";
    display: block;
    width: 132px;
    height: 130px;
    position: absolute;
    right: -13px;
    top: -44px;
    background:url(../image/service/tell_box_icon.png);
    background-size:cover;
    z-index:10;
}
.medical .tell_box span {
    display: block;
    width: 210px;
    margin-left: 22px;
}
.medical .tell_box .en {
    position: relative;
    display: block;
    font-size: 34px;
    color: #ea5514;
    padding: 0 0 0 45px;
    box-sizing: border-box;
    margin-top: 14px;
}
.medical .tell_box .en:before{
    content: "";
    display: block;
    width: 38px;
    height: 35px;
    position: absolute;
    left: 0;
    top: -5px;
    background: url(../image/service/medical_tell_icon.png);
    background-size: cover;
}



@media screen and (max-width :1400px ){

    .medical .w_box{
    padding:60px 3vw 50px;

    }
    .medical .y_bg .t_txt{
        width: 45%;
    }

    .medical .tell_box {
        width: 53%;
        background:#fff;
        padding:25px 0 30px 2.8vw;
    }
    .medical .tell_box:before{
        left: 55%;
    }
}



@media screen and (max-width :1150px ){
    .medical .tell_box:before{
        display:none;
    }
    .medical .tell_box{
        padding: 25px 30px 30px 0;
    }
    .medical .tell_box span{
        margin:0 auto;        
    }
    .medical .tell_box .en{
        margin: 14px auto 0;
        text-align: center;
    }
    .medical .tell_box .en:before {
        left: calc(50% - 121px);
    }
    .medical .y_bg .t_txt p{
        font-size: 16px;
        line-height: 26px;
    }
    
}

@media screen and (max-width :1100px ){

    .medical .text_area{
    padding: 50px 2.14vw 0 0;
    }
}



@media screen and (max-width :1000px ){
    .medical .tell_box:after{right: -45px;}
}

@media screen and (max-width :800px ){

    .medical {
        padding: 0px 0 50px;
    }

    /*------ w_a_box ------*/
    .medical .w_box {
        width: 100%;
        border-radius:0px;
        display: block;
        padding:0 0 50px;
    }
    .medical .img_area {
        width: 100%;
        border-radius:0;
        height: 300px;
        background-size:url(../image/service/medical_img_sp.jpg);
    }
    .medical .text_area {
        width:90%;
        margin:0 auto;
        padding:45px 0 0;
    }
    .medical .text_area p {
        width: 95%;
        margin: 0 auto;
        font-size: 16px;
        line-height: 23px;
        max-width:800px;
    }
    .medical h2 {
        width: 100%;
        max-width: 342px;
        margin:0 auto;
    }

    .medical .w_box .enb {
        font-size: 14px;
        margin:20px auto 35px;
        text-align: center;
    }
    .medical .y_bg {
        display: block;
        width: 90%;
        padding:32px 20px 20px;
        border-radius:5px;
        margin: 35px auto 0;
    }
    .medical .y_bg .t_txt{
        display: block;
        width: 100%;
    }

    .medical .y_bg .t_txt p{
        font-size: 18px;
        line-height: 30px;
        text-align:left;
        width: 90%;
        margin:0 auto 20px;
    }

    .medical .tell_box {
        position: relative;
        display: block;
        width: 100%;
        background:#fff;
        padding: 20px 129px 22px 20px;
        border-radius:5px;
    }
    .medical .tell_box:before{
        display: block;
        width: 128px;
        height: 99px;
        left: calc(50% + 54px);
        top: -16px;
    }
    .medical .tell_box:after{
        display:none;
    }
    .medical .tell_box span {
        width: 173px;
        margin: 0 auto;
    }
    .medical .tell_box .en {
        font-size: 24px;
        padding: 0 0 0 32px;
        margin: 12px auto 0;
    }
    .medical .tell_box .en:before{
        width: 28px;
        height: 26px;
        left: calc(50% - 88px);
        top: -5px;
    }


}


@media screen and (max-width :400px ){
    .medical .tell_box{
        padding-right: 100px;
    }
    .medical .tell_box .en {
        font-size: 22px;
        padding: 0 0 0 27px;
    }

    
}


/*------ kega_box ------*/

.kega_box {
    position: relative;
    width: 95%;
    max-width:1200px;
    margin:135px auto 140px;
    padding:50px 15px 45px 630px;
    box-sizing:border-box;
}
.kega_box:before{
    content:"";
    display: block;
    position: absolute;
    width: 90%;
    height: 100%;
    top: 0;
    right: 0;
    background:#fff;
    border-radius:30px;
    z-index:1;
}
.kega_box .illust {
    position: absolute;
    left: 0;
    top: -58px;
    z-index:10;
    width: 603px;
}
.kega_box h3 {
    position: relative;
    z-index:10;
    margin-bottom: 25px;
}
.kega_box h3 span{
    display:inline-block;
    font-size: 26px;
    color:#252525;
    border-bottom:1px solid #252525;
}
.kega_box p {
    position: relative;
    display:inline-block;
    padding:10px 15px;
    border-radius:10px;
    border:2px solid #fcca0d;
    box-sizing:border-box;
    margin:0 10px 10px 0;
    font-size: 16px;
    color:#252525;
    font-weight: 600;
    z-index:10;
}
.kega_box h4 {
    position: relative;
    font-size: 17px;
    line-height: 30px;
    font-weight: 600;
    margin-top: 7px;
    color:#252525;
    z-index:10;
}
.kega_box h4 span {
    font-size: 17px;
    line-height: 30px;
    font-weight: 600;
    color:#ea5413;
}






@media screen and (max-width :1230px ){
    .kega_box{
        padding-left: 56%;
    }
    .kega_box .illust {
        top: -38px;
        width:55%;
    }
}

@media screen and (max-width :1050px ){
    .kega_box .illust{top: 0;}
}
@media screen and (max-width :900px ){
    
    .kega_box{
        padding-left: 0;
        text-align: center;
        margin-top: 245px;
        padding-top: 160px;
    }
    .kega_box:before{width: 100%; }
    .kega_box .illust{
        top: -200px;
        left: 0;
        right: 0;
        margin:auto;
        width: 450px;
    }
}

@media screen and (max-width :800px ){
    
    .kega_box {
        width: 90%;
        margin:250px auto 105px;
        padding:26vw 7.5vw 40px;
        background:#fff;
        border-radius:10px;
    }
    .kega_box:before{
        display: none;
    }
    .kega_box .illust {
       width: 100%;
        max-width:450px;
        top: -190px;
    }
    .kega_box h3 {
        margin-bottom: 30px;
    }
    .kega_box h3 span{
        font-size: 22px;
    }
    .kega_box p {
        padding:10px 15px;
        border-radius:5px;
        margin:0 0 10px;
        font-size: 16px;
        width: 100%;
    }
    .kega_box h4 {
        font-size: 16px;
        line-height: 28px;
        margin-top: 7px;
        text-align:left;
    }
    .kega_box h4 span {
        font-size: 16px;
        line-height: 28px;
    }
}

@media screen and (max-width :500px ){
    
    .kega_box {
        margin:58vw auto 105px;
        padding-top: 23vw;
    }
    .kega_box .illust {
        top: -48vw;
    }
    
}

@media screen and (max-width :500px ){
    
    .kega_box p{font-size: 14px;}
}



/*------ kega_a_box ------*/
.kega_a_box {
    position: relative;
    width: 95%;
    max-width:1300px;
    margin:140px auto 90px;
    background:#fff;
    padding:60px 15px;
    box-sizing:border-box;
    border-radius:20px;
}

.kega_a_box:before{
     content:"";
    display: block;
    width: 178px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    top: -100px;
    margin:auto;
    background:url(../image/service/kega_ar.png);
    background-size:cover;
    z-index:10;
}


.kega_a_box h3 {
    position: relative;
    z-index:10;
    text-align: center;
}
.kega_a_box h3 span{
    display:inline-block;
    font-size: 26px;
    color:#252525;
    border-bottom:1px solid #252525;
}
.kega_a_box .c_txt {
    font-size: 17px;
    line-height: 30px;
    color:#252525;
    text-align: center;
    margin:19px auto 42px;
    font-weight: 600;
}
.kega_a_box ul {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    width: 100%;
    max-width:1180px;
    margin:0 auto;
}
.kega_a_box li {
    width: 31.3%;
}
.kega_a_box a {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    padding:15px 17px;
    border-radius:20px;
    background:#fff;
    border:3px solid #fcca0d;
    box-sizing:border-box;
    box-shadow: 3px 3px 0px 0px rgb(214 208 176 / 30%);
}
.kega_a_box a:hover{
    box-shadow:none;
    /*
    background: #ffee9c;
    */
    transform: translate(3px,3px);
}
.kega_a_box a div {
    width: 82px;
    min-height:82px;
    background:#fcca0d;
    display: flex;
    align-items: center;
    justify-content: center; 
    border-radius:10px;
}

.kega_a_box a div span{
    color:#fff;
    font-size: 32px;
}
.kega_a_box a p{
    font-size: 16px;
    line-height: 26px;
    width: calc(100% - 100px);
    color:#252525;
}


.kega_a_box li:nth-child(2) a{border-color:#ea5413;}
.kega_a_box li:nth-child(2) a div{background:#ea5413;}

.kega_a_box li:nth-child(3) a{border-color:#0d6fb8;}
.kega_a_box li:nth-child(3) a div{background:#0d6fb8;}
.kega_a_box li:nth-child(3) a p{
    display: flex;
    align-items: center;
    justify-content: center; 
    font-size: 20px;
    width: calc(100% - 82px);
}




@media screen and (max-width :1000px ){

    .kega_a_box a {
        position: relative;
        display: block;
        height:100%;
        padding: 25px 17px 20px;
    }
    .kega_a_box a:last-child{
        display: flex;
        align-items: center;
        justify-content: center; 
    }
    .kega_a_box a div {
    width: 80px;
    min-height: 40px;
    position: absolute;
    left: 0;
    right: 0;
    top: -24px;
        margin:auto;
    }
    .kega_a_box a p{
        width: 100%;
    }
}


@media screen and (max-width :800px ){

    .kega_a_box {
        width: 90%;
        margin:0 auto 105px;
        padding:50px 7.5vw 30px;
        border-radius:10px;
    }

    .kega_a_box:before{
        width: 134px;
        height: 45px;
        top: -74px;
    }
    .kega_a_box h3 span{
        font-size: 22px;
    }
    .kega_a_box .c_txt {
        font-size: 16px;
        line-height: 28px;
        margin:20px auto 30px;
        text-align:left;
    }
    .kega_a_box .kega_a_illust{
         width: 295px;
        margin:0 auto;
    }
    .kega_a_box ul {
        display: block;
    }
    .kega_a_box li {
        width: 100%;
    }
    .kega_a_box a {
        -js-display: flex;
        display:-webkit-box;
        display: -webkit-flex;
        display:-moz-box;
        display:-ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        padding:15px;
        border-radius:10px;
        border:2px solid #fcca0d;
    }
    .kega_a_box a div {
        width: 66px;
        min-height:66px;
        position: relative;
        border-radius:5px;
        left: auto;
        right: auto;
        top: auto;
        margin:0;
    }

    .kega_a_box a div span{
        font-size: 25px;
    }
    .kega_a_box a p{
        font-size: 14px;
        line-height: 22px;
        width: calc(100% - 70px);
        padding-left: 15px;
        box-sizing:border-box;
    }


    .kega_a_box li:nth-child(2) a{
        margin:20px auto;
        
    }
    .kega_a_box li:nth-child(3) a p{
        display: flex;
        align-items: center;
        justify-content: center; 
        font-size: 14px;
        width: calc(100% - 70px);
        padding-left: 0;
        padding-right: 15px;
    }


}



@media screen and (max-width :400px ){
    .kega_a_box a p{
        font-size: 13px;
        line-height: 20px;
    }
}



/*------ kega_s_box ------*/
.kega_s_box {
    position: relative;
    width: 95%;
    max-width:1300px;
    margin:0 auto; 
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}
.kega_s_box li {
    position: relative;
    width: 31.23%;
    padding:40px 15px 26px;
    background:#fff;
    box-sizing:border-box;
    border-radius:20px;
    text-align: center;
}
.kega_s_box li:before{
    content:"";
    display: block;
    width: 30px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    top: -94px;
    margin:auto;
    background:url(../image/service/kega_s_ar.png);
    background-size:cover;
    z-index:10;
}
.kega_s_box li .enb {
    display: block;
    position: absolute;
    left: 30px;
    top: 30px;
    font-size: 60px;
    color:#fcca0d;
    z-index:20;
}
.kega_s_box li:nth-child(2) .enb {color:#ea5413;}
.kega_s_box li:nth-child(3) .enb {color:#0d6fb8;}

.kega_s_box li figure {
    width: 100%;
    max-width:326px;
    margin:0 auto 18px;
}
.kega_s_box li h5 {
    display:inline;
    text-align: center;
    font-size: 18px;
    line-height: 30px;
    color:#252525;
  background: linear-gradient(transparent 95%, #252525 0%);
}
.kega_s_box li p {
    font-size: 17px;
    line-height: 30px;
    color:#252525;
    text-align:left;
    max-width:326px;
    margin:20px auto 0;
    font-weight: 500;
}
.win .kega_s_box li p {
    font-weight: 600;
    font-size: 16px;
    opacity: .9;
}
.kega_s_box li p span {
    font-size: 17px;
    line-height: 30px;
    font-weight: 600;
    color:#ea5413;
}




@media screen and (max-width :800px ){

    
    .kega_s_box:before{
        content:"";
        display: block;
        width: 134px;
        height: 45px;
        position: absolute;
        top: -74px;
        left: 0;
        right: 0;
        margin:auto;
        background:url(../image/service/kega_ar.png);
        background-size:cover;
        z-index:10;
    }
    
    .kega_s_box {
        width: 90%;
        display: block;
    }
    .kega_s_box li {
        width: 100%;
        padding:35px 8.75vw 23px;
        border-radius:10px;
    }
    .kega_s_box li:nth-child(2){
        margin:20px auto;
    }
    .kega_s_box li:before{
        display:none;
    }
    .kega_s_box li .enb {
        display: block;
        position: absolute;
        left: auto;
        right: calc(50% + 146px);
        top: 29px;
        font-size: 53px;
    }
    .kega_s_box li figure {
        width: 100%;
        max-width:326px;
        margin:0 auto 18px;
    }
    .kega_s_box li h5 {
        display:inline;
        text-align: center;
        font-size: 18px;
        line-height: 30px;
        color:#252525;
      background: linear-gradient(transparent 95%, #252525 0%);
    }
    .kega_s_box li p {
        font-size: 16px;
        line-height: 28px;
        max-width:800px;
        margin:15px auto 0;
        font-weight: 600;
    }
    .kega_s_box li p span {
        font-size: 16px;
        line-height: 28px;
    }
    
}



@media screen and (max-width :450px ){
    .kega_s_box li .enb {
        right:auto;
        left: calc(8.75vw - 10px); 
    }
}

@media screen and (max-width :400px ){
    .kega_s_box li .enb {
        right: auto;
        left: calc(8.75vw - 10px);        
    }
}





.fukidashi {
    position: relative;
    width: 95%;
    max-width:1300px;
    margin:70px auto 0;
}
.fukidashi p {
    position: relative;
    width: calc(100% - 250px);
    max-width:980px;
    background:#fff;
    padding:50px;
    box-sizing:border-box;
    border-radius:20px;
    font-size: 17px;
    line-height: 30px;
    font-weight: 600;
}
.fukidashi .icon {
    display: block;
    position: absolute;
    width: 132px;
    right: -40px;
    top: -40px;
    z-index:10;
}
.fukidashi .illust {
    display: block;
    width: 200px;
    position: absolute;
    right: 48px;
    top: 18px;
}



@media screen and (max-width :1250px ){

    .fukidashi .illust{right: 0;}
    
}
@media screen and (max-width :800px ){


    .fukidashi {
        width: 90%;
        margin:90px auto 0;
    }
    .fukidashi p {
        width:100%;
        padding:95px 6.25vw 25px;
        border-radius:10px;
        font-size: 16px;
        line-height: 28px;
    }
    .fukidashi .icon {
        display:none;
    }
    .fukidashi .spicon {
        position: absolute;
        left: 0;
        right: 0;
        top: -60px;
        margin:auto;
        width: 135px;
    }

}

/* ==========================================================================
	qa
========================================================================== */

.qa {
    position: relative;
    width: 95%;
    max-width:1200px;
    margin:0 auto;
    padding:80px 0;
}
.qa .qa_inr {
    position: relative;
    width: 100%;
    max-width:1200px;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin:0 auto;
}

.qa .tit_area {
    position: relative;
    width: 218px;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-direction: row-reverse;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding:0 40px 110px 75px;
    box-sizing:border-box;
}


.qa .tit_area a{
        display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom:0;
    margin: auto;
    width: 190px;
    padding: 20px 0 20px 60px;
    box-sizing: border-box;
    background: #ffee9c;
    border-radius: 10px;
    height: 60px;
    box-shadow: 3px 3px 0px 0px rgb(214 208 176 / 30%);
}

.qa .tit_area a:before{
    content: "";
    display: block;
    width: 15px;
    height: 8px;
    position: absolute;
    top: 24px;
    left: 25px;
    background: url(../image/common/link_ar.png);
    background-size: cover;
    transition: transform .2s ease;
}
.qa .tit_area a img{
     width: 95px;   
}

.qa .tit_area a:hover{
    box-shadow:none;
    background:#ffee9c;
    transform: translate(3px,3px);
}

.qa .tit_area a:hover:before{    
    transform: translateX(3px);
    transition:transform .2s ease;
}


.qa h2 {
    width: 40px;
}

.qa h2 img{    
    position: -webkit-sticky;
    position: sticky;
    top: 15px;
}

.qa .tit_area .enb {
    display: block;
    text-shadow: 1px 1px 0px #643e2f, -1px 1px 0px #643e2f, 1px -1px 0px #643e2f, -1px -1px 0px #643e2f, 1px 0px 0px #643e2f, 0px 1px 0px #643e2f, -1px 0px 0px #643e2f, 0px -1px 0px #643e2f;
    font-feature-settings: normal;
    vertical-align: top;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    font-size: 20px;
    color: #ffffff;
    text-align: left;
    margin: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 15px;
    height: 258px;
}




.qa #various_ac {
    position: relative;
    width: calc(100% - 230px);
    max-width: 900px;
    
}


.qa #various_ac li{
    position: relative;
    width: 100%;
    margin: 0 0 30px;
    padding: 26px 20px 20px;
    min-height: 85px;
    box-sizing: border-box;
    cursor: pointer;
    border-radius: 10px;
    background: #fff6cc;
    box-shadow: 4px 4px 0px 0px rgb(214 208 176 / 30%);
    
}

.qa #various_ac li h3{
	position:relative;
	display:block;
	width:100%;
	padding:0 80px 5px 60px;
	box-sizing:border-box;
	font-size:20px;
	line-height:1.5;
	}

.qa #various_ac li h3 .text{
	font-weight:500;
	font-size:20px;
	line-height:1.5;
	color:#ea5413;
    border-bottom:1px solid #ea5413;
}
.win .qa #various_ac li h3 .text{
    font-weight: 600;
    
}

.qa #various_ac li .enb{
    font-size: 24px;
    position: absolute;
    left: 20px;
    top: -2px;
    margin:0;
	}
	
.qa #various_ac li .icon{
	display:block;
	position:absolute;
	width:34px;
	height:34px;
	right:0;
	top:0;
	bottom:0;
    background:url(../image/common/various_icon.png);
    background-size:cover;
    transition:transform .4s ease;
}

.qa #various_ac li.active .icon{
	transform:rotate(180deg);
    transition:transform .4s ease;
	}

.qa #various_ac li div{
	display:none;
	width:100%;
	box-sizing:border-box;
	background:#fff;
	padding:20px 25px 25px;
    border-radius:10px;
    margin-top: 22px;
	}

.qa #various_ac li div p{
	font-size:16px;
	line-height:30px;
    font-weight: 600;
	}	
	



@media screen and (max-width :800px ){

    .qa {
        width: 90%;
        padding:40px 0 60px;
    }
    .qa .qa_inr {
        display: block;
    }

    .qa .tit_area {
        position: relative;
        width: calc(100% - 7.5vw);
        display: block;
        padding:0;
        margin:0 auto;
    }
    
    .qa .tit_area:after{
        content:"";
        display: block;
        width: 110px;
        height: 114px;
        position: absolute;
        right:-3.75vw;
        bottom:-38px;
        background:url(../image/service/qa_illust_sp.png);
        background-size:cover;
        
    }

    .qa h2 {
        position: relative;
        width: 150px;
    }

    .qa h2 img{    
        position: relative;
        top: auto;
    }

    .qa .tit_area .enb {
        display: block;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        font-size: 15px;
        text-align: left;
        margin: 18px 0 38px;
        position: relative;
        top: auto;
        height: auto;
    }



    .qa .tit_area a{display:none;}

    .qa #various_ac {
        width: 100%;
    }


    .qa #various_ac li{
        position: relative;
        width: 100%;
        margin: 0 0 20px;
        padding: 20px 10px 10px;
        min-height: 70px;
        border-radius: 5px;
        box-shadow: 2px 2px 0px 0px rgb(214 208 176 / 30%);
    }

    .qa #various_ac li h3{
        padding:0 40px 5px 47px;
        box-sizing:border-box;
        font-size:17px;
        line-height:1.5;
        }
    .qa #various_ac li h3 .text{
        font-size:17px;

    }
    .qa #various_ac li .enb{
        font-size: 26px;
        left: 10px;
        top: -5px;
        margin:0;
        }

    .qa #various_ac li .icon{
        width:25px;
        height:25px;
    }
    .qa #various_ac li div{
        display:none;
        width:100%;
        padding:25px 20px 15px;
        border-radius:5px;
        margin-top: 20px;
        }

    .qa #various_ac li div p{
        font-size:16px;
        line-height:28px;
        }	


}



/* ==========================================================================
	feature
========================================================================== */

.feature {
    position: relative;
    z-index:20;
    padding:30px 0 100px;
}
.feature .bar {
    position: absolute;
    width: 90%;
    max-width: 1200px;
    height: 60px;
    background: #fff;
    left: 0;
    right: 0;
    margin: auto;
    top: -60px;
    border-radius: 30px 30px 0 0;
}

.feature .bar:before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 0;
    left: -40px;
    background: url(../image/philosophy/feature_lb.png);
    background-size: cover;
}
.feature .bar:after {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 0;
    right: -40px;
    background: url(../image/philosophy/feature_rb.png);
    background-size: cover;
}
.feature .enb {
    margin:0 auto;
}
.feature h2 {
    width: 630px;
    margin:35px auto 75px;
}
.feature .feature_box01 {
    position: relative;
    width: 100%;
    z-index:10;
}

.feature .feature_box01:before{
    content:"";
    display: block;
    width: 100%;
    height: 156px;
    background:#fff6cc;
    position: absolute;
    left: 0;
    bottom:0;
    z-index:1;
}
.feature .feature_box01 .box_inr {
    position: relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 95%;
    max-width:1400px;
    margin:0 auto;
    z-index:10;
}
.feature .feature_box01 .img_area {
    width: 50%;
}
.feature .img_area img {
    border-radius:10px;
}
.feature .feature_box01 .text_area {
    position: relative;
    width: 45%;
    padding:40px 0 0 140px;
    box-sizing:border-box;
}
.feature .feature_box01 .text_area .inview{
    
    display: block;
    position: absolute;
    width: 128px;
    right: -22px;
    bottom:100px;
    z-index:10;
    opacity:0;
	transform: translateY(30px);
	transition: .4s;
}
.feature .feature_box01 .text_area .inview.move{
    opacity:100;    
	transform: translateY(0);
}
.feature .en.b_txt {
    display: inline-block;
    font-size: 24px;
    color:#ea5413;
    border-bottom:1px solid #ea5413;
}
.feature .feature_box01 h3 {
    width: 383px;
    margin:25px 0 30px;
}
.feature .feature_box01 p {
    font-size: 17px;
    line-height: 38px;
    color:#643e2f;
    font-weight: 600;
    max-width: 465px;
}


.feature_box02 {
    position: relative;
    z-index:20;
    background:#fff6cc;
}

.feature_box02:before{
    content:"";
    display: block;
    width: 100%;
    height: 43px;
    background:#fff;
    position: absolute;
    left: 0;
    bottom:0;
    z-index:1;
}
.feature_box02 .box_inr {
    position: relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items: flex-start;
    width: 95%;
    max-width:1300px;
    margin:0 auto;
    z-index:10;
}
.feature_box02 .img_area {
    position: relative;
    width: 440px;
    transform: translateY(-85px);
}
.feature_box02 .img_area img:first-child {
    border-radius:10px;
}

.feature_box02 .img_area .inview{    
    display: block;
    position: absolute;
    width: 116px;
    left: 0;
    right: 0;
    bottom:-30px;
    margin:auto;
    z-index:10;
    opacity:0;
	transform: translateY(30px);
	transition: .4s;
}
.feature_box02 .img_area .inview.move{
    opacity:100;    
	transform: translateY(0);
}



.feature_box02 .text_area {
    padding-top: 75px;
    width: 58.4%;    
}
.feature_box02 h3 {
    position: relative;
    width: 100%;
    max-width: 579px;
    margin:25px 0 25px;
}
.feature_box02 p {    
    font-size: 17px;
    line-height: 38px;
    color:#643e2f;
    font-weight: 600;
    max-width:710px;
}
.feature_box02 .img_list {
    position: relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items:flex-end;
    margin-top: 30px;
}
.feature_box02 .list01 {
    width: 47.3%;
    transform: translateY(38px);
}
.feature_box02 .list02 {
    width: 47.3%;
}

.feature_box02 .list01 img,
.feature_box02 .list02 img {
    border-radius:10px;
}


.feature_box03 {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    width: 95%;
    max-width:1200px;
    margin:120px auto 0;
}
.feature_box03 .tit_area {
    width: 400px;
    padding-top: 10px;
    padding-left: 40px;
    box-sizing:border-box;
}
.feature_box03 h2 {
    max-width: 355px;
    margin: 26px 0 0;
}
.feature_box03 p {
    width: 62.5%;
    font-size: 17px;
    line-height: 38px;
    color:#643e2f;
    font-weight: 600;
    padding-right: 25px;
    box-sizing:border-box;
}
.feature_box03 .img_area {
    position: relative;
    margin:65px auto 100px;
}
.feature_box03 .img_area img:first-child {
    border-radius:10px;
}
.feature_box03 .inview {
    display: block;
    position: absolute;
    width: 160px;
    right: -50px;
    bottom:-40px;
    z-index:10;
    opacity:0;
	transform: translateY(30px);
	transition: .4s;
}
.feature_box03 .inview.move{
    opacity:100;    
	transform: translateY(0);
}
.feature_box03 a{
    display: block;
    width: 600px;
    height: 80px;
    padding:30px 0 0 20px;
    box-sizing:border-box;
    text-align: center;
    margin:0 auto;
    background:#ffe200;
    border-radius:10px;
    box-shadow: 0px 6px 0px 0px rgb(214 208 176 / 30%);
}
.feature_box03 a:hover{
    box-shadow:none;
    /*
    background: #ffee9c;
    */
    transform: translateY(6px);
}
.feature_box03 a span{
    position: relative;
    display: inline-block;
    width: 210px;
}
.feature_box03 a span:before{
    content:"";
    display: block;
    width: 109px;
    height: 145px;
    position: absolute;
    left: -160px;
    top: -88px;
    z-index:10;
    background:url(../image/philosophy/link_icon.png);
    background-size:cover;
    transition:background .4s ease;
}

.feature_box03 a:hover span:before{
    background-image:url(../image/philosophy/link_icon_af.png);
    transition:background .4s ease;
}




@media screen and (max-width :1400px ){

    .feature .feature_box01 .text_area .inview{
        bottom:6vw;
    }
    .feature .feature_box01 .text_area {
        padding:2.5vw 0 0 6vw;
    }
    .feature_box02 .img_area {
        transform: translateY(-6vw);
    }
}



@media screen and (max-width :1300px ){
    .feature .feature_box01 .text_area .inview{
        bottom:3vw;
        right: -50px;
    }
}


@media screen and (max-width :1200px ){
    .feature .feature_box01 .text_area {
        padding:2.5vw 0 0 0;
    }   
    
    .feature_box02 .img_area {
        width: 39%;
        transform: translateY(-4vw);
    }
    
    .feature_box03 p {
        width: calc(100% - 420px);
        padding-right: 0;
    }
}
@media screen and (max-width :1100px ){
    
    .feature .feature_box01 .text_area {padding-bottom:7.7vw;}
    .feature .feature_box01 .text_area .inview{bottom: 0;}
    .feature_box02 .img_area {
        transform: translateY(0);
    }
    .feature_box03 .tit_area{
        padding-left: 0;
    }
    .feature_box03 p {
        width: calc(100% - 400px);
    }
    .feature_box03 .inview{right: -2vw;}
}

@media screen and (max-width :1100px ){    
    .feature_box03 .tit_area{
        width: 100%;
        text-align: center;
    }
    .feature_box03 h2 {
        margin: 26px auto 30px;
    }
    .feature_box03 p {
        width: 100%;
    }        
}


@media screen and (max-width :800px ){

    .feature {
        padding:30px 0 80px;
    }
    .feature .bar {
        height: 30px;
        top: -30px;
        border-radius: 15px 15px 0 0;
    }

    .feature .bar:before {
        width: 20px;
        height: 20px;
        left: -20px;
    }
    .feature .bar:after {
        width: 20px;
        height: 20px;
        right: -20px;
    }
    .feature h2 {
        width: 280px;
        margin:30px auto 52px;
    }
    .feature .feature_box01 {
        position: relative;
        width: 100%;
        z-index:10;
    }
    .feature .feature_box01:before{
        display:none;
    }
    .feature .feature_box01 .box_inr {
        display: block;
        width: 90%;
    }
    .feature .feature_box01 .img_area {
        width: 100%;
    }
    .feature .img_area img {
        border-radius:5px;
    }
    .feature .feature_box01 .text_area {
        width: 100%;
        padding:40px 10px 40px;
        text-align: center;
    }
    .feature .feature_box01 .text_area .inview{
        width: 108px;
        right: 0;
        bottom: auto;
        top: -97px;
    }
    .feature .en.b_txt {
        font-size: 20px;
    }
    .feature .feature_box01 h3 {
        width: 315px;
        margin:20px 0 20px;
    }
    .feature .feature_box01 p {
        font-size: 16px;
        line-height: 28px;
        max-width: 800px;
        text-align:left;
    }


    .feature_box02 {
        position: relative;
        z-index:20;
        background:#fff6cc;
    }

    .feature_box02:before{
        width: 100%;
        height: 18.75vw;
        bottom:auto;
        top:0;
    }
    .feature_box02:after{
        content:"";
        display: block;
        position: absolute;
        width: 100%;
        height: 12.5vw;
        bottom:0;
        left:0;
        background:#fff;
        z-index:1;
    }
    .feature_box02 .box_inr {
        display: block;
        width: 90%;
    }
    .feature_box02 .img_area {
        width: 91%;
        transform: translateY(0);
        margin:0 auto;
    }
    .feature_box02 .img_area img:first-child {
        border-radius:5px;
    }

    .feature_box02 .img_area .inview{    
        width: 97px;
        bottom:-10px;
    }
    .feature_box02 .text_area {
        padding-top: 40px;
        width: 90%;    
        text-align: center;
        margin:0 auto;
    }
    .feature_box02 h3 {
        max-width: 273px;
        margin:20px auto 20px;
    }
    .feature_box02 p {    
        font-size: 16px;
        line-height: 28px;
        max-width: 800px;
        text-align:left;
    }
    .feature_box02 .img_list {
        position: relative;
        display: block;
        margin-top: 45px;
    }
    .feature_box02 .list01 {
        width: 51.4%;
        transform: translateY(0);
        position: absolute;
        left: 0;
        bottom:-14.28vw;
        z-index:50;
    }
    .feature_box02 .list02 {
        width: 65%;
        margin-left: 35%;
    }

    .feature_box02 .list01 img,
    .feature_box02 .list02 img {
        border-radius:5px;
    }


    .feature_box03 {
        display: block;
        width: 90%;
        margin:115px auto 0;
    }
    .feature_box03 h2 {
        max-width: 292px;
        margin: 20px auto 20px;
    }
    .feature_box03 p {
        font-size: 16px;
        line-height: 28px;
        max-width: 800px;
    }
    .feature_box03 .img_area {
        margin:40px auto 70px;
    }
    .feature_box03 .img_area img:first-child {
        border-radius:5px;
    }
    .feature_box03 .inview {
        width: 120px;
        right: -10px;
        bottom:-30px;
    }
    .feature_box03 a{
        display: block;
        width: 100%;
        height: 80px;
        border-radius:5px;
        box-shadow: 0px 3px 0px 0px rgb(214 208 176 / 30%);
    }
    .feature_box03 a:hover{
        box-shadow:none;
        /*
        background: #ffee9c;
        */
        transform: translateY(3px);
    }
    .feature_box03 a span{
        position: relative;
        display: inline-block;
        width: 210px;
    }
    .feature_box03 a span:before{
        width: 82px;
        height: 109px;
        left: -105px;
        top: -71px;
        background-image:url(../image/philosophy/link_icon_af.png);
    }


    
    
}