
#co1 .effective {
    gap: 2em 0;
}

#co1 .effective-function .lineup-type-title {
    margin: 0 0 2em;
    padding: .5em 1em;
    background-color: var(--color-blue);
    color: #fff;
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    border-radius: 3em;
}

#co1 .effective-function .effective-lead {
    margin: 1.5em 0 0;
    text-align: center;
    font-size: 1.15em;
    color: var(--color-navy);
}

#co1 .automatic-switching {
    padding: 10px .5em 2em;
    align-self: flex-start;
    border: 2px solid var(--color-blue);
    background-color: #fff;
    border-radius: 5px;
}

#co1 .automatic-switching h5 {
    padding-top: .5em;
    text-align: center;
}

#co1 .automatic-switching h5 .sml {
    display: block;
    font-size: .8em;
}

#co1 .automatic-switching .flex {
    position: relative;
}

#co1 .automatic-switching .step1 ,
#co1 .automatic-switching .step2 {
    width: 46%
}

#co1 .automatic-switching .arrow {
    width: 3em;
    height: 0;
    border-top: solid 2px var(--color-navy);
    position: absolute;
    left: 50%;
    top: 15%;
    transform: translate(-50%);
}

@media screen and (max-width:414px) {
    #co1 .automatic-switching .arrow {
        width: min(3em, 7vw);
    }
}

#co1 .automatic-switching .arrow::after {
    content: '';
    width: 1em;
    height: 0;
    border-top: solid 2px var(--color-navy);
    position: absolute;
    right: 0;
    bottom: 0;
    transform: rotate(45deg);
    transform-origin: right bottom;
}

#co1 .automatic-switching p {
    text-align: center;
    line-height: 1.5;
    font-size: .9em;
}

/*--------------- co2 ---------------*/
@media screen and (max-width:767px) {
	#main #co2 .coInner.lineup .co_hd h3 {
		text-align: left;
	}
}

.lineup h3 .name,
.lineup h4 .name {
	display: inline-block;
	background-color: #72af06;
	color: #fff;
	margin-right: 1em;
	font-size: .8em;
	line-height: 1;
	padding: .5em 1em;
	border-radius: 3px;
}

.lineup h3 .name {
	font-size: .7em;
}

/* part-wrp ----------------------------------*/
.part-wrp {
    margin-bottom: 1em;
    display: grid;
    grid-template-areas: 'meta frame' 'note frame';
    grid-template-columns: 45% 50%;
    gap: 0 5%;
}

@media screen and (max-width:767px) {
    .part-wrp {
        display: block;
    }
}

.part-wrp .meta-wrp {
    grid-area: meta;
}

.part-wrp .meta-wrp .meta h5 {
    margin: 0 0 1em;
    background-color: var(--color-blue);
    color: #fff !important;
    text-align: center;
    padding: .5em 1em !important;
    font-size: 1em !important;
    border-radius: 3em;
}

.part-wrp .meta-wrp figure {
    margin-top: 2em !important;
    margin-bottom: 1em !important;
    position: relative;
}


.part-wrp .ex-frame {
    grid-area: frame;
    margin: 0;
}

.part-wrp .ex-frame {
    border: 2px solid var(--color-blue);
    border-radius: 5px;
    padding: 10px 1em 1em;
    margin-bottom: 1em;
}

.part-wrp .ex-frame .sml {
    font-size: .85em;
    font-weight: normal;
}

.part-wrp .ex-frame h6 {
    margin-bottom: .5em;
    color: var(--color-blue);
}

.part-wrp .ex-frame p {
    font-size: .85em !important;
    margin-bottom: .5em !important;
}

.part-wrp .ex-frame .appliances {
    margin-bottom: 2em;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
}

.part-wrp .ex-frame .appliances.ex2 {
    grid-template-columns: repeat(5, 1fr);
}

@media screen and (max-width:500px) {
    .part-wrp .ex-frame .appliances {
        grid-template-columns: repeat(3, 1fr) !important;
        grid-auto-flow: row dense;
    }
}

.part-wrp .ex-frame .appliances li {
    padding: .5em;
    font-size: .74em;
    text-align: center;
    background-color: #f3f3f3;
    border-radius: 4px;
    grid-column: span 1;
}

.part-wrp .ex-frame .appliances li.w2 {
    grid-column: span 2;
}

.part-wrp .ex-frame .icon {
    width: 100%;
    height: 45px;
    text-align: center;
}

