@charset "UTF-8";

body {
    background-color: #fff;
}

/* english start */
.text-en {display: none;}
/* english end */

#box-lower-h201 {
    padding: 12px 0 0 0;
    background-color: #21a9ac;
    background-image: url(/common/img/bg-ft01.png);
    background-size: 16px;
}

#breadcrumb {
    overflow: hidden;
    margin-bottom: 12px;
}

    #breadcrumb li {
        float: left;
    }

        #breadcrumb li,
        #breadcrumb li a {
            color: #fff;
        }

.h2-lower01 {
    padding-bottom: 12px;
    color: #fff;
    font-size: 354%;
    font-weight: 600;
    text-shadow: 0 4px 12px rgba(0,0,0,0.75);
    border-bottom: 8px solid #3fbfc1;
}

#lower-contents {
    background-color: #fff;
}

#lower-contents [class^="text"] {
    font-size: 124%;
    line-height: 1.8;
}

    #lower-contents [class^="text"] p {
        margin-top: 1.5rem;
    }

.h3-lower01 {
    border: 1px solid #d2d2d2;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

    .h3-lower01-inner {
        overflow: hidden;
        background: #d6d6d6;
        background: -moz-linear-gradient(top,  #d6d6d6 0%, #ffffff 100%);
        background: -webkit-linear-gradient(top,  #d6d6d6 0%,#ffffff 100%);
        background: linear-gradient(to bottom,  #d6d6d6 0%,#ffffff 100%);
        box-shadow: inset 0 0 2px rgba(255,255,255,1.0);
    }

        .h3-basic01 {
            margin: 2px 1px;
            border-bottom: 4px solid #21a9ac;
        }

            .h3-basic01 span {
                display: inline-block;
                padding: 12px 12px 6px;
                font-size: 214%;
                font-weight: 600;
                line-height: 1;
                text-shadow: 0 -1px 2px rgba(255,255,255,0.8);
            }

.h4-lower01 {
    position: relative;
    margin-top: 2rem;
    padding-left: 12px;
    font-size: 154%;
    font-weight: bold;
}
    .h4-lower01:before {
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: 6px;
        height: 4px;
        margin-top: -2px;
        content: "-";
        background-color: #21a9ac;
        text-indent: -10000px;
    }


.h4-lower02 {
    margin-top: 2rem;
    padding-bottom: 6px;
    border-bottom: 4px solid #d2d2d2;
}

.h4-lower02 span {
    display: block;
    position: relative;
    padding-left: 18px;
    font-size: 185%;
    font-weight: bold;
}
    .h4-lower02 span strong {color: #21a9ac;}

    .h4-lower02 span:before {
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: 12px;
        height: 4px;
        margin-top: -2px;
        content: "-";
        background-color: #21a9ac;
        text-indent: -10000px;
    }



#box-lower01 {
    position: relative;
    z-index: 10;
    margin-bottom: -80px;
    color: #fff;
    background-color: rgba(0,0,0,0.7);
    box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}

    #box-lower01 .lead01 {
        padding: 30px 60px;
    }

        #box-lower01 .lead01 p {
            font-size: 200%;
            font-weight: 600;
        }

    #box-lower01 .anchor-nav01 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        padding: 20px;
    }

        #box-lower01 .anchor-nav01 li {
            width: 32%;
        }

            #box-lower01 .anchor-nav01 li a {
                overflow: hidden;
                position: relative;
                display: block;
                padding: 10px;
                color: #00f5d2;
                text-decoration: none;
                font-size: 169%;
                font-weight: 600;
                line-height: 1;
                border: 2px solid;
                text-align: center;
            }

                #box-lower01 .anchor-nav01 li a span {
                    position: relative;
                    z-index: 10;
                    display: inline-block;
                    color: #00f5d2;
                    transition: all 0.3s linear;
                }

                #box-lower01 .anchor-nav01 li a:after {
                    content: "";
                    opacity: 0.5;
                    width: 200%;
                    height: 600%;
                    background-color: #3fbfc1;
                    position: absolute;
                    z-index: 1;
                    bottom: 100%;
                    right: 100%;
                    border-radius: 50%;
                    transition: all 0.3s linear;
                }

                #box-lower01 .anchor-nav01 li:hover a:after {
                    opacity: 1.0;
                    bottom: -50%;
                    right: -50%;
                }

                #box-lower01 .anchor-nav01 li:hover a span {
                    color: #fff;
                }


