#head-key .ob-img img {
    object-position: 35% 50%;
}
@media screen and (min-width: 768px) {
#head-key .ob-img img {
    object-position: 50% 50%;
}   
}
#lead {
    background: url("../img/concept/lead_bg.jpg") no-repeat 80% 0%;
    background-size: auto;
    padding: 17vw 0 0;
}
#lead h2 {
    width: 22vw;
    margin: 0 auto 7vw;
}
#lead .text {
    text-align: justify;
    margin-bottom: 19vw;
}
@media screen and (min-width: 768px) {
    #lead {
        background: url("../img/concept/lead_bg.jpg") no-repeat top center;
        background-size: 100% auto;
        padding: 170px 0 0;
    }
    #lead h2 {
        width: 160px;
        margin: 0 auto 67px;
    }
    #lead .text {
        text-align: center;
        margin-bottom: 163px;
    }
}


#link {
    padding: 0 0.7%;
}
#link .link__bnr {
    gap: 2%;
}
#link .link__bnr .bnr {
    width: 49%;
    height: 60vw;
}
#link .link__bnr .bnr .title__heading {
    top: 3vw;
    left: 7%;
    right: 3.5%;
    position: absolute;
    color: #fff;
    padding-bottom: 2vw;
}

#link .link__bnr .bnr .title__heading::before {
    background: none;
    bottom: 0;
    left: 0;
    right: 0;
}
#link .link__bnr .bnr .title__heading::after {
    width: 4vw;
}
#link .link__bnr .bnr-1 {
    margin-bottom: -26vw;
}
#link .link__bnr .bnr-2 {
    margin-bottom: -32vw;
    margin-left: auto;
}
#link .link__bnr .bnr-3 {
    margin-bottom: 0;
}
@media screen and (min-width: 768px) {
    #link {
        padding: 0 1.3%;
    }
    #link .link__bnr {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        gap: 1%;
    }
    #link .link__bnr .bnr {
        width: 32.9%;
        height: 580px;
    }
    #link .link__bnr .bnr .title__heading {
        top: 46px;
        left: 7%;
        right: 3.5%;
        padding-bottom: 14px;
    }
    #link .link__bnr .bnr .title__heading::after {
    width: 33px;
        transition: .3s ease all;
}
    #link .link__bnr .bnr-1 {
        margin-bottom: 0;
    }
    #link .link__bnr .bnr-2 {
        margin-bottom: 0;
    }
    #link .link__bnr .bnr-3 {
        margin-bottom: 0;
    }
    #link .link__bnr .bnr a:hover .title__heading::after {
        width: 100%;
    }
}
#point .title {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 6vw;
}
#point .title .num {
    font-size: 22px;
    font-style: italic;
    width: 21px;
    height: 31px;
    display: block;
    position: relative;
    margin-right: 5vw;
}
#point .title .num::after {
    content: "";
    background: #595959;
    width: 1px;
    position: absolute;
    right: -20px;
    top: 5px;
    bottom: 5px;
}
#point .title h2 {
    font-size: 26px;
}
#point .title small {
    color: #5a4b41;
    font-size: 12px;
    line-height: 1;
    position: relative;
    display: block;
    letter-spacing: 0.05em;
}
#point .title small::after {
    content: "";
    background: #979797;
    width: 69vw;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 120%;
}
#point .ptitle {
    position: relative;
    z-index: 2;
}
#point .ptitle p {
    line-height: 1;
}
#point .ptitle span {
    font-size: 24px;
    color: #fff;
    background: #181817;
    display: inline-block;
    padding: 10px 15px;
    margin: 5px 0;
    letter-spacing: 0.06em;
}
#point .text {
    font-size: 16px;
}
@media screen and (min-width: 768px) {
    #point .title {
        width: 25px;
        display: block;
        align-items: inherit;
    }
    
    #point .title .num {
        font-size: 24px;
        width: 21px;
        height: 31px;
        margin-bottom: 38px;
        margin-right: 0;
        letter-spacing: 0;
    }
