@charset "utf-8";

/*-----------------------
    page_contents.css
------------------------*/

/*----- case -----*/

.case_header {
    padding: 60px 0 80px;
}
.case_header .category .webgene-blog {
    display: flex;
    flex-wrap: wrap;
}
.case_header .category .webgene-blog .m_btn {
    margin-right: 75px;
}

.case_list {
    padding: 0 0 120px;
}
.case_list .webgene-blog {
    display: flex;
    flex-wrap: wrap;
    gap: 75px 33px;
}
.case_list .webgene-blog .li {
    width: calc(33.33% - 22px);
}
.case_list .webgene-blog .li a:hover {
    opacity: .8;
}
.case_list .webgene-blog .li .pict {
    display: block;
    width: 100%;
    height: 300px;
    background: var(--yellow_light);
    border-radius: 10px;
}
.case_list .webgene-blog .li .pict img {
    height: 300px;
    aspect-ratio: 4/3;
    border-radius: 10px;
}
.case_list .webgene-blog .li .title {
    margin: 10px 15px;
    color: var(--text);
    line-height: 2;
}
.case_list .webgene-blog .li .link a {
    position: relative;
    display: block;
    padding: 60px 15px 20px;
    color: var(--text);
    border-bottom: 1px solid var(--text);
}
.case_list .webgene-blog .li .link a::before,
.case_list .webgene-blog .li .link a::after {
    position: absolute;
    display: block;
    content: "";
    bottom: 20px;
    right: 15px;
    width: 30px;
    height: 1px;
    background: var(--text);
    transition: .5s;
}
.case_list .webgene-blog .li .link a::after {
    bottom: 22px;
    width: 6px;
    transform: rotate(45deg);
}
.case_list .webgene-blog .li .link a:hover::before,
.case_list .webgene-blog .li .link a:hover::after {
    right: 10px;
}

/* pager */

.webgene-pagination {
    width: 100%;
    padding: 50px 0 0;
}
.webgene-pagination ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 10px;
    font-size: 16px;
}
.webgene-pagination ul li a {
    display: block;
    background: #999;
    padding: 12px 15px;
    color: var(--white);
    text-decoration: none;
}
.webgene-pagination ul li a:hover {
    background: var(--yellow);
}
.webgene-pagination ul li.selected a {
    background: var(--yellow);
}


@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .case_header {
        padding: 5vw 0 6vw;
    }
    .case_header .category .webgene-blog .m_btn {
        margin-right: 6vw;
    }

    .case_list {
        padding: 0 0 9vw;
    }
    .case_list .webgene-blog {
        gap: 6vw 3vw;
    }
    .case_list .webgene-blog .li {
        width: calc(33.33% - 2vw);
    }
    .case_list .webgene-blog .li .pict,
    .case_list .webgene-blog .li .pict img {
        height: 24vw;
    }
    .case_list .webgene-blog .li .title {
        margin: 1vw 1vw;
    }
    .case_list .webgene-blog .li .link a {
        padding: 4vw 1vw 2vw;
    }
    .case_list .webgene-blog .li .link a::before,
    .case_list .webgene-blog .li .link a::after {
        bottom: 2vw;
        right: 1.5vw;
        width: 3vw;
    }
    .case_list .webgene-blog .li .link a::after {
        bottom: 2.2vw;
        width: .6vw;
    }
    .case_list .webgene-blog .li .link a:hover::before,
    .case_list .webgene-blog .li .link a:hover::after {
        right: 1vw;
    }
    
    /* pager */
    
    .webgene-pagination ul {
        gap: 1vw 1vw;
        font-size: 1.6vw;
    }
    .webgene-pagination ul li a {
        padding: 1.2vw 1.5vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .case_header {
        padding: 45px 0 50px;
    }
    .case_header .category .webgene-blog {
        display: block;
    }
    .case_header .category .webgene-blog .m_btn {
        margin-right: auto;
        margin-bottom: 30px;
    }

    .case_list {
        padding: 0 0 50px;
    }
    .case_list .webgene-blog {
        display: block;
        width: min(400px,100%);
        margin: auto;
    }
    .case_list .webgene-blog .li {
        width: 100%;
        margin-bottom: 50px;
    }
    .case_list .webgene-blog .li .pict,
    .case_list .webgene-blog .li .pict img {
        height: 70vw;
    }
    .case_list .webgene-blog .li .title {
        margin: 10px 0;
    }
    .case_list .webgene-blog .li .link a {
        padding: 15px 0 15px;
    }
    
    /* pager */

    .webgene-pagination {
        padding: 40px 0;
    }
    
}

