/*-------------------------------
    page link
-------------------------------*/

.page_link {
    max-width:105rem;
    margin:0 auto 12.5rem;
}

.page_link .btn {
    margin:0 0 2rem 0;
    background:#65B1E8;
    border-color:#65B1E8;
}

.page_link .btn::after {
    transform:rotate(90deg);
}

.page_link::after {
    content:"";
    display: block;
    width:28.5rem;
}

.page_link .btn:hover {
    background:#fff;
}

/*-------------------------------
    company wrap
-------------------------------*/

.company_wrap {
    border-radius: 3rem;
    padding:13rem 7.5rem 14rem;
}

/*-------------------------------
    Greeting
-------------------------------*/

.bg_greeting {
    padding-bottom: max(24.5rem, 18vw);
}

.sticky {
    transition:position 1s;
}

.sticky.is_fixed {
    position:fixed;
    top:13.4rem;
}

.is_end {
    position:absolute;
    top:auto;
    bottom:0;
}

.greeting_wrap {
    background:#F5F8FA;
    margin-bottom:5rem;
}

.Greeting .h_nami {
    margin-bottom:13.4rem;
}

.Greeting .h_nami span {
    color:var(--blueblack);
    font-size:3rem;
}

.sticky_wrap {
    position:relative;
    margin-bottom:20rem;
}

.Greeting_txt {
    width:47.3%;
    max-width:52rem;
    margin-left:auto;
}

.Greeting_img {
    width:min(38.1vw,52rem);
    max-width:52rem;
    border-radius:2rem;
    overflow: hidden;
    transition: top 0.3s ease, bottom 0.3s ease;
}

.Greeting_message {
    padding-top:4rem;
    font-size:2.4rem;
    font-weight:600;
    line-height:2;
    margin-bottom:8rem;
}

.Greeting_comment p {
    text-indent: 1em;
    font-weight:400;
}

.Greeting_comment p:not(:last-of-type) {
    margin-bottom:1em;
}

.Greeting .affe_bottom {
    margin-top:7rem;
}

.Greeting_name {
    width:47.3%;
    max-width:52rem;
}

.Greeting_name figure {
    width:100%;
    max-width:35.3rem;
}

.Greeting_bottom {
    width:47.3%;
    max-width:52rem;
}

.Greeting_bottom h3 {
    font-size:3rem;
    font-weight:700;
    color:var(--blueblack);
    line-height:1.8;
}

/*-------------------------------
    bg chien
-------------------------------*/

.bg_nami {
    margin-top: min(-20.9rem , -15.3vw);
    padding-top: max(20.9rem , 15.3vw);
    padding-bottom: max(24.5rem, 18vw);
    position:relative;
}

.bg_nami::before {
    content:"";
    display: block;
    width:100%;
    min-width:133.6rem;
    height:max(20.9rem , 15.3vw);
    position:absolute;
    left:0;
    top:0;
}

.bg_chien::before {
    background:url(../images/company/bg_nami_chien.svg) no-repeat center bottom / contain;
}

.bg_white::before {
    background:url(../images/company/bg_nami_white.svg) no-repeat center bottom / contain;
}

.bg_nami::after {
    content:"";
    display: block;
    width:100%;
    height:calc(100% - 20.8rem);
    position:absolute;
    left:0;
    bottom:0;
    z-index: -1;
}

@media screen and (min-width:1366px) {

.bg_chien::after {
    height:calc(100% - 15.3vw);
}
} /* end over 1366px */

.bg_chien::after {
    background:#E8F6FF;
}

.bg_white::after {
    background:#fff;
}

/*-------------------------------
    bar title
-------------------------------*/

.bar_title {
    font-size:3rem;
    font-weight:500;
    line-height: 1.5;
    padding-left:2.2rem;
    border-left:0.9rem solid #65B1E8;
    letter-spacing: 0.01em;
}

.bar_title::before {
    content:attr(data-bar);
    display: inline-block;
    font-size:3rem;
    font-weight:500;
    font-family: var(--en);
    margin-right:2rem;
    letter-spacing: 0.01em;
    order:1;
    line-height: 1.5;
    color:var(--maincolor);
    font-weight:700;
}