#point .title .num::after {
    width: auto;
    height: 1px;
    top: auto;
    bottom: -10px;
    left: 6px;
    right: 0;
}
    #point .title h2 {
        font-size: 30px;
        margin-bottom: 20px;
    }
    #point .title small {
        color: #5a4b41;
        font-size: 13px;
        line-height: 1;
        direction: rtl;
        writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -moz-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        text-orientation: sideways-right;
        -o-text-orientation: sideways-right;
        -ms-text-orientation: upright;
        -ms-text-orientation: sideways-right;
        -moz-text-orientation: sideways-right;
        -webkit-text-orientation: sideways-right;
        letter-spacing: 1px;
        position: relative;
        display: block;
        margin: 0 auto;
    }
    #point .title small::after {
        width: 1px;
        height: 436px;
        top: 122%;
        left: 50%;
    }
    #point .ptitle p {
        line-height: 30px;
    }
    #point .ptitle span {
        font-size: 30px;
        padding: 9px 5px 6px;
        letter-spacing: 6px;
        margin: 0 5px;
    }
    #point .text {
        font-size: 16px;
        line-height: 36px;
        letter-spacing: 1px;
    }
}
#point01 {
    padding-top: 10vw;
    position: relative;
}
#point01::after {
    content: "";
    background: url("../img/shared/bg02.jpg");
    position: absolute;
    top: 55vw;
    left: 2vw;
    right: 0;
    z-index: -1;
    bottom: 24vw;
}
#point01 .title {
    position: relative;
}
#point01 .point1__box-1 {
    position: relative;
}
#point01 .point1__box-1 .photo {
    position: relative;
    top: 0;
    left: 0;
    height: 60vw;
    margin-bottom: -6vw;
    width: 94vw;
}
#point01 .point1__box-1 .ptitle__right.ptitle {max-width: 380px;margin-left: 5vw;}
#point01 .point1__box-1 .ptitle__right.ptitle p {
}
#point01 .point1__box-2 {
    max-width: 1120px;
    margin-left: auto;
    padding-top: 6vw;
    padding-left: 5vw;
}
#point01 .point1__box-2 .text {margin-bottom: 5vw;}
#point01 .point1__box-2 .photo__g {
    position: relative;
}
#point01 .point1__box-2 .photo__g .photo-1 {
    position: relative;
    top: 0;
    width: 51vw;
    right: 0;
    height: 35vw;
    margin-left: auto;
    margin-bottom: -20vw;
}
#point01 .point1__box-2 .photo__g .photo-2 {
    height: 60vw;
    width: 36vw;
    margin-left: -4vw;
}
#point01 .point1__box-2 .photo__g .photo-3 {
    position: absolute;
    bottom: 3vw;
    right: 0;
    height: 33vw;
    width: 47vw;
    margin-left: auto;
}
@media screen and (min-width: 768px) {
    #point01 {
        padding-top: 117px;
    }
    #point01::after {
        top: 570px;
        left: calc(50% - 673px);
        height: 946px;
        right: 0;
        bottom: auto;
    }
    #point01 .title {
        position: absolute;
        top: -12px;
        left: -30px;
        margin-bottom: 0;
    }
    #point01 .point1__box-1 {
        height: 620px;
    }
    #point01 .point1__box-1 .photo {
        position: absolute;
        top: 0;
        left: 91px;
        width: 84vw;
        height: 620px;
        margin-bottom: 0;
    }
    #point01 .point1__box-1 .ptitle__right.ptitle {
        padding-top: 70px;
        width: 150px;
        margin-left: auto;
        padding-right: 7px;
    }
    #point01 .point1__box-1 .ptitle__right.ptitle p {
        height: 446px;
    }
    #point01 .point1__box-2 {
        margin-left: auto;
        padding-top: 103px;
        padding-left: 0;
    }
    #point01 .point1__box-2 .text {
        max-width: 378px;
        padding-left: 86px;
        margin-bottom: 98px;
    }
    #point01 .point1__box-2 .photo__g {
        margin-bottom: 0;
    }
    #point01 .point1__box-2 .photo__g .photo-1 {
        position: absolute;
        top: -324px;
        width: 627px;
        right: -67px;
        height: 421px;
        margin-bottom: 0;
    }
    #point01 .point1__box-2 .photo__g .photo-2 {
        height: 597px;
        width: 441px;
        margin-left: 19px;
    }
    #point01 .point1__box-2 .photo__g .photo-3 {
        position: absolute;
        bottom: 46px;
        right: -73px;
        height: 383px;
        width: 574px;
    }
}
#point02 {
    padding-top: 15vw;
    position: relative;
}
#point02::after {
    content: "";
    background: url("../img/shared/bg02.jpg");
    position: absolute;
    top: 20vw;
    left: 0;
    z-index: -1;
    right: 2vw;
    bottom: 48vw;
}
#point02 .title {
}
#point02 .point2__box-1 {
    position: relative;
}
#point02 .point2__box-1 .photo {
    position: relative;
    top: 0;
    left: auto;
    height: 60vw;
    margin-bottom: -6vw;
    width: 94vw;
    right: 5vw;
}
#point02 .point2__box-1 .photo img {
    object-position: 93% 50%;
}
#point02 .point2__box-1 .ptitle {max-width: 360px;margin-left: auto;text-align: right;padding-right: 5vw;}
#point02 .point2__box-1 .ptitle p {
}
#point02 .point2__box-2 {
    padding-top: 6vw;
    position: relative;
    z-index: 2;
    margin-bottom: 15vw;
}
#point02 .point2__box-2 .photo-6 {
    width: 90vw;
    height: auto;
    margin: 0 auto;
}
#point02 .point2__box-2 .text {padding: 0 5vw 6vw 0;}
#point02 .point2__box-3 {
    padding: 8vw 5vw 8vw;
    background: url("../img/shared/bg04.jpg");
}
#point02 .point2__box-3 .inside {
    margin: 0 auto;
}
#point02 .point2__box-3 .logo__s {
    width: 21vw;
    margin: 0 auto 5vw;
    max-width: 144px;
}
#point02 .point2__box-3 .point2__box-3__right {
    padding-top: 0;
}
#point02 .point2__box-3 .point2__box-3__right .text__s {
    font-size: 16px;
    margin-bottom: 4vw;
}
#point02 .point2__box-3 .point2__box-3__right .bnr__shared {
    width: 270px;
    margin-left: auto;
}
@media screen and (min-width: 768px) {
    #point02 {
        padding-top: 167px;
    }
    #point02::after {
        position: absolute;
        top: 313px;
        right: calc(50% - 414px);
        height: 927px;
        left: 0;
    }
    #point02 .title {
        position: absolute;
        top: -22px;
        right: -33px;
    }
    #point02 .point2__box-1 {
        height: 620px;
        margin-bottom: -58px;
    }
    #point02 .point2__box-1 .photo {
        position: absolute;
        top: 0;
        right: 56px;
        width: 87vw;
        height: 620px;
        margin-bottom: 0;
    }
    #point02 .point2__box-1 .photo img {
    object-position: 50% 50%;
    
}
    #point02 .point2__box-1 .ptitle {
        padding-top: 96px;
        width: 135px;
        text-align: left;
        padding-right: 0;
        margin: 0;
        padding-left: 31px;
    }
    #point02 .point2__box-1 .ptitle p {
        height: 423px;
    }
    #point02 .point2__box-2 {
        padding-top: 0;
        position: relative;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        z-index: 2;
        flex-direction: row-reverse;
        margin-bottom: 63px;
        justify-content: left;
    }
    #point02 .point2__box-2 .photo-6 {
        width: 471px;
        height: 337px;
        margin: 0 104px 0 -57px;
    }
    #point02 .point2__box-2 .text {
        max-width: 398px;
        padding: 131px 0 0 0;
    }
    #point02 .point2__box-3 {
        width: 929px;
        margin-left: auto;
        margin-right: 74px;
        padding: 53px 0 33px;
    }
    #point02 .point2__box-3 .inside {
        width: 746px;
        margin: 0 auto;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: left;
    }
    #point02 .point2__box-3 .logo__s {
        width: 20%;
        margin: 0 91px 0 0;
    }
    #point02 .point2__box-3 .point2__box-3__right {
        padding-top: 12px;
        width: 62.5%;
    }
    #point02 .point2__box-3 .point2__box-3__right .text__s {
        font-size: 16px;
        line-height: 36px;
        letter-spacing: 1px;
        margin-bottom: 24px;
    }
    #point02 .point2__box-3 .point2__box-3__right .bnr__shared {
        width: 273px;
        margin-left: auto;
    }
}
#point03 {
    padding-top: 15vw;
    position: relative;
    padding-bottom: 15vw;
}
#point03::after {
    content: "";
    background: url("../img/shared/bg02.jpg");
    position: absolute;
    top: 58vw;
    left: calc(50% - 680px);
    bottom: 0;
    right: 0;
    z-index: -1;
}
#point03 .title {
}
#point03 .point3__box-1 {
    position: relative;
}
#point03 .point3__box-1 .photo {
    position: relative;
    top: 0;
    left: 0;
    height: 60vw;
    margin-bottom: -6vw;
    width: 94vw;
}
#point03 .point3__box-1 .ptitle {
    margin-left: 5vw;
    max-width: 310px;
}
#point03 .point3__box-1 .ptitle p {
}
#point03 .point3__box-2 {
    position: relative;
    padding-top: 5vw;
}
#point03 .point3__box-2 .point3__text-1 {margin-bottom: 5vw;padding-left: 5vw;padding-right: 5vw;}
#point03 .point3__box-2 .point3__photo-1 {
    height: auto;
    position: relative;
    top: 0;
    right: 0;
    width: 90vw;
    margin: 0 auto;
}
#point03 .point3__box-2 .point3__text-2 {
    position: relative;
    padding: 5vw;
}
#point03 .point3__box-2 .point3__photo-2 {
    height: auto;
    width: 90vw;
    margin: 0 auto;
}
@media screen and (min-width: 768px) {
    #point03 {
        padding-top: 143px;
        padding-bottom: 111px;
    }
    #point03::after {
        top: 595px;
        left: calc(50% - 674px);
        bottom: 0;
        right: 0;
    }
    #point03 .title {
        position: absolute;
        top: -16px;
        left: -29px;
    }
    #point03 .point3__box-1 {
        height: 612px;
    }
    #point03 .point3__box-1 .photo {
        position: absolute;
        top: 0;
        left: 81px;
        width: 85vw;
        height: 612px;
    }
    #point03 .point3__box-1 .ptitle {
        padding-top: 82px;
        width: 90px;
        margin-left: 188px;
    }
    #point03 .point3__box-1 .ptitle p {
        height: 322px;
    }
    #point03 .point3__box-2 {
        padding-top: 103px;
    }
    #point03 .point3__box-2 .point3__text-1 {
        max-width: 423px;
        padding-left: 199px;
        margin-bottom: 89px;
        padding-right: 0;
    }
    #point03 .point3__box-2 .point3__photo-1 {
        width: 540px;
        height: 360px;
        position: absolute;
        top: 85px;
        right: -68px;
    }
    #point03 .point3__box-2 .point3__text-2 {
        position: absolute;
        top: 501px;
        right: 0;
        width: 470px;
        padding: 0;
    }
    #point03 .point3__box-2 .point3__photo-2 {
        width: 617px;
        height: 411px;
        margin-left: 30px;
    }
}
#profile {
    position: relative;
    padding-top: 15vw;
    padding-bottom: 20vw;
}
#profile::before {
    content: "";
    background: url("../img/concept/profile_deco.png") no-repeat 64% 0%;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 540px;
}
#profile h2 {
    font-size: 16px;
    line-height: 1;
    margin-bottom: 5vw;
    color: #5a4b41;
    letter-spacing: 0.05em;
    text-align: center;
}
#profile .profile__row {
}
#profile .profile__row .photo {
    height: auto;
    margin: 0 auto 5vw;
    width: 80vw;
}
#profile .profile__row .profile__right {
}
#profile .profile__row .profile__right h3 {
    font-size: 26px;
    line-height: 47px;
    letter-spacing: 0.1em;
    margin-bottom: 8vw;
    text-align: center;
}
#profile .profile__row .profile__right dl {
    line-height: 1;
    margin-bottom: 7vw;
    text-align: center;
}
#profile .profile__row .profile__right dl dt {
    font-size: 30px;
    margin: 5vw 0 5vw;
    letter-spacing: 0.1em;
}
#profile .profile__row .profile__right dl dt small {
    font-size: 16px;
    display: block;
    margin-bottom: 10px;
}
#profile .profile__row .profile__right dl dd {
    color: #5a4b41;
    font-size: 13px;
    letter-spacing: 0.08em;
}
#profile .profile__row .profile__right .text {
    font-size: 16px;
}
@media screen and (min-width: 768px) {
    #profile {
        padding-top: 116px;
        padding-bottom: 170px;
    }
    #profile::before {
        background: url("../img/concept/profile_deco.png") no-repeat top center;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 540px;
    }
    #profile h2 {
        font-size: 18px;
        margin-bottom: 43px;
        margin-left: 100px;
        text-align: left;
    }
    #profile .profile__row {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    #profile .profile__row .photo {
        width: 560px;
        height: 726px;
        margin: 0;
    }
    #profile .profile__row .profile__right {
        padding-left: 99px;
        width: 35%;
        padding-top: 47px;
    }
    #profile .profile__row .profile__right h3 {
        font-size: 30px;
        line-height: 50px;
        letter-spacing: 3px;
        margin-bottom: 50px;
        text-align: left;
    }
    #profile .profile__row .profile__right dl {
        margin-bottom: 73px;
        text-align: left;
    }
    #profile .profile__row .profile__right dl dt {
        font-size: 34px;
        margin-bottom: 32px;
        letter-spacing: 6px;
    }
    #profile .profile__row .profile__right dl dt small {
        font-size: 18px;
        margin-bottom: 23px;
    }
    #profile .profile__row .profile__right dl dd {
        font-size: 14px;
        padding-left: 7px;
        letter-spacing: 1.4px;
    }
    #profile .profile__row .profile__right .text {
        font-size: 16px;
        line-height: 36px;
        letter-spacing: 1.2px;
        width:460px;
    }
}