/*----- detail -----*/

.case_detail {
    padding: 0 0 120px;    
}
.case_detail .ttl {
    margin-bottom: 20px;
    font-size: 35px;
    line-height: 1.75;
}
.blog_detail_slider .pic {
    display: flex;
}
.blog_detail_slider .pic img {
    max-height: 790px;
    border-radius: 10px;
}
.blog_detail_thumbnail .thumb {
    padding: 3px 2px;
    cursor: pointer;
}
.blog_detail_thumbnail .thumb img {
    aspect-ratio: 3/2;
    border-radius: 8px
}
.case_detail_text {
    padding: 30px 0 0;
    font-size: 16px;
    line-height: 2;
}

.m_btn.case_detail_btn {
    min-width: 300px;
    margin: 90px auto;
}
.m_btn.case_detail_btn a {
    border: none;
}
.m_btn.case_detail_btn a::before,
.m_btn.case_detail_btn a::after {
    display: none;
}

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

    .case_detail {
        padding: 0 0 9vw;    
    }
    .case_detail .ttl {
        margin-bottom: 2vw;
        font-size: 3vw;
    }

    .blog_detail_slider .pic img {
        max-height: 60vw;
    }
    .case_detail_text {
        padding: 2.5vw 0 0;
        font-size: 1.5vw;
    }

    .m_btn.case_detail_btn {
        min-width: 27vw;
        margin: 7.5vw auto;
    }
    
}
@media screen and (max-width: 767px){
    
    .case_detail {
        padding: 0 0 50px;    
    }
    .case_detail .ttl {
        margin-bottom: 15px;
        font-size: 24px;
    }

    .blog_detail_slider .pic img {
        max-height: 70vw;
    }
    .case_detail_text {
        padding: 20px 0 0;
        font-size: 15px;
    }

    .m_btn.case_detail_btn {
        min-width: 270px;
        margin: 40px auto;
    }
    
}

/*----- service -----*/

.svc_top {
	padding: 60px 0 0;	
}
.svc_top .title {
	margin: 60px 0 45px;
	font-size: 45px;
	line-height: 1.75;
}
.svc_top .m_wave {
	padding: 60px 0;
}
.svc_pics {
	margin: 60px 0 0;
}
.svc_pics .pic {
	margin: 0 3px;
}
.svc_pics .pic img {
    aspect-ratio: 3/2;	
}

/* message */

.svc_message {
    padding: 200px 0 200px;
}
.svc_message .ttl {
	margin-bottom: 60px;
	font-size: 45px;
	line-height: 1.76;
}
.svc_message .frame {
	display: flex;
	justify-content: space-between;
}
.svc_message .frame .conts {
	width: 54%;
}
.svc_message .frame .pics {
	position: relative;
    width: 30%;
    margin-right: calc(50% - 45vw);
    margin-left: 4%;
    flex: 1;
}
.svc_message .frame .pics .pic {
	position: absolute;
	top: 0;
	left: 0;
	width: 66%;
}
.svc_message .frame .pics .pic:nth-of-type(2) {
	top: 260px;
	left: 33%;
}
.svc_message .frame .pics .pic img {
	border-radius: 10px;
    aspect-ratio: 501/395;
}
/* for CMS */
body:has(#wrapper) .svc_message .frame .pics .pic {
	position: relative!important;
	top: auto!important;
	left: auto!important;
}

/* tab */

