@charset "utf-8";
/* -------------------------------------------
Common Style
------------------------------------------- */
/*ServiceSupport*/
#SupportOverview {
    margin-left: 0;
    padding-left: 0;
}
#SupportOverview h1 {
    display: block;
    font-weight: 700;
    writing-mode: vertical-rl;
    margin-bottom: 3.5em
}
#SupportOverview h1 span {
    font-size: 1em;
    font-weight: 700;
    margin-left: 0;
}
#SupportOverview .SupportOverview-box {
    position: relative;
    box-sizing: border-box;
    padding: 32px 32px 0;
    width: 100%;
    border-top-right-radius: 32px;
    border-bottom-right-radius: 32px;
}
#SupportOverview .SupportOverview-img01 {
    position: absolute;
    width: 60%;
    top: -0;
    right: -0%;
}
#SupportMenu {
    width: 96%;
    margin: auto;
}
#SupportMenu ul {
    display: flex;
    flex-wrap: wrap;
}
#SupportMenu ul li {
    
}
#SupportMenu ul li a {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    text-align: center;
    transform: all ease-out .3s;
    padding: 2px;
    background: #FFFFFF;
    box-sizing: border-box;
    border: solid 2px #2ca6e0;
}
#SupportMenu ul li a h2 {
    margin: 1em 0;
    font-size: 1.25rem;
}
#SupportMenu ul li img {
}

#ServiceSupport h2 {
    font-weight: 500;
}
#OverhaulOverview {
    background: #f7f7f7;
}
#OverhaulOverview header {
    position: relative;
    top: -1em;
    font-weight: 600;
    line-height: 1.2;
    display: flex;
}
#OverhaulOverview header h1 {
    display: inline-block;
	font-family: "din-2014-rounded-variable" , YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-variation-settings: "wght" 600;
}
#OverhaulOverview article {
    display: flex;
    flex-wrap: wrap;
}
#OverhaulExample {
    padding-top: 0;
    margin-top: 0;
}
#OverhaulExample h2 {
    font-size: 1.15em;
    display: inline-block;
    background: #000000;
    color: #FFFFFF;
    padding: 0.5em 1em;
    border-radius: 2em;
    position: relative;
    top: -1.5em;
}
#OverhaulExample ol h3 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    font-weight: 600;
}
#OverhaulExample ol h3 span {
    font-size: 1.5em;
}
#OverhaulExample ol .OverhaulExample-photo {
    display: flex;
    flex-wrap: wrap;
}
#OverhaulExample .OverhaulExample-photo dl {
    text-align: center;
}
#OverhaulExample .OverhaulExample-photo dl dt {
    padding: 0.25em 1.5em;
    border-style: solid;
    border-width: 1px;
    display: inline-block;
    border-radius: 2em;
    font-weight: 600;
    margin-bottom: 1em;
}
#OverhaulExample ol .OverhaulExample-photo dl.before dt {
    border-color: #000000;
    background: #FFFFFF;
    color: #222222;
}
#OverhaulExample ol .OverhaulExample-photo dl.progress dt {
    border-color: #e6e6e6;
    background: #e6e6e6;
    color: #4d4d4d;
}
#OverhaulExample ol .OverhaulExample-photo dl.after dt {
    border-color: #2ca6e0;
    background: #2ca6e0;
    color: #FFFFFF;
}
#OverhaulOverview ol.necessary {
    margin-top: 3em;
    font-size: 1.15em;
    line-height: 2;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 1.5em 3em;
    font-weight: 600;
}
#OverhaulOverview ol.necessary li {
    list-style-type: decimal;
}
#MaintenanceContact .ContentsBox {
    text-align: center;
}
#MaintenanceContact .ContentsBox:nth-of-type(2n) {
    background: #f7f7f7;
}
#MaintenanceContact .ContentsBox h2 {
    margin-bottom: 1.5em;
}
#MaintenanceContact .ContentsBox dl {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    border: solid 2px #2ca6e0;
}
#MaintenanceContact .ContentsBox dl dt {
    background: #2ca6e0;
    color: #FFFFFF;
    font-weight: 600;
}
#MaintenanceContact .ContentsBox dl dd {
	font-family: "din-2014-rounded-variable" , YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-variation-settings: "wght" 600;
    color: #2ca6e0;
}
#MaintenanceContact .ContentsBox p {
    font-weight: 500;
}
#MaintenanceContact .ContentsBox dl.contactlink {
    margin-top: 2em;
    background: #2ca6e0;
    border-radius: 42px;
}
#MaintenanceContact .ContentsBox dl.contactlink dt {
    background: none;
    color: #2ca6e0;
    padding-bottom: 0;
}
#MaintenanceContact .ContentsBox dl.contactlink dt a {
    box-sizing: border-box;
    background: #FFFFFF;
    color: #2ca6e0;
    border: solid 1px #2ca6e0;
    display: block;
    padding: 1em;
    border-radius: 2em;
    transition: all .3s;
}
#MaintenanceContact .ContentsBox dl.contactlink dt a:hover {
    background: #2ca6e0;
    border-color: #FFFFFF;
    color: #FFFFFF;
}
#MaintenanceContact .ContentsBox dl.contactlink dd {
    color: #FFFFFF;
    font-weight: 500;
}