.bar_title span {
    font-size:1.4rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.01em;
}


/*-------------------------------
    Philosophy
-------------------------------*/

.bg_nami_philosophy .inner {
    position:relative;
}

.philosophy_wrap {
    background:#fff;
    border-radius:3rem;
    margin-bottom:5rem;
}

.Philosophy .h_nami {
    margin-bottom:14rem;
}

.phi_img {
    width:47.3%;
    max-width:43.2rem;
    margin-top:10.4rem;
}

.phi_txt {
    width:47.3%;
    max-width:47rem;
}

.phi_txt .phi_txt_child:not(:last-of-type) {
    margin-bottom:6rem;
}

.phi_txt h4 {
    font-size:2rem;
    font-weight:700;
    line-height:1.9;
    margin:1.5em 0;
}

/*-------------------------------
    policy
-------------------------------*/

.Phi_policy {
    margin-top:10rem;
    padding:8rem 0 10rem;
    margin-bottom:10rem;
    border-top:.2rem dotted var(--maincolor);
    border-bottom:.2rem dotted var(--maincolor);
}

.Phi_policy .h_nami {
    margin-bottom:9rem;
}

.policy_list {
    max-width:99rem;
    margin:0 auto;
}

.policy_block {
    width:31%;
    max-width:25rem;
    margin-bottom:4rem;
}

.policy_block h4 {
    width:19.4rem;
    height:19.4rem;
    line-height:17.8rem;
    background:#fff;
    border:0.8rem solid #6DB6E5;
    border-radius:50%;
    text-align: center;
    color:var(--maincolor);
    font-size:3.2rem;
    font-weight:700;
    margin:0 auto 2rem;
}

.policy_block04 {
    margin-top:2.5rem;
    position:relative;
}

.policy_img {
    width:69%;
    padding-left:24.74%;
    position:relative;
}

.policy_img::before {
    content:"";
    display: block;
    width:100%;
    max-width:25.6rem;
    height:8.8rem;
    background:url(../images/company/border_policy_img.svg) no-repeat center top / contain;
    position:absolute;
    left: -5.5rem;
    top: 12.5rem;
}

.policy_img figure {
    width:100%;
    max-width:42.1rem;
    margin-left:auto;
}

.policy_img figure img {
    width:100%;
    height:100%;
    object-fit: contain;
}

.Phi_bottom {
    position:relative;
}

.Phi_bottom::after {
    content:"";
    width:0.2rem;
    height:100%;
    border-left:.2rem dotted var(--maincolor);
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
}

.Phi_bottom .h_nami {
    margin-bottom:6.5rem;
}

.Phi_copy,
.Phi_chara {
    width:47.3%;
    max-width:47.5rem;
}

.copy_white {
    margin:6.2rem 0 4.8rem;
    background:rgba(222,242,255,0.45);
    padding:6rem 3rem 5.4rem;
    border-radius:2rem;
}

.copy_white p {
    text-align: center;
}

.copy_white p,
.copy_white p span {
    font-size:2.4rem;
    font-weight:600;
    font-family: var(--mincho);
    line-height:2;
}

.copy_white p span {
    color:var(--maincolor);
}

.copy_bottom p {
    font-size:2rem;
    font-weight:500;
    text-align: center;
}

.copy_bottom p span {
    color:var(--maincolor);
    font-size:3rem;
    font-weight:700;
}