.tab_conts .frame {
    display: flex;
    justify-content: space-between;
}
.tab_conts .frame .conts {
    order: 2;
    width: 52%;
    color: var(--white);
}
.tab_conts .frame .conts .ttl {
    margin-bottom: 15px;
    font-size: 35px;
    line-height: 1.5;
}
.tab_conts .frame .pics {
    width: 40%;
    position: relative;
    height: 500px;
}
.tab_conts .frame .pics .pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 66%;   
}
.tab_conts .frame .pics .pic:nth-of-type(2) {
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
}
.tab_conts .frame .pics .pic img {
    border-radius: 10px;
    aspect-ratio: 19/15;
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
	/* message */

	.svc_message {
		padding: 200px 0 120px;
	}
	.svc_message .frame .pics {
		width: 43%;
		margin: 0;
		flex: none;
	}
	.svc_message .frame .pics .pic {
		width: 75%;
	}
	.svc_message .frame .pics .pic:nth-of-type(2) {
		top: 160px;
		left: 25%
	}
    
    /* tab */

    .tab_conts .frame .conts {
        width: 55%;
    }

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

	.svc_top {
		padding: 5vw 0 0;	
	}
	.svc_top .title {
		margin: 5vw 0 4vw;
		font-size: 3.5vw;
	}
	.svc_top .m_wave {
		padding: 5vw 0;
	}
	.svc_pics {
		margin: 5vw 0 0;
	}
	
	/* message */

	.svc_message {
		padding: 9vw 0 7vw;
	}
	.svc_message .ttl {
		margin-bottom: 5vw;
		font-size: 3.5vw;
	}
	.svc_message .frame .conts {
		width: 54%;
	}
	.svc_message .frame .pics .pic:nth-of-type(2) {
		top: 12vw;
	}

	/* tab */

    .tab_conts .frame .conts .ttl {
        margin-bottom: 1.5vw;
        font-size: 2.7vw;
    }
    .tab_conts .frame .pics {
        height: 30vw;
    }

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

	.svc_top {
		padding: 45px 0 0;	
	}
	.svc_top .title {
		margin: 40px 0 20px;
		font-size: 22px;
	}
	.svc_top .m_wave {
		padding: 30px 0;
	}
	.svc_pics {
		margin: 30px 0 0;
	}
	
	/* message */

	.svc_message {
		padding: 50px 0;
	}
	.svc_message .ttl {
		margin-bottom: 15px;
		font-size: 22px;
	}
	.svc_message .frame {
		display: block;
	}
	.svc_message .frame .conts {
		width: 100%;
	}
	.svc_message .frame .pics {
		width: min(400px,100%);
		margin: 30px auto 0;
		height: 60vw;
	}
	.svc_message .frame .pics .pic {
		width: 75%;
	}
	.svc_message .frame .pics .pic:nth-of-type(2) {
		top: 8vw;
		left: 25%;
	}
	
    
    /* tab */

    .tab_conts .frame {
        display: block;
    }
    .tab_conts .frame .conts {
        width: 100%;
    }
    .tab_conts .frame .conts .ttl {
        font-size: 22px;
    }
    .tab_conts .frame .pics {
        margin: 45px auto 0;
        width: min(400px,100%);
        height: 60vw;
    }
    
}

/*----- strong -----*/

.stg_intro {
    padding: 60px 0 0;
}
.stg_intro .frame {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 130px 0;
}
.stg_intro .frame .conts {
    width: 56%;
}
.stg_intro .frame .conts .ttl {
    margin-bottom: 15px;
    font-size: 45px;
    line-height: 1.5;
}
.stg_intro .frame .pic {
    width: 40%;
}
.stg_intro .frame .pic img {
    border-radius: 10px;
    aspect-ratio: 57/38;
}

.stg_reason {
    padding: 150px 0 80px;
}
.stg_reason .ul .li {
    margin-bottom: 100px;
}
.stg_reason .ul .li .ttl {
    margin-bottom: 45px;
    font-size: 45px;
    line-height: 1.75;
}
.stg_reason .ul .li .frame {
    display: flex;
    justify-content: space-between;
}
.stg_reason .ul .li .frame .conts {
    width: 52.5%;
}
.stg_reason .ul .li:nth-of-type(2n) .frame .conts {
    order: 2;
}
.stg_reason .ul .li .frame .pic {
    width: 41.666%;
}
.stg_reason .ul .li .frame .pic img {
    border-radius: 10px;
    aspect-ratio: 501/395;
}