#bnr {
    margin-bottom: -2px;
}
@media screen and (min-width: 768px) {
 #bnr {
    margin-bottom: 0;
}   
}

@media screen and (min-width: 768px) and (max-width: 1500px) {
    #point03 .point3__box-1 .photo,
    #point01 .point1__box-1 .photo {
        width: 90vw;
    }
    #point02 .point2__box-1 .photo {
        width: 92vw;
    }
}


@media screen and (min-width: 768px) and (max-width: 1299px) {
	#point03 .title,
	#point01 .title {
		left: 30px;
	}
	#point02 .point2__box-1 .photo,
	#point03 .point3__box-1 .photo, #point01 .point1__box-1 .photo {
		width: 100vw;
	}
	#point01 .point1__box-1 .ptitle__right.ptitle {
		padding-right: 79px;
	}
	#point02 .point2__box-1 .ptitle {
		padding-left: 41px;
	}
	
	#point03 .point3__box-2 .point3__text-2 {
		width: 37%;
		padding: 0 30px;
	}
	

	#point02 .title {
		right: 30px;
	}
	#point03 .point3__box-1 .photo {
		left: 91px;
	}
	#point02 .point2__box-1 .photo {
		right: 91px;
	}
	#profile .profile__row .profile__right {
		width: 42%;
	}
	
}