#lower-contents .article {
    padding-top: 128px;
}

    #lower-contents .article:first-child {
        padding-top: 48px;
    }

    body.layout-b #lower-contents .article:first-child {
        padding-top: 128px;
    }

        .lower-inner-section01 {
            margin-top: 1.5rem;
        }


.box-layout-type01,
.box-layout-type02 {
    overflow: hidden;
}

    .box-layout-type01 .img {
        float: left;
        margin-right: 20px;
    }

        .box-layout-type01 .img img,
        .box-layout-type02 .img img {
            margin-bottom: 20px;
        }

    .box-layout-type01 .description,
    .box-layout-type02 .description {
        overflow: hidden;
    }

    .box-layout-type01 .description .text-en {margin-top: 2rem;}
    .box-layout-type02 .description .text-en {margin-top: 1rem;}

    .box-layout-type01 .description [class^="text"] p:first-child,
    .box-layout-type02 .description [class^="text"] p:first-child {
        margin-top: 0 !important;
    }

.box-layout-type02 {
    padding: 20px;
    background-color: #eceff1;
    box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}

    .box-layout-type02 .img {
        float: right;
        margin-left: 20px;
    }

.box-layout-type02-inner {
    overflow: hidden;
}

.box-layout-type03 {}

    .box-layout-type03 .img {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }

.h5-lower01 {
    margin-bottom: 1rem;
    padding-left: 32px;
    font-size: 154%;
    font-weight: 600;
    background-image: url(/common/img/icon-logo02.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    line-height: 1;
}

.lower-btn-item01 {
    margin-top: 48px;
}

    .lower-btn-item01 ul {
        display: flex;
        align-items: center;
        flex-direction: row;
    }

        .lower-btn-item01 ul li {
            width: 180px;
        }

    .lower-btn-item01 ul.desc {
        justify-content: flex-start;
        padding-bottom: 20px;
        border-bottom: 4px solid #d2d2d2;
    }
    .lower-btn-item01 ul.ext  {
        justify-content: flex-end;
        margin-top: 20px;
    }

        .lower-btn-item01 ul.desc li {
            margin-right: 20px;
        }
        .lower-btn-item01 ul.ext li {
            margin-left: 20px;
        }

            .lower-btn-item01 ul li .btn {
                display: block;
                padding: 4px 0;
                border: 2px solid;
                line-height: 1;
                text-decoration: none;
                text-align: center;
                transition: all 0.3s linear;
            }

.lower-btn-item01 ul li .btn br {display: none;}

            .lower-btn-item01 ul.desc li .btn {
                color: #0056b8;
                border: 2px solid #0056b8;
            }

            .lower-btn-item01 ul.desc li .btn:hover {
                color: #fff;
                background-color: #0056b8;
            }

            .lower-btn-item01 ul.ext li .btn {
                color: #ac2421;
                border: 2px solid #ac2421;
            }

            .lower-btn-item01 ul.ext li .btn:hover {
                color: #fff;
                background-color: #ac2421;
            }


.dl-circled-number01 {
    overflow: hidden;
}

    .dl-circled-number01 dt,
    .dl-circled-number01 dd {
        margin-top: 0.75em;
    }

    .dl-circled-number01 dt:first-child,
    .dl-circled-number01 dt:first-child + dd {
        margin-top: 0;
    }

    .dl-circled-number01 dt {
        float: left;
        clear: both;
    }

        .dl-circled-number01 dd {
            margin-left: 1.5em;
        }


.dl-basic00 {}

    .dl-basic00 dt {
        font-weight: 600;
    }

    .dl-basic00 dd {}

.dl-basic01 {
    overflow: hidden;
}

    .dl-basic01 dt {
        float: left;
        clear: both;
    }

    .dl-basic01 dd {
        margin-left: 1em;
    }

.box-colored01 {
    padding: 20px;
    text-align: center;
    color: #fff;
    font-size: 124%;
    background-color: #21A9AC;
}

.box-colored01 a {
    color: #fff;
}