/* -------------------------------------------
MediaQuery
------------------------------------------- */
/*SmartPhone*/
@media screen and (max-width:450px) {

}

@media screen and (max-width:767px) {
    .sp_elm { display: block; }
    .pc_elm { display: none; }
    /*ServiceSupport*/
    #ServiceSupport section {
        margin-bottom: 48px;
    }
    section#SupportOverview {
        margin-bottom: 0!important;
    }
    #SupportMenu {
        width: 96%;
        margin: auto;
    }
    #SupportMenu ul {
        flex-direction: column;
    }
    #SupportMenu ul li {
        margin-bottom: 24px;
    }
    #SupportMenu ul li a {
        flex-direction: row-reverse;
        justify-content: space-between;
        border-radius: 4px;
    }
    #SupportMenu ul li a h2 {
        font-size: 1rem;
        width: 100%;
    }
    #SupportMenu ul li figure {
        width: 100%;
    }
    #SupportMenu ul li figure img {
        border-top-left-radius: 2px;
        border-bottom-left-radius: 2px;
        aspect-ratio: 16 / 5;
        object-fit: cover;
        width: 100%;
    }
    #OverhaulOverview {
        margin-top: 64px;
        padding-bottom: 96px;
        margin-bottom: 0!important;
    }
    #OverhaulOverview header {
        left: 7.5%;
        flex-direction: column-reverse;
        justify-content: center;
    }
    #OverhaulOverview header h1 {
        font-size: 1.5em;
    }
    #OverhaulOverview article {
        margin-left: 7.5%;
        margin-right: 7.5%;
        flex-direction: column-reverse;
    }
    #OverhaulOverview article h2 {
        margin-top: 48px;
        margin-bottom: 1.5em;
        font-size: 1.2em;
        font-weight: 700;
    }
    #OverhaulExample h2 {
        left: 50%;
        top: -1.5em;
        transform: translateX(-50%);
        margin-bottom: 1.5em;
    }
    #OverhaulExample ol {
        margin-left: 2%;
        margin-right: 2%;
    }
    #OverhaulExample ol li {
        margin-bottom: 3em;
    }
    #OverhaulExample h3 {
        margin-bottom: 1em;
    }
    #OverhaulExample .OverhaulExample-photo {
        justify-content: space-between;
    }
    #OverhaulExample .OverhaulExample-photo dl {
        width: 47%;
    }
    #OverhaulExample .OverhaulExample-photo dl dd img {
        margin-bottom: 1.15em;
    }
    #MaintenanceContact .ContentsBox {
        padding: 64px 7.5%;
    }
    #MaintenanceContact .ContentsBox dl {
        flex-direction: column;
        margin-bottom: 1.5em;
    }
    #MaintenanceContact .ContentsBox dl dt {
        font-size: 1.2em;
        line-height: 1.2;
        padding: 1em;
    }
    #MaintenanceContact .ContentsBox dl dd {
        font-size: 2.5em;
    }
    #MaintenanceContact .ContentsBox dl dd.mailaddress {
        font-size: 1.5em;
        padding: 1em 0;
    }
    #MaintenanceContact .ContentsBox dl.contactlink {
        padding: 0 0.5em 1.5em;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dt {
        font-size: 1.5em;
        margin-bottom: 1em;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dd {
        font-size: 1.5em;
    }
}