.part-wrp .ex-frame .icon img {
    height: 100% !important;
    width: auto !important;
    object-fit: contain;
}

.part-wrp .part .time {
    width: 100%;
    font-size: .9em;
}

.part-wrp .part .time tr {
    border-bottom: 1px solid #ccc;
}

.part-wrp .part .time th,
.part-wrp .part .time td {
    padding: .5em;
    text-align: center;
}

.part-wrp .part .time td .large {
    font-size: 1.4em;
}

/* pop */
.part-wrp .meta-wrp .pop {
    width: 9em;
    height: 9em;
    display: grid;
    place-items: center;
    font-size: .95em;
    background-color: #72af06;
    position: absolute;
    right: 13%;
    top: 16%;
    border-radius: 100%;
    transform: translate(50%, -50%);
}

.part-wrp .meta-wrp .pop p {
    color: #fff;
    text-align: center;
}

.part-wrp .meta-wrp .pop p .lg {
    font-size: 1.25em;
    font-weight: bold;
}

/* vtoh ----------------------------------*/
#co2 .lineup.vtoh .lineup-type-title {
    margin: 0 0 2em;
    padding: .5em 1em;
    background-color: var(--color-blue);
    color: #fff;
    text-align: center;
    font-size: 1em;
    border-radius: 3em;
}

#co2 .lineup.vtoh .lineup-type-title:not(:first-child) {
    margin-top: 3em;
}

#co2 .lineup.vtoh .lineup-type-title + p {
    margin-bottom: 0;
    color: var(--color-blue);
    font-weight: bold;
    font-size: 1.1em;
}

#co2 .lineup.vtoh .type3{
    gap: 4em 0;
}

#co2 .lineup.vtoh .arrow-box{
    position: relative;
}

@media screen and (max-width:767px) {
    #co2 .lineup.vtoh .arrow-box{
        width: 100%;
    }
}

#co2 .lineup.vtoh .arrow-box .arrow{
    border-top: solid 2px var(--color-blue);
    position: absolute;
    top: 10%;
}

#co2 .lineup.vtoh .arrow-box .arrow-left{
    width: 86px;
    right: 0;
    translate: 0 -50%;
}

#co2 .lineup.vtoh .arrow-box .arrow-right{
    width: 259px;
    left: 0;
    translate: 0 -50%;
}

@media screen and (max-width:767px) {
    #co2 .lineup.vtoh .arrow-box .arrow{
        width: 0;
        left: 70%;
        top: 50%;
        translate: 0;
        border-left: solid 2px var(--color-blue);
    }

    #co2 .lineup.vtoh .arrow-box .arrow-left{
        height: 5.4em;
        top: unset;
        bottom: 0;
    }

    #co2 .lineup.vtoh .arrow-box .arrow-right{
        height: 4.1em;
        top: 0;
    }
}

#co2 .lineup.vtoh .arrow-box .arrow-left::before,
#co2 .lineup.vtoh .arrow-box .arrow-right::before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    border-top: solid 2px var(--color-blue);
    position: absolute;
}

#co2 .lineup.vtoh .arrow-box .arrow-left::before {
    left: 1px;
    translate: 0 -55%;
    rotate: -45deg;
    border-left: solid 2px var(--color-blue);
}

#co2 .lineup.vtoh .arrow-box .arrow-right::before {
    right: 1px;
    translate: 0 -55%;
    rotate: 45deg;
    border-right: solid 2px var(--color-blue);
}

@media screen and (max-width:767px) {
    #co2 .lineup.vtoh .arrow-box .arrow-left::before {
        left: unset;
        translate: -55% 0;
        rotate: 45deg;
    }

    #co2 .lineup.vtoh .arrow-box .arrow-right::before {
        right: unset;
        bottom: 0;
        translate: -55% 0;
        rotate: 135deg;
        border-right: solid 2px var(--color-blue);
    }
}

#co2 .lineup.vtoh .arrow-box .pop{
    width: 6em;
    height: 6em;
    display: grid;
    place-items: center;
    color: var(--color-blue);
    background-color: #fff;
    border: solid 2px var(--color-blue);
    border-radius: 100%;
    line-height: 1.5;
    font-weight: bold;
    position: absolute;
    top: 10%;
    translate: -50% -50%;
}

@media screen and (max-width:767px) {
    #co2 .lineup.vtoh .arrow-box .pop{
        top: 50%;
        left: 70%;
        translate: -50% -60%;
    }
}