.chara_img{
    border-radius:2rem;
    background:rgba(222,242,255,0.45);
    padding: 8rem 4rem 12rem;
}
.chara_img figure {
    width:100%;
    max-width:26.1rem;
    margin: 0 auto;
    position:relative;
}
.chara_img figure img{ 
    transform: translateX(8%);
}
.chara_img figcaption {
    font-size:2.4rem;
    font-weight:700;
    text-align: center;
    color:var(--maincolor);
    line-height:1.25;
    position:absolute;
    /*right:-4.5rem;
    bottom:0;*/
    bottom: -7rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.chara_img figcaption span {
    font-size:1.8rem;
    font-weight:700;
    display: block;
    color:var(--maincolor);
    line-height:1.25;
}

/*-------------------------------
    Profile
-------------------------------*/

.profile_wrap {
    padding-top:4rem;
}

.Profile_block._CP .dl_wrap {
    margin-top:7.5rem;
}

.Profile_block._CP .dl_list {
    display: flex;
    flex-wrap:wrap;
}

.Profile_block._CP .dl_list dt{
    width: 22rem;
    padding:2rem 1rem 2rem 2rem;
    background:#DEF2FF;
    font-weight:700;
}

.Profile_block._CP .dl_list dd {
    width: calc(100% - 22rem);
    padding:2rem 1rem 2rem 5.5rem;
    font-weight:400;
}

.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd{
    font-size: 1.9rem;
    border-top:.1rem solid #65B1E8;
    line-height:2;
}

.Profile_block._CP .dl_list dt:last-of-type,
.Profile_block._CP .dl_list dd:last-of-type {
    border-bottom:.1rem solid #65B1E8;
}

.Profile_block._CP .dl_list dd p {
    line-height:2;
    font-weight:400;
}

.no_flex_title {
    width:20rem;
}

.no_flex .list-dot {
    width:calc(100% - 20rem);
}

.Profile .dl_list .no_list > li::before {
    content:counter(item) ")";
}

.no_flex .list-dot li {
    margin-bottom:0;
}

.trademark {
    width:16rem;
    margin:1rem 4rem 0 0;
}

.trademark:last-of-type {
    margin-right:0;
}

.trademark_img {
    width:100%;
    height:16rem;
    margin:0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.trademark_img img {
    width:12.2rem;
    height:100%;
    object-fit: contain;
}

.trademark_img h4 {
    font-size:1.7rem;
    font-weight:700;
    text-align:center;
    white-space: nowrap;
}

.trademark_txt {
    background:#F0F4F7;
    padding:1rem;
    margin-top:1rem;
}

.trademark_txt p {
    line-height:1.5;
    font-size:1.4rem;
    text-align: center;
    font-weight:500;
    color:var(--maincolor);
}

/*-------------------------------
    Profile block
-------------------------------*/

.bg_nami_profile .inner {
    position:relative;
}

.Profile_block {
    margin-bottom:10rem;
}

.GOC_wrap {
    border:.3rem solid var(--maincolor);
    padding:6.4rem 5.5rem;
    margin-top:9rem;
    border-radius:3rem;
}

.update_time {
    display:block;
    text-align:right;
    font-size:1.4rem;
    margin-top:0.5em;
}

.Profile_wrap {
    position:relative;
    justify-content: space-between;
}

.Profile_wrap::after {
    content:"";
    width:0.2rem;
    height:100%;
    border-left:.2rem dotted var(--maincolor);
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
}

.Profile_block._OC,
.Profile_block._NENQP {
    width:45%;
    max-width:47.5rem;
    margin-bottom:0;
}

.Profile_block._OC {
    display: flex;
    flex-direction: column;
    padding-bottom:3.85rem;
}

.OC_wrap {
    margin-top:5rem;
    border:.3rem solid var(--maincolor);
    border-radius:3rem;
    padding:1rem;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.Profile_block._NENQP .h_nami span::before {
    content:"Number of Employees /\ANumber of Qualified Personnel";
    white-space:pre-wrap;
}

.Profile_block._NENQP .dl_wrap {
    margin-top:3rem;
}

.Profile_block._NENQP .dl_list {
    display: flex;
    flex-wrap:wrap;
}

.Profile_block._NENQP .dl_list dt {
    width:48.5%;
    padding:1rem 1rem 1rem 2rem;
    border-top:.1rem solid #65B1E8;
    line-height:2;
    background:#DEF2FF;
}

.Profile_block._NENQP .dl_list dd {
    width:51.5%;
    padding:1rem 1rem 1rem 1.4rem;
    border-top:.1rem solid #65B1E8;
    line-height:2;
}

.Profile_block._NENQP .dl_list dd p {
    line-height:2;
    font-weight:400;
}

.Profile_block._NENQP .dl_list dt:last-of-type,
.Profile_block._NENQP .dl_list dd:last-of-type {
    border-bottom:.1rem solid #65B1E8;
}

.Profile_block._ISO {
    margin-top:14.5rem;
}

.ISO_wrap {
    background:#C7E9FF;
    margin-top:5rem;
    padding:6rem 5.5rem 6.8rem;
    border-radius:3rem;
}

.ISO_txt {
    width:42.4%;
    max-width:40rem;
}

.ISO_img {
    width:52.6%;
    max-width:51.5rem;
}

.ISO_img figure {
    width:46.7%;
}

/*-------------------------------
    Works-banner
-------------------------------*/

.Works-banner{
    width: 100%;
    overflow: hidden;
    position: relative;
    /* background-image: url(../images/company/bg_works-banner.jpg);
    background-image: image-set(url(../images/company/bg_works-banner.jpg) 1x, url(../images/company/bg_works-banner@2x.jpg) 2x);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; */
}
.Works-banner a{
    border: 1px solid var(--maincolor);
    width: 100%;
    border-bottom-left-radius: 3rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}
.Works-banner a::before{
    transition: var(--transition);
    content: "";
    display: block;
    width: 3.4rem;
    height: 3.5rem;
    background-image: url(../images/common/btn_arrow_white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
}
.Works-banner img{
    width: 100%;
}
.Works-banner a:hover::before{
    transform: translateX(.5rem);
}

/*-------------------------------
    Point banner
-------------------------------*/

.Point-banner{
    width: 100%;
    margin-top: 10.7rem;
    overflow: hidden;
}
.Point-banner a{
    border: 1px solid var(--maincolor);
    width: 100%;
    border-bottom-left-radius: 3rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}
.Point-banner a::before{
    transition: var(--transition);
    content: "";
    display: block;
    width: 3.4rem;
    height: 3.5rem;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    right: 2rem;
    bottom: 1.5rem;
}
.Point-banner img{
    width: 100%;
}
.Point-banner a:hover::before{
    transform: translateX(.5rem);
}

/*-------------------------------
    Introduction
-------------------------------*/

.bg_nami_group {
    padding-bottom:16rem;
}

.bg_nami_group .inner {
    position:relative;
}

.group_wrap {
    padding-top:0;
    padding-bottom:0;
}

.group_name {
    margin-top:12.5rem;
    margin-bottom:9rem;
    text-align: center;
}

.group_name span {
    font-size:2.8rem;
    font-weight:700;
    letter-spacing: 0.01em;
    color:var(--maincolor);
    position:relative;
    display: inline-block;
    padding: 0 13.5rem;
}

.group_name span::before,
.group_name span::after {
    content:"";
    display: block;
    width:11.3rem;
    height:0.8rem;
    background:url(../images/company/group_name_line.svg) no-repeat center / contain;
    position:absolute;
    top:0;
    bottom:0;
    margin:auto 0;
}

.group_name span::before {
    left:0;
}

.group_name span::after {
    right:0;
}

.Introduction {
    padding-bottom:2rem;
}

.Intro_wrap:not(:last-of-type) {
    margin-bottom:20rem;
}

.Intro_block {
    margin-bottom:8rem;
}

.Intro_shoji {
    margin-bottom:20rem;
}

.Intro_wrap .Intro_block:last-of-type {
    margin-bottom:0;
}

.Intro_wrap .h_title {
    margin-bottom:8rem;
}

.Intro_block {
    justify-content: space-between;
}

.Intro_txt {
    width:48.2%;
    max-width:53rem;
}

.Intro_img {
    width:46.8%;
    max-width:47.5rem;
    border-radius:1rem;
    overflow:hidden;
}

.Intro_img figure {
    width:100%;
    height:100%;
}

.Intro_img figure img {
    object-fit: cover;
    width:100%;
    height:100%;
}

.Intro_txt h3 {
    font-size:2rem;
    line-height:2;
    font-weight:700;
    margin-bottom:0.5em;
}

.Intro_txt address,
.Intro_txt address span,
.Intro_txt p,
.Intro_txt p span {
    font-size:1.4rem;
    line-height:2;
    font-weight:400;
}

.Intro_txt address span {
    display: inline-block;
    padding-right:1em;
}

.Intro_txt p span {
    display: inline-block;
    padding-right:1em;
}

.Intro_map {
    margin-top:4rem;
    width:100%;
    height:25rem;
    border:.1rem solid var(--maincolor);
    overflow: hidden;
}

.Intro_map iframe {
    width:calc(100% + 50rem);
    height:calc(100% + 50rem);
    transform: translate(-25rem,-25rem);
}

.Intro_block .btn_wrap {
    width:100%;
    margin:5.2rem auto 0;
}

.Intro_block .btn_wrap .btn {
    margin:0 auto;
}

/*-------------------------------
    illust    
-------------------------------*/

.illust_wrap01 .illust_building01 {
    left:10rem;
    top:-21rem;
}

.illust_wrap01 .illust_businessman01 {
    left:32rem;
    top:-16rem;
}

.illust_wrap01 .illust_stroll03 {
    right:calc(50% + 6rem);
    top:-15rem;
}

.illust_wrap01 .illust_stroll04 {
    left:calc(50% - 1rem);
    top:-14rem;
}

.illust_wrap01 .illust_school01 {
    right:26rem;
    top:-20rem;
}

.illust_wrap01 .illust_children01 {
    right:36.5rem;
    top:-8rem;
}

.illust_wrap01 .illust_house03 {
    right:10rem;
    top:-18rem;
}

/*-------------------------------
    illust 02    
-------------------------------*/

.illust_wrap02 .illust_running01 {
    left:20rem;
    top:-15rem;
}

.illust_wrap02 .illust_family04 {
    left:40rem;
    top:-17rem;
}

.illust_wrap02 .illust_man01 {
    right:57rem;
    top:-12rem;
}

.illust_wrap02 .illust_mountain01 {
    right:-24rem;
    top:-27rem;
}

.illust_wrap02 .illust_party01 {
    right:38rem;
    top:-12rem;
}

.illust_wrap02 .illust_apartment02 {
    right:15rem;
    top:-10rem;
}

.illust_wrap02 .illust_car_yellow01 {
    right:20rem;
    top:5rem;
}

.illust_wrap02 .illust_car_red01 {
    right:8rem;
    top:2rem;
}


/*-------------------------------
    illust 03
-------------------------------*/

.illust_wrap03 .illust_tree01-2 {
    left:9rem;
    top:8rem;
}

.illust_wrap03 .illust_apartment03 {
    left:19rem;
    top:9rem;
}

.illust_wrap03 .illust_family01 {
    left:35rem;
    top:-1rem;
}

.illust_wrap03 .illust_running02 {
    right:37rem;
    top:-5rem;
}

.illust_wrap03 .illust_house04 {
    right:19rem;
    top:-9rem;
}

.illust_wrap03 .illust_children02 {
    right:6rem;
    top:-15rem;
}

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


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


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

/*-------------------------------
    responsive
-------------------------------*/

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


} /* end 960px */



/*-------------------------------
    ver sp
-------------------------------*/

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

/*-------------------------------
    page link
-------------------------------*/

.page_link {
    max-width:100%;
    margin:0 auto 12rem;
    justify-content:center;
    padding:0 4.5rem;
}

.page_link .btn {
    max-width:30rem;
    height:7.6rem;
    margin:0 1.5rem 2.5rem;
    padding:0 3.5rem 0 1.5rem;
}

.page_link .btn span {
    font-size:2.8rem;
}

.page_link .btn::after {
    width:2.2rem;
    height:2.4rem;
    right:1.5rem;
}

.page_link::after {
    display: none;
}

/*-------------------------------
    company wrap
-------------------------------*/

.company_wrap {
    border-radius: 3rem;
    padding:8rem 6rem 9.5rem;
}

/*-------------------------------
    Greeting
-------------------------------*/

.bg_greeting {
    padding-bottom: 21rem;
}

.sticky.is_fixed {
    position:relative;
    top:auto;
}

.is_end {
    position:relative;
    top:auto;
    bottom:auto;
}

.greeting_wrap {
    margin-bottom:2rem;
}

.Greeting .h_nami {
    margin-bottom:11rem;
}

.Greeting .h_nami span {
    font-size:3.6rem;
}

.sticky_wrap {
    margin-bottom:0rem;
}

.Greeting_txt {
    width:100%;
    max-width:100%;
}

.Greeting_img {
    width:100%;
    max-width:100%;
    top:auto;
    margin-bottom:8rem;
}

.Greeting_message {
    padding-top:0;
    font-size:3.2rem;
    margin-bottom:11rem;
    text-align: center;
}

.Greeting .affe_bottom {
    margin-top:9rem;
}

.Greeting_name {
    width:100%;
    max-width:100%;
    order:-1;
}

.Greeting_name figure {
    width:100%;
    max-width:49.42rem;
    margin-left:auto;
    margin-bottom:11rem;
}

.Greeting_bottom {
    width:100%;
    max-width:100%;
    display: block;
}

.Greeting_bottom h3 {
    font-size:4.8rem;
    text-align: center;
}

/*-------------------------------
    bg chien
-------------------------------*/

.bg_nami {
    margin-top: -11.5rem;
    padding-top: 15rem;
    padding-bottom: 21rem;
}

.bg_nami::before {
    width:100%;
    min-width:100%;
    height:11.5rem;
}

.bg_nami::after {
    height:calc(100% - 11.4rem);
}

/*-------------------------------
    bar title
-------------------------------*/

.bar_title {
    font-size:3.6rem;
    padding-left:2.8rem;
    border-left:1.2rem solid #65B1E8;
}

.bar_title::before {
    font-size:3.6rem;
    margin-right:2.5rem;
}

.bar_title span {
    font-size:2.2rem;
}

/*-------------------------------
    Philosophy
-------------------------------*/

.bg_nami_philosophy .inner {
    padding-bottom:20rem;
}

.philosophy_wrap {
    margin-bottom:0rem;
}

.Philosophy .h_nami {
    margin-bottom:14rem;
}

.phi_img {
    width:100%;
    max-width:100%;
    margin-top:0;
    margin-bottom:9.8rem;
}

.phi_img figure img {
    width:100%;
    height:100%;
    object-fit: contain;
}

.phi_txt {
    width:100%;
    max-width:100%;
}

.phi_txt .phi_txt_child:not(:last-of-type) {
    margin-bottom:12rem;
}

.phi_txt h4 {
    font-size:3rem;
}

/*-------------------------------
    policy
-------------------------------*/

.Phi_policy {
    margin-bottom:15rem;
}

.Phi_policy .h_nami {
    margin-bottom:8.4rem;
}

.policy_list {
    max-width:100%;
}

.policy_block {
    width:100%;
    max-width:100%;
    margin-bottom:8rem;
    display:flex;
    align-items: flex-start;
}

.policy_block h4 {
    width:20.2rem;
    height:20.2rem;
    line-height:18.2rem;
    border:1rem solid #6DB6E5;
    font-size:3.8rem;
    margin:0;
}

.policy_block p {
    width:calc(100% - 20.2rem);
    padding-left:1em;
    margin-top:1em;
}

.policy_block04 {
    margin-top:0;
    margin-bottom:0;
}

.policy_img {
    width:100%;
    padding-left:0;
    position:relative;
    order:-1;
    margin-bottom:8.4rem;
}

.policy_img::before {
    display: none;
}

.policy_img figure {
    width:100%;
    max-width:100%;
    margin-left:auto;
}

.Phi_copy,
.Phi_chara {
    width:100%;
    max-width:100%;
}

.Phi_copy .maru_title,
.Phi_chara .maru_title {
    margin-bottom:8.4rem;
}

.Phi_bottom::after {
    display: none;
}

.Phi_bottom .h_nami {
    margin-bottom:8rem;
}

.copy_white {
    margin:0 0 6.4rem;
    padding:6rem 3rem 7rem;
}

.copy_white p,
.copy_white p span {
    font-size:3.6rem;
}

.copy_bottom p {
    font-size:2.4rem;
}

.copy_bottom p span {
    font-size:4rem;
}

.Phi_copy {
    margin-bottom:15rem;
}

.chara_img {
    padding-block: 8rem 16rem;
}
.chara_img figure {
    width:100%;
    max-width:36.5rem;
}

.chara_img figcaption {
    width:100%;
    font-size:3.8rem;
    /*    right:-7.4rem;*/
    bottom: -9rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.chara_img figcaption span {
    font-size:2.8rem;
}

/*-------------------------------
    Profile
-------------------------------*/

.bg_nami_profile .inner {
    padding-bottom:45rem;
}

.profile_wrap {
    padding:0;
}

.Profile_block._CP .dl_wrap {
    margin-top:4.8rem;
}
.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd {
    width: 100%;
}
.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd {
    font-size: 2.8rem;
}

.Profile_block._CP .dl_list dt {
    padding:4rem 2rem 4rem 3rem
}

.Profile_block._CP .dl_list dd {
    padding:4rem 0 ;
}

.Profile_block._CP .dl_list dd address:not(:last-of-type) {
    margin-bottom:1em;
}

.no_flex_title {
    width:100%;
}

.no_flex .list-dot {
    width:100%;
}

.no_flex .list-dot > li {
    width:100%;
}

.trademark_list{
    justify-content: space-between;
}

.trademark {
    width:48.2%;
    margin:3rem 0 0 ;
}

.trademark_img {
    width:100%;
    height:22.4rem;
}

.trademark_img img {
    width:17rem;
    height:100%;
    object-fit: contain;
}

.trademark_img h4 {
    font-size:2.8rem;
}

.trademark_txt {
    padding:2rem 1rem;
    margin-top:4rem;
}

.trademark_txt p {
    font-size:2.4rem;
}

/*-------------------------------
    Profile block
-------------------------------*/

.Profile_block {
    margin-bottom:20rem;
}

.GOC_wrap {
    padding:7rem 6rem;
    margin-top:6rem;
    overflow:auto;
    border-width:0.2rem;
}

.GOC_wrap figure {
    min-width:99rem;
}

.update_time {
    font-size:2.4rem;
}

.Profile_wrap::after {
    display: none;
}

.Profile_block._OC,
.Profile_block._NENQP {
    width:100%;
    max-width:100%;
    margin-bottom:0;
}

.Profile_block._OC {
    display: block;
    padding-bottom:0rem;
    margin-bottom:8.4rem;
}

.OC_wrap {
    margin-top:5rem;
    border-width:0.2rem;
    padding:2rem;
}

.Profile_block._NENQP .dl_wrap {
    margin-top:6rem;
}

.Profile_block._NENQP .dl_list dt {
    width:54%;
    padding:3rem 1rem 3rem 2rem;
}

.Profile_block._NENQP .dl_list dd {
    width:46%;
    padding:3rem 1rem 3rem 2rem;
}

.Profile_block._ISO {
    margin-top:20rem;
}

.ISO_wrap {
    margin-top:6rem;
    padding:7rem 6rem; 
}

.ISO_txt {
    width:100%;
    max-width:100%;
    margin-bottom:4rem;
}

.ISO_img {
    width:100%;
    max-width:100%;
}

.ISO_img figure {
    width:100%;
}

.ISO_img figure:not(:last-of-type) {
    margin-bottom:4rem;
}

.ISO_img figure img {
    width:100%;
    height:100%;
    object-fit: contain;
}

/*-------------------------------
    Works-banner
-------------------------------*/

.Works-banner a::before{
    display: none;
}

.Works-banner .btn {
    display: flex!important;
    width:100%;
    max-width:40.6rem;
    height:7rem;
    position: absolute;
    left: 0;
    bottom: 5rem;
    right:0;
    margin:0 auto;
}


/*-------------------------------
    Point banner
-------------------------------*/

.Point-banner{
    margin-top: 3.6rem;
}

.Point-banner a::before{
    display: none;
}

.Point-banner .btn{
    display: flex!important;
    width:100%;
    max-width:40.6rem;
    height:7rem;
    position: absolute;
    left: 0;
    bottom: 5rem;
    right:0;
    margin:0 auto;
}

/*-------------------------------
    Introduction
-------------------------------*/

.bg_nami_group {
    padding-bottom:25rem;
}

.group_wrap {
    padding:0;
}

.group_wrap .h_nami {
    margin-bottom:8rem;
}

.group_name {
    margin-top:0rem;
    margin-bottom:11rem;
}

.group_name span {
    font-size:3.6rem;
    padding: 0 13.5rem;
}

.group_name span::before,
.group_name span::after {
    width:11.3rem;
    height:0.8rem;
}

.Intro_block {
    margin-bottom:15rem;
}

.Intro_txt {
    width:100%;
    max-width:100%;
}

.Intro_img {
    width:100%;
    max-width:100%;
}

.Intro_img figure {
    width:100%;
    height:100%;
}

.Intro_txt h3 {
    font-size:3.2rem;
}

.Intro_txt address,
.Intro_txt address span,
.Intro_txt p,
.Intro_txt p span {
    font-size:2.4rem;
}

.Intro_txt address span {
    display:block;
    padding-right:0;
}

.Intro_txt p span {
    display: block;
    padding-right:0;
}

.Intro_map {
    margin:4rem 0 6rem;
    width:100%;
    height:40rem;
    border:.2rem solid var(--maincolor);
}

.Intro_block .btn_wrap {
    width:100%;
    margin:6.5rem auto 0;
}

.Intro_miyuki_sub_lease .group_name span {
    font-size:3.3rem;
    letter-spacing: 0;
    padding:0 10.5rem;
}

.Intro_miyuki_sub_lease .group_name span::before,
.Intro_miyuki_sub_lease .group_name span::after {
    width:8.5rem;
}

/*-------------------------------
    illust    
-------------------------------*/

.illust_wrap01 .illust_building01 {
    left:4rem;
    top:-23rem;
}

.illust_wrap01 .illust_businessman01 {
    left:26rem;
    top:-18rem;
}

.illust_wrap01 .illust_stroll03 {
    right:18rem;
    top:-17rem;
}

.illust_wrap01 .illust_stroll04 {
    left:auto;
    right:5rem;
    top:-10rem;
}

.illust_wrap01 .illust_school01 {
    right:auto;
    top:auto;
    left:22rem;
    bottom:9rem;
}

.illust_wrap01 .illust_children01 {
    right:auto;
    top:auto;
    bottom:0;
    left:9rem;
}

.illust_wrap01 .illust_house03 {
    right:4rem;
    top:auto;
    bottom:4rem;
}

/*-------------------------------
    illust 02    
-------------------------------*/

.illust_wrap02 .illust_running01 {
    left:4rem;
    top:-18rem;
}

.illust_wrap02 .illust_family04 {
    left:auto;
    right:5rem;
    top:-5rem;
}

.illust_wrap02 .illust_man01 {
    right:auto;
    left:24rem;
    top:-17rem;
}

.illust_wrap02 .illust_mountain01 {
    right:-34rem;
    top:auto;
    bottom:8rem;
}

.illust_wrap02 .illust_party01 {
    right:auto;
    top:auto;
    left: 16rem;
    bottom:10rem;
}

.illust_wrap02 .illust_apartment02 {
    right:15rem;
    top:auto;
    bottom:8rem;
}

.illust_wrap02 .illust_car_yellow01 {
    right:38rem;
    top:auto;
    bottom:-2rem;
}

.illust_wrap02 .illust_car_red01 {
    right:22rem;
    top:auto;
    bottom:0;
}


/*-------------------------------
    illust 03
-------------------------------*/

.illust_wrap03 .illust_tree01-2 {
    left:3rem;
    top:-8rem;
}

.illust_wrap03 .illust_apartment03 {
    left:12rem;
    top:-12rem;
}

.illust_wrap03 .illust_family01 {
    left:auto;
    right:5rem;
    top:-13rem;
}

.illust_wrap03 .illust_running02 {
    right:auto;
    top:auto;
    left:8rem;
    bottom:-15rem;
}

.illust_wrap03 .illust_house04 {
    right:24rem;
    top:auto;
    bottom:-15rem;
}

.illust_wrap03 .illust_children02 {
    right:6rem;
    top:auto;
    bottom:-20rem;
}

} /* end 768px */