@media screen and (min-width:768px) and (max-width:1024px) {
    #SupportOverview {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0;
        align-items: flex-start;
        margin-bottom: 0!important;
    }
    #SupportOverview h1 {
        writing-mode: horizontal-tb;
        margin-top: 2em;
        margin-bottom: 2em
    }
    #SupportOverview .SupportOverview-box {
        box-sizing: border-box;
        padding: 48px 0 64px 48px;
        width: 53%;
    }
    #SupportOverview .SupportOverview-img01 {
        position: relative;
        width: 40%;
        top: 100px;
    }
    #SupportMenu {
        width: 96%;
        margin: auto;
    }
    #SupportMenu ul {
        justify-content: space-between;
    }
    #SupportMenu ul li {
        width: 48%;
        margin-bottom: 4%;
    }
    #SupportMenu ul li:nth-last-of-type(1) {
        width: 100%;
        margin: 0;
    }
    #SupportMenu ul li a {
        border-radius: 10px;
    }
    #SupportMenu ul li a h2 {
        margin: 1em 0;
        font-size: 1.15rem;
    }
    #SupportMenu ul li img {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        width: 100%;
        height: 132px;
        object-fit: cover;
    }
    
}

/*Tablet*/
@media screen and (max-width:1024px) {
    /*ServiceSupport*/
    #ServiceSupport section {
        margin-bottom: 48px;
    }
    #OverhaulOverview {
        margin-top: 64px;
        padding-bottom: 96px;
        margin-bottom: 0!important;
    }
    #OverhaulOverview header {
        left: 7.5%;
        flex-direction: column-reverse;
        justify-content: center;
        display: inline-flex;
    }
    #OverhaulOverview header h1 {
        font-size: 1.5em;
    }
    #OverhaulOverview article {
        margin-left: 7.5%;
        margin-right: 7.5%;
        flex-direction: column-reverse;
    }
    #OverhaulOverview article h2 {
        margin-top: 48px;
        margin-bottom: 1.5em;
        font-size: 1.2em;
        font-weight: 700;
    }
    #OverhaulExample h2 {
        left: 50%;
        top: -1.5em;
        transform: translateX(-50%);
        margin-bottom: 1.5em;
    }
    #OverhaulExample ol {
        margin-left: 2%;
        margin-right: 2%;
    }
    #OverhaulExample ol li {
        margin-bottom: 3em;
    }
    #OverhaulExample h3 {
        margin-bottom: 1em;
    }
    #OverhaulExample ol .OverhaulExample-photo dl.progress {
        display: none;
    }
    #OverhaulExample .OverhaulExample-photo {
        justify-content: space-between;
    }
    #OverhaulExample .OverhaulExample-photo dl {
        width: 47%;
    }
    #OverhaulExample .OverhaulExample-photo dl dd img {
        margin-bottom: 2em;
    }
    #MaintenanceContact .ContentsBox {
        padding: 64px 7.5%;
    }
    #MaintenanceContact .ContentsBox dl {
        flex-direction: column;
        margin-bottom: 1.5em;
        background: #2ca6e0;
        align-items: center;
    }
    #MaintenanceContact .ContentsBox dl dt {
        box-sizing: border-box;
        width: 100%;
        font-size: 1.2em;
        line-height: 1.2;
        padding: 1em;
    }
    #MaintenanceContact .ContentsBox dl dd {
        box-sizing: border-box;
        width: 100%;
        font-size: 2.5em;
        background: #FFFFFF;
        text-align: center;
    }
    #MaintenanceContact .ContentsBox dl dd.mailaddress {
        font-size: 5.5vw;
        padding: 1em 0;
    }
    #MaintenanceContact .ContentsBox dl.contactlink {
        padding: 0.5em;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dt {
        font-size: 1.5em;
        margin-bottom: 0;
        width: 100%;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dd {
        font-size: 1.5em;
        background: none;
        width: 100%;
        margin: 1em 0
    }
}

/*Desktop*/
@media screen and (min-width:768px) {
    .sp_elm { display: none; }
    .pc_elm { display: block; }
}