.stg_message {
    padding: 120px 0;
    background: url("/system_panel/uploads/images/bg_tab1_.jpg") center no-repeat;
    background-size: 100% auto;
}
.stg_message .text {
    color: var(--white);
    font-size: 35px;
    line-height: 2;
    text-align: center;
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
    .stg_message .text {
        font-size: 32px;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .stg_intro {
        padding: 5vw 0 0;
    }
    .stg_intro .frame {
        padding: 9vw 0;
    }
    .stg_intro .frame .conts {
        width: 52%;
    }
    .stg_intro .frame .conts .ttl {
        margin-bottom: 1.5vw;
        font-size: 3.5vw;
    }
    .stg_intro .frame .pic {
        width: 44%;
    }
    
    .stg_reason {
        padding: 9vw 0 7vw;
    }
    .stg_reason .ul .li {
        margin-bottom: 8vw;
    }
    .stg_reason .ul .li .ttl {
        margin-bottom: 3vw;

        font-size: 3.5vw;
    }
    
    .stg_message {
        padding: 9vw 0;
    }
    .stg_message .text {
        font-size: 2.4vw;
    }
    
}
@media screen and (max-width: 767px){
     
    .stg_intro {
        padding: 45px 0 0;
    }
    .stg_intro .frame {
        display: block;
        padding: 40px 0;
    }
    .stg_intro .frame .conts {
        width: 100%;
    }
    .stg_intro .frame .conts .ttl {
        font-size: 22px;
        line-height: 1.75;
    }
    .stg_intro .frame .pic {
        width: min(400px,100%);
        margin: 30px auto 0;
    }

    .stg_reason {
        padding: 50px 0 30px;
    }
    .stg_reason .ul .li {
        margin-bottom: 40px;
    }
    .stg_reason .ul .li .ttl {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .stg_reason .ul .li .frame {
        display: block;
    }
    .stg_reason .ul .li .frame .conts {
        width: 100%;
    }
    .stg_reason .ul .li .frame .pic {
        width: min(400px,100%);
        margin: 30px auto 0;
    }

    .stg_message {
        padding: 40px 0;
        background-size: auto;
    }
    .stg_message .text {
        font-size: 19px;
        text-align: left;
    }
    
}

/*----- svc p/b -----*/

.svc_intro {
    padding: 60px 0;
}
.svc_intro .frame {
    display: flex;
    margin-top: 90px;
}
.svc_intro .frame .conts {
    width: 66%;
}
.svc_intro .frame .conts .ttl {
    margin-bottom: 60px;
    padding-left: 20px;
    border-left: 8px solid var(--yellow);
    font-size: 45px;
    line-height: 1;
}
.svc_intro .frame .conts .subttl {
    margin-bottom: 45px;
    color: var(--green);
    font-size: 35px;
    line-height: 2;
}
.svc_intro .frame .pic {
    width: 30%;
    margin-right: calc(50% - 50vw);
    margin-left: 4%;
    margin-top: 60px;
    flex: 1;
}
.svc_intro .frame .pic img {
    border-radius: 10px 0 0 10px;
    aspect-ratio: 35/27;
}

/* point */

.svc_point {
    padding: 100px 0 60px;
}
.svc_point .dl {
    margin: 90px 0 0;
}
.svc_point .dl > div {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    margin: 60px 0;
}
.svc_point .dl .dt {
    width: 35%;
    font-size: 30px;
    line-height: 1.75;
}
.svc_point .dl .dd {
    width: 65%;
    padding: 20px 0 20px 40px;
    border-left: 1px solid var(--text);
}

/* case */

.svc_case {
    padding: 90px 0 150px;    
}
.svc_case .case_ul {
    margin: 60px 0;    
}
.svc_case .case_ul .webgene-blog {
    display: flex;
    justify-content: space-between;
	gap: 42px
}
.svc_case .case_ul .webgene-blog .li {
	width: calc(33.33% - 28px);
}
.svc_case .case_ul .webgene-blog .li a:hover {
    opacity: .8;
}
.svc_case .case_ul .webgene-blog .li .pict {
    display: block;
    width: 100%;
    height: 300px;
    background: var(--yellow_light);
    border-radius: 10px;
}
.svc_case .case_ul .webgene-blog .li .pict img {
    height: 300px;
    aspect-ratio: 4/3;
    border-radius: 10px;
}
.svc_case .case_ul .webgene-blog .li a .title {
    margin-top: 10px;
    color: var(--text);
    line-height: 2;
}

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

    .svc_intro .frame .conts .subttl {
        font-size: 30px;
    }
    .svc_intro .frame .pic {
        width: 36%;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .svc_intro {
        padding: 5vw 0;
    }
    .svc_intro .frame {
        margin-top: 7.5vw;
    }
    .svc_intro .frame .conts {
        width: 66%;
    }
    .svc_intro .frame .conts .ttl {
        margin-bottom: 4vw;
        padding-left: 2vw;
        font-size: 3.33vw
    }
    .svc_intro .frame .conts .subttl {
        margin-bottom: 4vw;
        font-size: 2.5vw;
        line-height: 2;
    }
    .svc_intro .frame .pic {
        margin-top: 6vw;
    }
    
    /* point */

    .svc_point {
        padding: 8vw 0 5vw;
    }
    .svc_point .dl {
        margin: 7vw 0 0;
    }
    .svc_point .dl > div {
        margin: 5vw 0;
    }
    .svc_point .dl .dt {
        font-size: 2.2vw;
    }
    .svc_point .dl .dd {
        padding: 2vw 0 2vw 3vw;
    }

    /* case */

    .svc_case {
        padding: 7vw 0 9vw;    
    }
    .svc_case .case_ul {
        margin: 5vw 0;    
    }
	.svc_case .case_ul .webgene-blog {
		gap: 3.3vw;
	}
	.svc_case .case_ul .webgene-blog .li {
		width: calc(33.33% - 2.2vw);
	}
    .svc_case .case_ul .webgene-blog .li {
        width: 32%;
    }
    .svc_case .case_ul .webgene-blog .li .pict,
    .svc_case .case_ul .webgene-blog .li .pict img {
        height: 25vw;
    }
    .svc_case .case_ul .webgene-blog .li a .title {
        margin-top: 1vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .svc_intro {
        padding: 45px 0;
    }
    .svc_intro .frame {
        display: block;
        margin-top: 40px;
    }
    .svc_intro .frame .conts {
        width: 100%;
    }
    .svc_intro .frame .conts .ttl {
        margin-bottom: 30px;
        padding: 5px 0 5px 20px;
        font-size: 24px;
    }
    .svc_intro .frame .conts .subttl {
        margin-bottom: 25px;
        font-size: 20px;
        line-height: 2;
    }
    .svc_intro .frame .pic {
        width: min(400px,100%);
        margin: 30px auto 0;
    }
    .svc_intro .frame .pic img {
        border-radius: 10px;
    }
    
    /* point */

    .svc_point {
        padding: 50px 0 30px;
    }
    .svc_point .dl {
        margin: 40px 0 0;
    }
    .svc_point .dl > div {
        display: block;
        margin: 0 0 30px;
    }
    .svc_point .dl .dt {
        width: 100%;
        padding-bottom: 15px;
        font-size: min(5vw,20px);
    }
    .svc_point .dl .dt br {
        display: none;
    }
    .svc_point .dl .dd {
        width: 100%;
        padding: 20px 0 0;
        border-left: none;
        border-top: 1px solid var(--text);
    }

    /* case */

    .svc_case {
        padding: 30px 0 50px;    
    }
    .svc_case .case_ul {
        margin: 30px 0;    
    }
    .svc_case .case_ul .webgene-blog {
        display: block;
    }
    .svc_case .case_ul .webgene-blog .li {
        width: min(400px,100%);
        margin: 0 auto 30px;
    }
    .svc_case .case_ul .webgene-blog .li .pict,
    .svc_case .case_ul .webgene-blog .li .pict img {
        height: min(75vw,300px);
    }
    
}

/*----- friends -----*/

.friend_intro {
    padding: 60px 0 50px;
}
.friend_intro .intro_box {
    background: var(--yellow_light);
    margin: 60px 0;
    padding: 30px;
}
.friend_intro .intro_box .list {
    width: fit-content;
    margin: 0 auto;
}
.friend_intro .intro_box .list .text {
    padding: 10px 0 10px 40px;
    background: url("/system_panel/uploads/images/icon_check.png") no-repeat;
    background-position: left center;
    background-size: 21px auto;
    font-size: 23px;
    line-height: 1.75;
}

/* points */

.friend_points {
    padding: 100px 0;
    background: linear-gradient(45deg, #ffd32b 0%, #b0dbff 100%);
    color: var(--white);
}
.friend_points .ttl {
    margin-bottom: 75px;
    font-size: 45px;
    line-height: 1.6;
    text-align: center;
}
.friend_points .ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}
.friend_points .ul .li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 480px;
    height: 75px;
    border: 1px solid var(--white);
    font-size: 23px;
    text-align: center;
}
.friend_points .ul .li::after {
    position: absolute;
    display: block;
    content: "";
    top: 5px;
    left: 5px;
    border: 1px solid var(--white);
    width: 100%;
    height: 75px;
}

/* eff */

.friend_effect {
    padding: 150px 0 120px;
}
.friend_effect .frame {
    display: flex;
    justify-content: space-between;
    margin-top: 75px;
}
.friend_effect .frame .conts {
    width: 60%;
}
.friend_effect .frame .dl > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    margin: 40px 0;
}
.friend_effect .frame .dt {
    width: 40%;
    font-size: 30px;
    line-height: 1.75;
}
.friend_effect .frame .dd {
    width: 60%;
    padding: 10px 0 10px 40px;
    border-left: 1px solid var(--text);
}
.friend_effect .frame .pics {
    position: relative;
    width: 36%;
}
.friend_effect .frame .pic {
    position: absolute;
    width: 87.5%;
}
.friend_effect .frame .pic img {
    aspect-ratio: 5/4;
    border-radius: 10px;
}
.friend_effect .frame .pic:nth-of-type(1) {
    top: 0;
    left: 0;
}
.friend_effect .frame .pic:nth-of-type(2) {
    top: 140px;
    left: 300px;
}

/* for CMS */
body:has(#wrapper) .friend_effect .frame .pic {
    position: relative;
    top: auto;
    left: auto;
}

.friend_effect .catch {
    width: 1065px;
    margin: 120px auto 0;
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
    /* eff */

    .friend_effect .frame .conts {
        width: 50%;
    }
    .friend_effect .frame .dt {
        width: 35%;
        font-size: 22px;
    }
    .friend_effect .frame .dd {
        width: 65%;
        padding: 10px 0 10px 30px;
    }
    .friend_effect .frame .pics {
        width: 46%;
    }
    .friend_effect .frame .pic {
        width: 66.66%;
    }
    .friend_effect .frame .pic:nth-of-type(2) {
        left: 33.33%;
    }
    .friend_effect .catch {
        width: 875px;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .friend_intro {
        padding: 4.5vw 0;
    }
    .friend_intro .intro_box {
        margin: 5vw 0;
        padding: 2.5vw;
    }
    .friend_intro .intro_box .list .text {
        padding: 1vw 0 1vw 3vw;
        background-size: 1.8vw auto;
        font-size: 2vw;
    }
    
    /* points */

    .friend_points {
        padding: 7.5vw 0;
    }
    .friend_points .ttl {
        margin-bottom: 5vw;
        font-size: 4vw;
    }
    .friend_points .ul {
        gap: 3vw;
    }
    .friend_points .ul .li {
        width: 40vw;
        height: 6vw;
        font-size: 2vw;
    }
    .friend_points .ul .li::after {
        top: .5vw;
        left: .5vw;
        height: 6vw;
    }

    /* eff */

    .friend_effect {
        padding: 9vw 0 8vw;
    }
    .friend_effect .frame {
        margin-top: 6vw;
    }
    .friend_effect .frame .conts {
        width: 45%;
    }
    .friend_effect .frame .dl > div {
        margin: 0 0 6vw;
        display: block;
    }
    .friend_effect .frame .dt {
        width: 100%;
        font-size: 1.8vw;
    }
    .friend_effect .frame .dt br {
        display: none;
    }
    .friend_effect .frame .dd {
        width: 100%;
        margin-top: 1vw;
        padding: 1vw 0 0;
        border-left: none;
        border-top: 1px solid var(--text);
    }
    .friend_effect .frame .pic:nth-of-type(2) {
        top: 10vw;
    }

    .friend_effect .catch {
        width: 80vw;
        margin: 4vw auto 0;
    }
    
}
@media screen and (max-width: 767px){
    
    .friend_intro {
        padding: 45px 0;
    }
    .friend_intro .intro_box {
        margin: 30px 0;
        padding: 20px 4vw;
    }
    .friend_intro .intro_box .list .text {
        padding: 5px 0 5px 25px;
        background-size: 16px auto;
        background-position: top 10px left;
        font-size: min(4.25vw,18px);
    }

    /* points */

    .friend_points {
        padding: 50px 0;
    }
    .friend_points .ttl {
        margin-bottom: 30px;
        font-size: min(5.5vw,24px);
    }
    .friend_points .ul {
        display: block;
    }
    .friend_points .ul .li {
        width: min(400px,100%);
        margin: 0 auto 15px;
        height: 50px;
        font-size: min(4vw,18px);
    }
    .friend_points .ul .li::after {
        height: 50px;
    }

    /* eff */

    .friend_effect {
        padding: 50px 0;
    }
    .friend_effect .frame {
        display: block;
        margin-top: 30px;
    }
    .friend_effect .frame .conts {
        width: 100%;
    }
    .friend_effect .frame .dl > div {
        margin: 30px 0;
    }
    .friend_effect .frame .dt {
        width: 47.5%;
        font-size: min(4.5vw,18px);
    }
    .friend_effect .frame .dd {
        width: 52.5%;
        padding: 5px 0 4px 5vw;
    }
    .friend_effect .frame .dd br {
        display: none;
    }
    .friend_effect .frame .pics {
        width: 100%;
    }
    .friend_effect .frame .pic {
        position: relative;
        width: 66.66%;
    }
    .friend_effect .frame .pic:nth-of-type(2) {
        top: -10vw;
        left: 33.33%;
    }

    .friend_effect .catch {
        width: 100%;
        margin: 0px auto 0;
    }
    
}

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

.comp_intro {
    padding: 60px 0;
}
.comp_intro .m_wave {
    margin-top: 60px;
    padding: 75px 0;
}
.comp_intro .name {
    margin: 45px 0 0;
    text-align: right;
}
.comp_intro .name > div {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.comp_intro .name > div p:nth-of-type(1) {
    font-size: 19px;
    margin-right: 30px;
}
.comp_intro .name > div p:nth-of-type(2) {
    font-size: 30px;
}

.comp_info {
    padding: 90px 0 0;
}
.comp_info .dl > div {
    display: flex;
    justify-content: space-between;
}
.comp_info .dl .dt,
.comp_info .dl .dd {
    padding: 40px 0 25px 30px; 
    line-height: 2;
}
.comp_info .dl .dt {
    width: 20%;
    border-bottom: 1px solid var(--yellow);
    color: var(--yellow);
}
.comp_info .dl .dd {
    width: calc(80% - 10px);
    border-bottom: 1px solid var(--text);
}
.comp_info .dl .dd a {
    color: var(--text);
}

.googlemap {
    padding: 110px 0;
}
.googlemap iframe {
    width: 100%;
    height: 300px;
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .comp_intro {
        padding: 5vw 0;
    }
    .comp_intro .m_wave {
        margin-top: 5vw;
        padding: 6vw 0;
    }
    .comp_intro .name {
        margin: 4vw 0 0;
    }
    .comp_intro .name > div p:nth-of-type(1) {
        font-size: 1.8vw;
        margin-right: 2.5vw;
    }
    .comp_intro .name > div p:nth-of-type(2) {
        font-size: 2.5vw;
    }
    
    .comp_info {
        padding: 7.5vw 0 0;
    }
    .comp_info .dl .dt,
    .comp_info .dl .dd {
        padding: 3vw 0 2vw 2vw; 
    }
    .comp_info .dl .dd {
        width: calc(80% - 1vw);
    }

    .googlemap {
        padding: 8vw 0;
    }
    .googlemap iframe {
        height: 25vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .comp_intro {
        padding: 45px 0;
    }
    .comp_intro .m_wave {
        margin-top: 40px;
        padding: 40px 0;
    }
    .comp_intro .name {
        margin: 30px 0 0;
    }
    .comp_intro .name > div p:nth-of-type(1) {
        font-size: 16px;
        margin-right: 20px;
    }
    .comp_intro .name > div p:nth-of-type(2) {
        font-size: 22px;
    }
    
    .comp_info {
        padding: 50px 0 0;
    }
    .comp_info .dl > div {
        display: block;
    }
    .comp_info .dl .dt,
    .comp_info .dl .dd {
        line-height: 1.75;
    }
    .comp_info .dl .dt {
        padding: 20px 0 10px; 
        width: 100%;
        border-bottom: none;
    }
    .comp_info .dl .dd {
        padding: 0 0 20px;
        width: 100%;
    }
    .comp_info .dl .dd.p {
        font-size: min(3.5vw,14px);
    }

    .googlemap {
        padding: 40px 0;
    }
    .googlemap iframe {
        height: 240px;
    }

}

/*----- contact -----*/

.contact_intro {
    padding: 60px 0 45px;
}
.contact_intro .frame {
    display: flex;
    align-items: center;
}
.contact_intro .frame .conts {
    order: 2;
    width: 50%;
}
.contact_intro .frame .conts {
    padding: 30px;
    background: #fcf6e6;
    border-radius: 0 10px 10px 0;
}
.contact_intro .frame .conts .ul {
    width: fit-content;
    margin: 0 auto 30px;
}
.contact_intro .frame .conts .ul .li {
    padding: 10px 0 10px 40px;
    background: url("/system_panel/uploads/images/icon_check.png") no-repeat;
    background-position: left top 17px;
    background-size: 21px auto;
    border-bottom: 1px dotted var(--text);
    font-size: 23px;
    line-height: 1.5;
}
.contact_intro .frame .conts .ttl > div {
    display: flex;
    justify-content: center;
}
.contact_intro .frame .conts .ttl .text {
    font-size: 25px;
    line-height: 2;
}
.contact_intro .frame .pic {
    width: 50%;
}
.contact_intro .frame .pic img {
    border-radius: 10px;
    aspect-ratio: 41/30;
}

/* telfax */

.contact_telfax {
    width: 700px;
    margin: 0 auto;
    padding: 60px 0 75px;
}
.contact_telfax .telbox.fax {
    margin-top: 140px;
}
.contact_telfax .teltext {
    width: fit-content;
    margin: 30px auto 0;
    padding-left: 15px;
    text-indent: -15px;
    line-height: 2;
}
.contact_telfax .faxtext {
    width: 550px;
    margin: 20px auto 0;
    padding: 40px;
    background: #f5f4f4;
    border-radius: 10px;    
}
.contact_telfax .faxtext .ps.list {
    margin-bottom: 30px;
    font-weight: 700;
    line-height: 2.5;
}
.contact_telfax .faxtext .ps {
    line-height: 1.5;
}

.complete {
    padding: 60px 0 90px;
}

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

    .contact_intro .frame .conts .ul .li {
        background-position: left top 15px;
        font-size: 18px;
    }
    .contact_intro .frame .conts .ttl .text {
        font-size: 20px;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){

    .contact_intro {
        padding: 4.5vw 0 4vw;
    }
    .contact_intro .frame .conts {
        padding: 2.5vw 0;
    }
    .contact_intro .frame .conts .ul {
        margin: 0 auto 2vw;
    }
    .contact_intro .frame .conts .ul .li {
        padding: 1vw 0 1vw 3.3vw;
        background-position: left top 1.4vw;
        background-size: 1.8vw auto;
        font-size: 1.5vw;
    }
    .contact_intro .frame .conts .ttl .text {
        font-size: 1.6vw;
    }

    /* telfax */

    .contact_telfax {
        width: 87.5%;
        padding: 4.5vw 0 6vw;
    }
    .contact_telfax .telbox.fax {
        margin-top: 9vw;
    }
    .contact_telfax .teltext {
        margin: 3vw auto 0;
        padding-left: 1.4vw;
        text-indent: -1.4vw;
    }
    .contact_telfax .faxtext {
        width: 66.6%;
        margin: 2vw auto 0;
        padding: 3vw;
        border-radius: 1vw;    
    }
    .contact_telfax .faxtext .ps.list {
        margin-bottom: 2.5vw;
        line-height: 2.25;
    }

    .complete {
        padding: 5vw 0 7.5vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .contact_intro {
        padding: 45px 0 45px;
    }
    .contact_intro .frame {
        display: block;
    }
    .contact_intro .frame .conts {
        width: 100%;
    }
    .contact_intro .frame .conts {
        padding: 20px 5vw;
        border-radius: 10px;
    }
    .contact_intro .frame .conts .ul {
        margin: 0 auto 20px;
    }
    .contact_intro .frame .conts .ul .li {
        padding: 10px 0 10px 25px;
        background-position: left top 14px;
        background-size: 16px auto;
        font-size: min(4vw,16px);
    }
    .contact_intro .frame .conts .ttl > div {
        display: block;
    }
    .contact_intro .frame .conts .ttl .text {
        display: inline;
        font-size: 18px;
        line-height: 1.75;
    }
    .contact_intro .frame .pic {
        width: min(400px,100%);
        margin: 20px auto 0;
    }
    
    /* telfax */

    .contact_telfax {
        width: min(400px,100%);
        margin: 0 auto;
        padding: 25px 0 50px;
    }
    .contact_telfax .telbox.fax {
        margin-top: 50px;
    }

    .contact_telfax .teltext {
        margin: 20px auto 0;
        padding-left: 14px;
        text-indent: -14px;
        line-height: 1.75;
    }
    .contact_telfax .teltext br {
        display: none;
    }
    .contact_telfax .faxtext {
        width: 100%;
        margin: 20px auto 0;
        padding: 20px 5vw;
    }
    .contact_telfax .faxtext .ps.list {
        margin-bottom: 15px;
    }

    .complete {
        padding: 50px 0 60px;
    }
    
}

@media screen and (min-width: 767px){
  .brdisplaynone br, .svc_intro .frame .conts .subttl br:nth-child(2) {
    display:none;
}
  
  

}