@media screen and (min-width:1025px) {
    /*ServiceSupport*/
    #ServiceSupport section {
        margin-bottom: 96px;
    }
    
    #SupportOverview {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0;
        margin-bottom: 0;
        align-items: center;
    }
    #SupportOverview h1 {
        font-size: 3em;
        writing-mode: horizontal-tb;
        margin-top: 1em;
        margin-bottom: 1em;
    }
    #SupportOverview .SupportOverview-box {
        box-sizing: border-box;
        padding: 0 5%;
        width: 60%;
    }
    #SupportOverview .SupportOverview-img01 {
        position: relative;
        width: 35%;
        top: 0;
        left: 0;
        max-height: 720px;
    }
    #SupportOverview .SupportOverview-img01 img {
        width: 100%;
        max-height: 720px;
        object-fit: cover;
        border-top-left-radius: 32px;
        border-bottom-left-radius: 32px;
    }
    
    #SupportMenu {
        width: 90%;
        margin: 0 0 0 5%;
        max-width: 1280px;
    } 
    #SupportMenu ul {
        justify-content: space-between;
    }
    #SupportMenu ul li {
        width: 48%;
        margin-bottom: 4%;
    }
    #SupportMenu ul li:nth-last-of-type(1) {
        width: 100%;
        margin: 0;
    }
    #SupportMenu ul li a {
        border-radius: 10px;
    }
    #SupportMenu ul li a h2 {
        margin: 1em 0;
        font-size: 1.15rem;
    }
    #SupportMenu ul li img {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        width: 100%;
        height: 132px;
        object-fit: cover;
    }
    
    #OverhaulOverview {
        margin-top: 0;
        margin-bottom: 0!important;
        padding-bottom: 0;
    }
    #OverhaulOverview header {
        margin-left: 7.5%;
    }
    #OverhaulOverview header h1 {
        font-size: 1.5em;
    }
    #OverhaulOverview article {
        margin-left: 7.5%;
        margin-right: 7.5%;
        flex-direction: row;
        justify-content: space-between;
    }
    #OverhaulOverview article .ContentsBox {
        width: 39%;
    }
    #OverhaulOverview article figure {
        width: 52%;
        position: relative;
        top: -5vw;
        text-align: center;
    }
    #OverhaulOverview article figure img {
        width: 100%;
        max-width: 640px;
    }
    #OverhaulOverview article h2 {
        margin-top: 48px;
        margin-bottom: 1.5em;
        font-size: 1.2em;
        font-weight: 700;
    }
    #OverhaulExample h2 {
        left: 7.5%;
        top: -1.5em;
        margin-bottom: 1.5em;
    }
    #OverhaulExample article {
        margin-left: 7.5%;
        margin-right: 7.5%;
    }
    #OverhaulExample ol {
        margin-left: 0%;
        margin-right: 0%;
    }
    #OverhaulExample ol li {
        margin-bottom: 3em;
    }
    #OverhaulExample h3 {
        margin-bottom: 1em;
    }
    #OverhaulExample .OverhaulExample-photo {
        justify-content: space-between;
    }
    /*#OverhaulExample ol li:nth-of-type(1) dl {
        width: 30%;
    }*/
    #OverhaulExample ol li .OverhaulExample-photo {
        margin-left: 7.5%;
        margin-right: 7.5%;
    }
    #OverhaulExample .OverhaulExample-photo dl {
        width: 47%;
    }
    #OverhaulExample .OverhaulExample-photo dl dd img {
        margin-bottom: 4vw;
    }
    #OverhaulOverview ol.necessary {
       margin-bottom: 3em;
    }
    #MaintenanceContact .ContentsBox {
        padding: 96px 7.5%;
    }
    #MaintenanceContact .ContentsBox dl {
        flex-direction: row;
        margin-bottom: 1.5em;
        background: #2ca6e0;
        align-items: center;
    }
    #MaintenanceContact .ContentsBox dl dt {
        box-sizing: border-box;
        width: 47%;
        font-size: 1.5em;
        line-height: 1.2;
        padding: 0 1em;
    }
    #MaintenanceContact .ContentsBox dl dd {
        box-sizing: border-box;
        width: 53%;
        font-size: 3em;
        background: #FFFFFF;
        text-align: center;
    }
    #MaintenanceContact .ContentsBox dl dd.mailaddress {
        font-size: 2em;
        padding: 0.5em 0;
    }
    #MaintenanceContact .ContentsBox dl.contactlink {
        padding: 0.5em;
        border-radius: 3em;
        flex-direction: row-reverse;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dt {
        font-size: 1.5em;
        margin-bottom: 0;
        width: 55%;
        padding: 0;
    }
    #MaintenanceContact .ContentsBox dl.contactlink dd {
        font-size: 1.5em;
        background: none;
        width: 45%;
    }

}

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

}

