@charset "UTF-8";

/*--------------------------------------------------------------*/
/* CSS and Graphics are released under Creative Commons Licence */
/* https://www.webplus.jp/                                      */
/* Copyright (C) Kiyonobu Horita @ WEBPLUS Inc.                 */
/*--------------------------------------------------------------*/


/* ========================================================

　医療従事者の皆さま / 医療従事者の皆さま

=========================================================== */

#dentist .blk01 > div[class^="col-"] {
    background: url("../images/dentist/deco_right.png") right bottom / cover no-repeat;
}

#dentist .blk01 .row div[class^="col-"]:last-of-type {
    text-align: center;
}

#dentist .blk01 img {
    width: 100%;
    max-width: 24.0rem !important;
    height: auto;
}

#dentist .blk02 > div[class^="col-"] {
    background: url("../images/dentist/deco_left.png") left top / cover no-repeat;
}

#dentist h3 {
    margin-bottom: 2.0rem;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 3.0rem;
}

#dentist h3 em {
    color: rgba(245, 130, 40, 1.00);
    font-style: normal;
}

/* ボタン */
#dentist .button {
    margin: 1.0rem 0;
}

#dentist .btn {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 1.0rem 0;
}

#dentist div[class^="col-"] .img-max {
    width: 100%;
    max-width: 28.0rem;
}

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

    #dentist .btn {
        padding: 1.0rem 0.5rem;
    }

}

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

    #dentist .btn {
        max-width: 34.0rem; /* 最大幅 */
    }

}

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

    /* 左右余白をカット */
    #dentist .blk div[class^="col-"]:nth-of-type(2) {
        padding-left: 0;
        padding-right: 0;
    }

    #dentist h3 {
        font-size: 2.4rem;
        line-height: 3.4rem;
    }

    #dentist .button {
        margin-top: 5.0rem;
    }

}

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

    #dentist .btn {
        max-width: 50.0rem;
    }

}

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

    #dentist h3 {
        font-size: 3.0rem;
        line-height: 4.0rem;
    }

}

/* IEハック */
@media all and (-ms-high-contrast: none) {

    #dentist h3 {
        background-color: rgba(245, 245, 245, 1.00);
        line-height: 4.6rem;
    }

}


/* ========================================================

　バイオホライズンズを選ぶ理由 / 医療従事者の皆さま

=========================================================== */

/* .blk内の各ブロックの余白 */
#recommended .blk > div[class^="col-"] > .row:nth-of-type(n+2) {
    padding-top: 2.0rem;
}

/* サブタイトル */
#recommended h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 4.6rem;
    margin-bottom: 1.0rem;
    padding: 1.0rem 2.0rem 1.0rem 5.0rem;
    border-radius: 4.6rem;
    border-bottom: 0.1rem solid rgba(230, 230, 230, 1.00);
    background: -webkit-linear-gradient(left, rgba(240, 240, 240, 1.00) 0%, rgba(240, 240, 240, 0.25) 25%, rgba(240, 240, 240, 1.00) 70%, rgba(230, 230, 230, 1.00) 100%);
    color: rgba(245, 130, 40, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
}

#recommended h3::before {
    display: inline-block;
    position: absolute;
    left: 0.3rem;
    width: 4.0rem;
    height: 4.0rem;
    padding-left: 0.2rem;
    border: 0.3rem solid rgba(255, 255, 255, 1.00);
    border-radius: 50%;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f328";
    text-align: center;
    line-height: 3.3rem;
}

/* ボタン */
#recommended .button {
    margin: 1.0rem 0 2.0rem;
}

#recommended div[class^="col-"] .img-max {
    width: 100%;
    max-width: 28.0rem;
}

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

    /* タイトル部分の左右の余白を狭く */
    #recommended h3 {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    #recommended .btn {
        max-width: 34.0rem; /* 最大幅 */
    }

}

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

    /* 左右余白をカット */
    #recommended .blk div[class^="col-"]:nth-of-type(2) {
        padding-left: 0;
        padding-right: 0;
    }

}

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

    #recommended .btn {
        max-width: 50.0rem;
    }

}

/* IEハック */
@media all and (-ms-high-contrast: none) {

    #recommended h3 {
        background-color: rgba(245, 245, 245, 1.00);
        line-height: 4.6rem;
    }

}


/* ========================================================

　Laser-Lokテクノロジー / 医療従事者の皆さま

=========================================================== */

/* .blk内の各ブロックの余白 */
#laserlok .blk > div[class^="col-"] > .row:nth-of-type(n+2) {
    padding-top: 2.0rem;
}

/* サブタイトル */
#laserlok div[class^="container"] h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 4.6rem;
    margin-bottom: 2.0rem;
    padding: 1.0rem 2.0rem 1.0rem 5.0rem;
    border-radius: 4.6rem;
    border-bottom: 0.1rem solid rgba(230, 230, 230, 1.00);
    background: -webkit-linear-gradient(left, rgba(240, 240, 240, 1.00) 0%, rgba(240, 240, 240, 0.25) 25%, rgba(240, 240, 240, 1.00) 70%, rgba(230, 230, 230, 1.00) 100%);
    color: rgba(245, 130, 40, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
}

#laserlok div[class^="container"] h3::before {
    display: inline-block;
    position: absolute;
    left: 0.3rem;
    width: 4.0rem;
    height: 4.0rem;
    padding-left: 0.2rem;
    border: 0.3rem solid rgba(255, 255, 255, 1.00);
    border-radius: 50%;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f328";
    text-align: center;
    line-height: 3.3rem;
}

#laserlok .blk .row div[class^="col-"]:nth-of-type(2) {
    text-align: center;
}

#laserlok .blk01 a img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#laserlok .blk01 a p {
    color: rgba(68, 68, 68, 1.00);
    text-align: center;
}

/* 表組み */
#laserlok table {
    width: auto;
    margin-top: 5.0rem;
    white-space: nowrap;
}

#laserlok th,
#laserlok td {
    padding: 0.5rem 2.0rem;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
}

#laserlok th {
    background-color: rgba(240, 240, 225, 0.70); /* ヘッダー背景色 */
}

#laserlok td {
    font-weight: 300;
}

#laserlok tr:nth-of-type(4) td {
    padding: 2.0rem;
    background-color: rgba(245, 130, 40, 0.10);
    font-size: 1.8rem;
    font-weight: 500;
}

/* キャプション（※スワイプしてご覧ください　部分） */
#laserlok .table-responsive caption {
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.2rem;
}

/* ボタン */
#laserlok .button {
    margin: 1.0rem 0;
}

#laserlok .btn {
    display: block;
    width: 100%;
    max-width: 42.0rem;
    padding: 1.0rem 0.5rem;
}

#laserlok .blk img {
    max-width: 26.0rem;
}

/* 下部バナー */
.laserlok #banner {
    margin-top: 5.0rem;
    /* 左右の余白をカットしてフル表示 */
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    /* 背景２枚 */
    background: url("../images/laserlok/banner_img.png") left top / contain no-repeat,
        url("../images/laserlok/banner_bg.png") right top / cover no-repeat;
    text-align: center;
}

.laserlok #banner a {
    display: block;
    width: 100%;
    max-width: 50.0rem;
    margin: 0 auto;
    padding: 1.0rem 0.5rem;
}

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

    /* タイトル部分の左右の余白を狭く */
    #laserlok div[class^="container"] h3 {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    #laserlok .btn:not(.btn04) {
        max-width: 34.0rem; /* 最大幅 */
    }

}

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

    /* 左右余白をカット */
    #laserlok .blk div[class^="col-"]:nth-of-type(2) {
        padding-left: 0;
        padding-right: 0;
    }

}

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



    #laserlok th,
    #laserlok td {
        padding: 1.0rem 2.0rem;
    }

}

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

    #laserlok table {
        width: 100%;
        white-space: nowrap;
    }

    #laserlok .table-responsive caption {
        display: none;
    }

}

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

    #laserlok .btn:not(.btn04) {
        max-width: 50.0rem;
    }

}

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

    #laserlok .btn04 {
        max-width: 54.0rem;
    }

    .laserlok #banner {
        background: url("../images/laserlok/banner_img.png") left 10% top / contain no-repeat,
            url("../images/laserlok/banner_bg.png") right top / cover no-repeat;
    }

}

/* IEハック */
@media all and (-ms-high-contrast: none) {

    #laserlok div[class^="container"] h3 {
        background-color: rgba(245, 245, 245, 1.00);
        line-height: 4.6rem;
    }

}


/* ========================================================

　スパイラロックシステム / 医療従事者の皆さま

=========================================================== */

/* サブタイトル */
#spiralock div[class^="container"] h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 4.6rem;
    margin-bottom: 1.0rem;
    padding: 1.0rem 2.0rem 1.0rem 5.0rem;
    border-radius: 4.6rem;
    border-bottom: 0.1rem solid rgba(230, 230, 230, 1.00);
    background: -webkit-linear-gradient(left, rgba(240, 240, 240, 1.00) 0%, rgba(240, 240, 240, 0.25) 25%, rgba(240, 240, 240, 1.00) 70%, rgba(230, 230, 230, 1.00) 100%);
    color: rgba(245, 130, 40, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
}

#spiralock div[class^="container"] .blk02 .row div[class^="col-"]:first-of-type h3 {
    color: rgba(68, 68, 68, 1.00);
}

#spiralock div[class^="container"] h3::before {
    display: inline-block;
    position: absolute;
    left: 0.3rem;
    width: 4.0rem;
    height: 4.0rem;
    padding-left: 0.2rem;
    border: 0.3rem solid rgba(255, 255, 255, 1.00);
    border-radius: 50%;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f328";
    text-align: center;
    line-height: 3.3rem;
}

#spiralock div[class^="container"] .blk02 .row div[class^="col-"]:first-of-type h3::before {
    background-color: rgba(68, 68, 68, 0.70);
}

#spiralock .blk02 .row > p {
    margin-top: 3.0rem;
}

#spiralock .blk02 .notes {
    width: 100%;
    margin-top: 2.0rem;
    padding: 0.5rem 1.0rem;
}

#spiralock .blk02 ul {
    margin: 0 auto;
}

#spiralock .blk02 h5 {
    margin-bottom: 1.5rem;
    color: rgba(245, 130, 40, 1.00);
    font-size: 1.6rem;
    text-align: center;
}

#spiralock .blk02 div[class^="col-"]:nth-of-type(3) {
    padding-top: 1.0rem;
    padding-bottom: 1.0rem;
}

#spiralock .blk02 h4 {
    margin-bottom: 0.5rem;
    color: rgba(245, 130, 40, 1.00);
}

#spiralock .blk02 a {
    position: relative;
}

#spiralock .blk02 a i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    color: rgba(255, 0, 0, 1.00);
    font-size: 5.0rem;
    z-index: 10;
    -webkit-transition: color 0.3s ease-in-out;
    -o-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
}

#spiralock .blk02 a:hover i {
    color: rgba(255, 255, 255, 1.00);
}

#spiralock .blk02 a img {
    width: 100%;
    max-width: 30.0rem;
    height: auto;
}

#spiralock .blk03 div[class^="col-"] {
    text-align: center;
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(2) {
    margin-top: 2.0rem;
}

#spiralock .blk03 div[class^="col-"] div {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 36.0rem;
    margin-top: 3.0rem;
    padding: 0.5rem 3.0rem;
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(1) div {
    background-color: rgba(240, 240, 240, 1.00);
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(2) div {
    background-color: rgba(250, 126, 36, 0.10);
}

#spiralock .blk03 div[class^="col-"] div::after {
    position: absolute;
    top: -2.0rem;
    left: 0;
    right: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-width: 0 2.0rem 2.0rem 2.0rem;
    content: "";
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(1) div::after {
    border-color: transparent transparent rgba(240, 240, 240, 1.00) transparent; /* top,right,bottom,left */
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(2) div::after {
    border-color: transparent transparent rgba(250, 126, 36, 0.10) transparent; /* top,right,bottom,left */
}

#spiralock .blk03 h4 {
    margin-bottom: 1.0rem;
    font-size: 1.6rem;
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(1) h4 {
    color: rgba(68, 68, 68, 1.00);
}

#spiralock .blk03 div[class^="col-"]:nth-of-type(2) h4 {
    color: rgba(245, 130, 40, 1.00);
}

#spiralock div[class^="col-"] .img-max {
    width: 100%;
    max-width: 28.0rem;
}

#spiralock .blk03 img {
    margin: 0 auto;
}

#spiralock .blk03 .img-fluid {
    width: 100%;
    max-width: 24.0rem !important;
}

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

    /* タイトル部分の左右の余白を狭く */
    #spiralock div[class^="container"] h3 {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

}

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

    /* 左右余白をカット（.blk02、.blk03を除く） */
    #spiralock .blk:not(.blk02):not(.blk03) div[class^="col-"]:nth-of-type(2) {
        padding-left: 0;
        padding-right: 0;
    }

    #spiralock .blk02 .notes {
        padding: 1.0rem;
    }

    #spiralock .blk02 ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #spiralock .blk02 li {
        float: left;
        margin-right: 5.0rem;
        line-height: 2.4rem;
    }

    #spiralock .blk03 div[class^="col-"]:nth-of-type(2) {
        margin-top: 0;
    }

}

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

    #spiralock .blk02 li {
        margin-right: 10.0rem;
    }

}

/* IEハック */
@media all and (-ms-high-contrast: none) {

    #spiralock div[class^="container"] h3 {
        background-color: rgba(245, 245, 245, 1.00);
        line-height: 4.6rem;
    }

}


/* ========================================================

　インプラント治療をご検討の方へ / 患者さま・一般の皆さま

=========================================================== */

.considering .p-brand img {
    width: 100%;
    max-width: 30.0rem;
    height: auto;
}

/* インプラント治療とは */
#considering .row .row:nth-of-type(n+2) {
    margin-top: 2.0rem;
}

#considering .mid-heading {
    margin-bottom: 1.0rem;
}

#considering img {
    margin-top: 1.0rem;
    max-width: 30.0rem;
}

/* 治療についてのご相談は、お近くの歯科医院へ */
.considering #mainContents > div {
    margin: 1.0rem -1.5rem 0;
    padding: 1.0rem;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.8rem;
    text-align: center;
}

/* インプラント治療のポイント */
.considering #point div[class^="col-"] {
    margin-bottom: 4.0rem;
}

.considering #point div[class^="col-"]:last-of-type {
    margin-bottom: 0;
}

.considering #point h3 {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 3.0rem;
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
}

.considering #point h3 span {
    position: absolute;
    top: -0.75rem;
    left: -2.0rem;
    width: 4.0rem;
    height: 4.0rem;
    border-radius: 50%;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-size: 3.0rem;
    font-weight: 500;
    text-align: center;
    line-height: 4.0rem;
}

.considering #point a {
    position: relative;
}

.considering #point a i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    color: rgba(255, 0, 0, 1.00);
    font-size: 5.0rem;
    z-index: 10;
    -webkit-transition: color 0.3s ease-in-out;
    -o-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
}

.considering #point a:hover i {
    color: rgba(255, 255, 255, 1.00);
}

.considering #point a img {
    width: 100%;
    max-width: 30.0rem;
    height: auto;
}

.considering #point .button {
    width: 100%;
}

.considering #point .btn {
    width: 100%;
    max-width: 38.0rem;
    margin: 0 auto;
}

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

    #considering img {
        margin-top: 0;
    }

}

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

    .considering #point .btn {
        margin-left: 0;
    }

}


/* ========================================================

　CAD／CAM

=========================================================== */

#outsourcing {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

#outsourcing .heading {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

#outsourcing .intro {
    padding: 1.0rem;
    background-color: rgba(233, 229, 226, 1.00);
}

#outsourcing .intro h2 {
    margin-bottom: 1.0rem;
    font-size: 2.2rem;
    font-weight: 700;
}

#outsourcing .intro h3 {
    font-size: 1.8rem;
    font-weight: 500;
}

#outsourcing .intro h3 span {
    color: rgba(245, 145, 35, 1.00);
    font-weight: 700;
}

#outsourcing .intro dl,
#outsourcing .intro dd {
    margin-bottom: 0;
}

#outsourcing .intro dt {
    margin-top: 1.0rem;
    font-weight: 700;
}

#outsourcing .intro dt::before {
    content: "●";
    color: rgba(245, 130, 40, 1.00);
}

#outsourcing .intro dd {
    margin-left: 1.4rem;
}

#outsourcing .intro dd:nth-of-type(1) {
    font-weight: 500;
}

#outsourcing .intro dd div {
    margin: 0.5rem 0 0.25rem 0;
    color: rgba(245, 145, 35, 1.00);
    font-size: 2.6rem;
    font-weight: 500;
}

#outsourcing .intro dd div a {
    color: rgba(245, 145, 35, 1.00);
}

#outsourcing .intro dd img {
    max-width: 5.0rem;
    height: auto;
}

#outsourcing .intro > div:nth-of-type(1) p {
    margin-top: 0.5rem;
    color: rgba(228, 0, 127, 1.00);
    font-size: 1.35rem;
    line-height: 1.8rem;
}

/* サブタイトル */
#outsourcing div[class*="order"] {
    margin-top: 1.0rem;
}

#outsourcing div[class*="order"] h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 4.6rem;
    margin-bottom: 1.0rem;
    padding: 1.0rem 2.0rem 1.0rem 5.0rem;
    border-radius: 4.6rem;
    border-bottom: 0.1rem solid rgba(230, 230, 230, 1.00);
    background: -webkit-linear-gradient(left, rgba(240, 240, 240, 1.00) 0%, rgba(240, 240, 240, 0.25) 25%, rgba(240, 240, 240, 1.00) 70%, rgba(230, 230, 230, 1.00) 100%);
    color: rgba(114, 114, 114, 1.00);
    font-size: 2.2rem;
    font-weight: 700;
}

#outsourcing div[class*="order"] h3::before {
    display: inline-block;
    position: absolute;
    left: 0.3rem;
    width: 4.0rem;
    height: 4.0rem;
    padding-left: 0.2rem;
    border: 0.3rem solid rgba(255, 255, 255, 1.00);
    border-radius: 50%;
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    text-align: center;
    line-height: 3.3rem;
}

#outsourcing .fax-order h3::before {
    content: "\f328";
}

#outsourcing .web-order h3::before {
    content: "\f0ac";
}

#outsourcing .alliance-order h3::before {
    content: "\f0c0";
}

/* 各ブロック */
#outsourcing div[class*="order"] h5 {
    margin-top: 1.0rem;
    font-size: 1.4rem;
    letter-spacing: 0;
}

#outsourcing div[class*="order"] h5::before {
    content: "●";
    color: rgba(245, 130, 40, 1.00);
}

#outsourcing div[class*="order"] h5 > span {
    display: block;
    margin-left: 1.4rem;
}

#outsourcing div[class*="order"] h5 > span span {
    color: rgba(245, 130, 40, 1.00);
    font-weight: 700;
}

#outsourcing .fax-order h4 {
    font-size: 1.6rem;
}

#outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(2) {
    padding-bottom: 3.0rem;
    background: url("../images/outsourcing/arrow_d.png") left 6.0rem bottom / 2.0rem no-repeat;
}

#outsourcing .fax-order .row > div[class^="col-"] img {
    width: auto;
    height: auto;
    max-height: 8.0rem;
    margin-top: 1.0rem;
}

#outsourcing .fax-order .row > div[class^="col-"] a img {
    margin-right: 1.0rem;
    border: 0.2rem solid rgba(0, 102, 204, 1.00);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#outsourcing .fax-order .row > div[class^="col-"] a img:hover {
    border: 0.2rem solid rgba(245, 130, 40, 1.00);
}

#outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(3) > div {
    color: rgba(245, 130, 40, 1.00);
    font-size: 2.4rem;
    font-weight: 500;
}

#outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(3) img {
    display: block;
    margin-bottom: 0.5rem;
}

#outsourcing .web-order .row > div[class^="col-"]:nth-of-type(-n+2) {
    padding-bottom: 3.0rem;
    background: url("../images/outsourcing/arrow_d.png") left 10.0rem bottom / 2.0rem no-repeat;
}

#outsourcing .web-order h5 span {
    display: block;
    margin-top: 0.75rem;
}

#outsourcing .web-order a {
    color: rgba(245, 130, 40, 1.00);
    font-size: 1.8rem;
    font-weight: 500;
}

#outsourcing .web-order img {
    width: 100%;
    max-width: 20.0rem;
    height: auto;
    margin-top: 1.0rem;
}

#outsourcing .alliance-order h3 span {
    display: inline-block;
    margin-top: 0.75rem;
    margin-left: 1.0rem;
    font-size: 50%;
    font-weight: 400;
}

#outsourcing .alliance-order td a {
    color: rgba(68, 68, 68, 1.00);
}

#outsourcing .alliance-order td a:hover {
    color: rgba(250, 126, 36, 1.00);
}

#outsourcing .table-responsive table {
    white-space: nowrap;
}

#outsourcing .table-responsive th {
    padding: 0.25rem 8.0rem 0.25rem 0;
    font-weight: 400;
    text-align: center;
}

#outsourcing .table-responsive td {
    padding: 0.25rem 8.0rem 0.25rem 0;
}

#outsourcing .table-responsive caption {
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.2rem;
}

#outsourcing div[class*="order"] > p {
    margin-top: 1.0rem;
}

#outsourcing div[class*="order"] span[data-action="call"] {
    color: rgba(68, 68, 68, 1.00);
}

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

    #outsourcing .intro {
        padding: 2.0rem 4.0rem;
    }

    #outsourcing .intro > div:nth-of-type(n+2) {
        float: left;
        width: 50%;
    }

    #outsourcing .fax-order h5 {
        height: 3.0rem;
    }

    #outsourcing .web-order h5 {
        height: 6.0rem;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(3) h5 span {
        display: inline;
        margin-left: 0;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(2) {
        padding-bottom: 0;
        background: url("../images/outsourcing/arrow_r.png") left 16.0rem bottom 5.5rem / 2.0rem no-repeat;
    }

    #outsourcing .web-order .row > div[class^="col-"]:nth-of-type(-n+2) {
        padding-bottom: 0;
        background: url("../images/outsourcing/arrow_r.png") left 23.5rem bottom 3.5rem / 2.0rem no-repeat;
    }

    #outsourcing .web-order .row > div[class^="col-"]:last-of-type img {
        margin-top: 8.0rem;
    }

    #outsourcing .table-responsive caption {
        display: none;
    }

}

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

    #outsourcing .intro {
        padding: 2.0rem;
    }

    #outsourcing .intro > div:nth-of-type(n+1) {
        float: left;
        width: 33.0%;
        padding-right: 1.0rem;
    }

    #outsourcing .intro h2 {
        margin-bottom: 2.0rem;
    }

    #outsourcing .intro dt {
        margin-top: 0;
    }

    #outsourcing .intro > div:nth-of-type(1) p span {
        display: block;
        margin-left: 1.35rem;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(2) {
        background-position: left 18.0rem bottom 3.0rem;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(3) > div {
        font-size: 3.0rem;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(3) img {
        display: inline;
        margin-right: 1.0rem;
        margin-bottom: 0;
    }

    #outsourcing .web-order h5 {
        height: 4.5rem;
    }

    #outsourcing .web-order img {
        max-width: 27.0rem;
    }

    #outsourcing .web-order .row > div[class^="col-"]:last-of-type img {
        margin-top: 6.5rem;
    }

    #outsourcing .web-order .row > div[class^="col-"]:nth-of-type(-n+2) {
        background-position: left 31.0rem bottom 5.5rem;
    }

}

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

    #outsourcing .intro {
        padding: 2.0rem 6.0rem;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(2) {
        background-position: left 20.0rem bottom 3.0rem;
    }

    #outsourcing .web-order img {
        max-width: 32.0rem;
    }

    #outsourcing .web-order .row > div[class^="col-"]:nth-of-type(-n+2) {
        background-position: left 36.0rem bottom 6.5rem;
    }

}

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

    #outsourcing .intro {
        padding: 2.0rem 20.0rem;
    }

    #outsourcing .intro h2 {
        font-size: 3.0rem;
    }

    #outsourcing .intro h3 {
        font-size: 2.0rem;
    }

    #outsourcing .intro dt {
        font-size: 1.6rem;
    }

    #outsourcing .intro dd {
        margin-left: 1.6rem;
        font-size: 1.6rem;
    }

    #outsourcing .intro > div:nth-of-type(1) p {
        font-size: 1.4rem;
    }

    #outsourcing .intro > div:nth-of-type(1) p span {
        margin-left: 1.4rem;
    }

    #outsourcing .fax-order h5 {
        height: inherit;
    }

    #outsourcing div[class*="fax-order"] h5 > span {
        display: inline;
        margin-left: 0;
    }

    #outsourcing .fax-order .row > div[class^="col-"]:nth-of-type(2) {
        background-position: left 30.0rem bottom 3.0rem;
    }

    #outsourcing .web-order img {
        max-width: 34.0rem;
    }

    #outsourcing .web-order .row > div[class^="col-"]:nth-of-type(-n+2) {
        background-position: left 46.0rem bottom 7.0rem;
    }

}


/* ========================================================

　CAD/CAMダウンロード

=========================================================== */

#outsourcing_downloads div[class^="col-"]:nth-of-type(n+2) {
    text-align: center;
}

#outsourcing_downloads img {
    width: 100%;
    max-width: 30.0rem;
    height: auto;
    margin: 0 auto;
}

#outsourcing_downloads div[class^="col-"] a {
    display: block;
}

#outsourcing_downloads div[class^="col-"] a > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 5.0rem;
    padding: 0.25rem 0.5rem;
}

#outsourcing_downloads h3 {
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.6rem;
    font-weight: 700;
    text-align: left;
}

#outsourcing_downloads h3 span {
    font-size: 60%;
}

#outsourcing_downloads h3 img {
    display: block;
    position: absolute;
    right: 2.0rem;
    bottom: -1.0rem;
    width: 2.0rem;
    height: auto;
}

#outsourcing_downloads a:hover h3 img {
    opacity: 1.0;
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(2) a > div {
    background-color: rgba(249, 207, 176, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(2) h3 {
    color: rgba(68, 68, 68, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(3) a > div {
    background-color: rgba(192, 219, 129, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(3) h3 {
    color: rgba(68, 68, 68, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(4) a > div {
    background-color: rgba(129, 137, 195, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(5) a > div {
    background-color: rgba(181, 0, 129, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(6) a > div {
    background-color: rgba(16, 140, 207, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(7) a > div {
    background-color: rgba(0, 172, 151, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(8) a > div {
    background-color: rgba(185, 121, 177, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(9) a > div {
    background-color: rgba(254, 219, 60, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(9) h3 {
    color: rgba(68, 68, 68, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(10) a > div {
    background-color: rgba(246, 176, 58, 1.00);
}

#outsourcing_downloads div[class^="col-"]:nth-of-type(11) a > div {
    background-color: rgba(0, 150, 224, 1.00);
}

#outsourcing_downloads div[class^="col-"]:last-of-type p {
    padding: 1.4rem 2.0rem;
    margin-top: 2.0rem;
    background-color: rgba(255, 241, 0, 1.00);
}

#outsourcing_downloads div[class^="col-"]:last-of-type a {
    color: rgba(68, 68, 68, 1.00);
    border-bottom: 0.1rem solid rgba(68, 68, 68, 1.00);
}

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

    #outsourcing_downloads div[class^="col-"]:last-of-type p {
        margin-top: 0;
    }

}

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

    #outsourcing_downloads h3 {
        font-size: 1.8rem;
    }

}

/* ========================================================

　カタログリスト

=========================================================== */

#catalog_list .loop div[class^="col-"]:nth-of-type(n+2) {
    margin-top: 1.0rem;
}

#catalog_list .inner {
    height: 100%;
    min-height: 7.0rem;
}

#catalog_list .inner a {
    display: block;
    height: 100%;
    padding: 0.5rem 1.0rem 0;
    border-radius: 0.5rem;
    border: 0.1rem solid rgba(210, 210, 210, 1.00);
    color: rgba(68, 68, 68, 1.00);
    -webkit-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
}

#catalog_list .inner a:hover {
    background-color: rgba(240, 240, 240, 1.00);
}

#catalog_list .loop a h3 {
    font-size: 1.6rem;
    font-weight: 400;
}

#catalog_list .loop p {
    font-size: 1.2rem;
}

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

    #catalog_list .loop div[class^="col-"]:nth-of-type(n+2) {
        margin-top: 0;
    }

    #catalog_list .loop div[class^="col-"]:nth-of-type(n+3) {
        margin-top: 1.0rem;
    }

}

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

    #catalog_list .loop div[class^="col-"]:nth-of-type(n+3) {
        margin-top: 0;
    }

    #catalog_list .loop div[class^="col-"]:nth-of-type(n+5) {
        margin-top: 1.0rem;
    }

    #catalog_list .inner a {
        padding: 0.5rem 1.0rem 0;
    }

}


/* ========================================================

　文献抄録集

=========================================================== */

.accordion .accPanel .accHeader {
    position: relative;
    padding: 0.5rem;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 1.00);
    background-color: rgba(250, 126, 36, 1.00);
    color: rgba(255, 255, 255, 1.00);
    text-align: center;
    z-index: +1;
    cursor: pointer;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.accordion .accPanel .accHeader::after {
    float: right;
    margin-right: 1.0rem;
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f0da";
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.accordion .accPanel .accHeader.open::after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.accordion .accPanel .accInner {
    display: none;
    padding: 1.0rem;
    background-color: rgba(240, 240, 240, 1.00);
}

.accordion .accPanel .accInner.stay {
    display: block;
}

.accordion .accPanel .accInner ul {
    clear: both;
}

.accordion .accPanel .accInner li:nth-of-type(n+2) {
    margin-top: 0.5rem;
}

.accordion .accPanel .accInner a {
    color: rgba(68, 68, 68, 1.00);
    text-decoration: underline;
}

.accordion .accPanel .accInner a::after {
    margin-left: 0.5rem;
    color: rgba(250, 126, 36, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f1c1";
}

.accordion .accPanel .accInner div {
    margin-top: 1.0rem;
    text-align: right;
}

.accordion .accPanel .accInner div a {
    display: inline-block;
    padding: 0.5rem;
    border: 0.1rem solid rgba(250, 126, 36, 1.00);
    background-color: rgba(255, 255, 255, 1.00);
    text-align: left;
    text-decoration: none;
}

#abstracts .batchDownload {
    margin-top: 1.0rem;
}

#abstracts .batchDownload a {
    display: block;
    width: 100%;
    padding: 1.0rem;
    border: 0.2rem solid rgba(250, 126, 36, 1.00);
    color: rgba(250, 126, 36, 1.00);
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
}

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

    .accordion .accPanel ul {
        padding-left: 2.0rem;
    }

}


/* ========================================================

　動画一覧

=========================================================== */

#movie_list .list > .row div[class^="col-"]:nth-of-type(n+2) {
    margin-top: 1.0rem;
}

#movie_list .list a h3 {
    margin-top: 0.5rem;
    color: rgba(68, 68, 68, 1.00);
    font-size: 1.4rem;
    font-weight: 400;
}

#movie_list .list a img {
    width: 100%;
    height: auto;
}

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

    #movie_list .list > .row div[class^="col-"]:nth-of-type(n+2) {
        margin-top: 0;
    }

    #movie_list .list > .row div[class^="col-"]:nth-of-type(n+3) {
        margin-top: 1.0rem;
    }

}

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

    #movie_list .list > .row div[class^="col-"]:nth-of-type(n+3) {
        margin-top: 0;
    }

    #movie_list .list > .row div[class^="col-"]:nth-of-type(n+5) {
        margin-top: 1.0rem;
    }

}


/* ========================================================

　セミナー情報

=========================================================== */

#seminar .mid-heading {
    margin-bottom: 1.0rem;
}

#seminar ul {
    margin: 0;
    padding: 0;
}

#seminar li {
    padding-bottom: 0.5rem;
    border-bottom: 0.1rem dashed rgba(210, 210, 210, 1.00);
}

#seminar li:nth-of-type(n+2) {
    margin-top: 2.0rem;
}

#seminar li h3 {
    margin-bottom: 1.0rem;
    text-align: left;
}

#seminar li h3,
#seminar li h3 a {
    color: rgba(68, 68, 68, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
}

#seminar li h3 a {
    text-decoration: underline;
}

#seminar li h3::after {
    margin-left: 0.5rem;
    color: rgba(245, 145, 35, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f1c1";
}

#seminar li p span {
    display: block;
}

#seminar li i {
    color: rgba(160, 160, 160, 1.00);
}

/* ボタン */
#seminar .btn {
    display: block;
    width: 100%;
    max-width: 20.0rem;
    margin: 1.0rem auto;
    padding: 0.5rem 0 0;
    font-size: 1.6rem;
}

#seminar .finished {
    margin-top: 3.0rem;
}

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

    #seminar td .btn {
        margin: 0 auto;
    }

}

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

    #seminar li p span {
        display: inline;
    }

}


/* ========================================================

　シンポジウム情報

=========================================================== */

#symposium .mid-heading {
    margin-bottom: 1.0rem;
}

#symposium .held figure {
    position: relative;
    margin-bottom: 0.5rem;
    text-align: center;
}

#symposium .held figure .mask {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 0 2.0rem;
    background-color: rgba(0, 0, 0, 0.80);
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.8rem;
    line-height: 3.0rem;
}

#symposium .held figure .mask a {
    color: rgba(245, 130, 40, 1.00);
}

#symposium .held img {
    margin: 0 auto;
}

#symposium .finished {
    margin-top: 3.0rem;
}

#symposium .finished div[class^="col-"]:nth-of-type(n+3) {
    margin-top: 2.0rem;
}

#symposium .finished figure {
    position: relative;
    width: 100%;
    overflow: hidden;
}

#symposium .finished figure::before {
    display: block;
    content: "";
    padding-top: 100.0%;
}

#symposium .finished a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

#symposium .finished h4 {
    margin-top: 0.5rem;
    font-size: 1.4rem;
    font-weight: 400;
}

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

    #symposium .held figure .mask {
        padding: 0 3.0rem;
    }

    #symposium .finished div[class^="col-"]:nth-of-type(n+3) {
        margin-top: 0;
    }

    #symposium .finished div[class^="col-"]:nth-of-type(n+5) {
        margin-top: 2.0rem;
    }

}

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

    #symposium .held figure .mask {
        padding: 0 4.0rem;
    }

    #symposium .finished div[class^="col-"]:nth-of-type(n+5) {
        margin-top: 0;
    }

    #symposium .finished div[class^="col-"]:nth-of-type(n+7) {
        margin-top: 2.0rem;
    }

}


/* ========================================================

　学会・出展情報

=========================================================== */

#exhibition ul {
    margin: 0;
    padding: 0;
}

#exhibition li {
    padding-bottom: 0.5rem;
    border-bottom: 0.1rem dashed rgba(210, 210, 210, 1.00);
}

#exhibition li:nth-of-type(n+2) {
    margin-top: 2.0rem;
}

#exhibition li h3 {
    margin-bottom: 1.0rem;
    color: rgba(68, 68, 68, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
}

#exhibition li i {
    color: rgba(160, 160, 160, 1.00);
}


/* ========================================================

　プライバシーポリシー

=========================================================== */

#policy dt {
    width: 100%;
    margin-top: 5.0rem;
    padding: 1.0rem 0 0.5rem;
    border-bottom: 0.1rem dotted rgba(210, 210, 210, 1.00);
    font-weight: 500;
}

#policy dd {
    padding-top: 1.5rem;
    padding-bottom: 2.0rem;
    border-bottom: 0.2rem solid rgba(210, 210, 210, 1.00);
}

#policy ul {
    margin-top: 2.0rem;
    margin-bottom: 2.0rem;
}

#policy .notes {
    margin-top: 5.0rem;
}

#policy .notes span[data-action="call"] {
    color: rgba(68, 68, 68, 1.00);
    font-size: 1.8rem;
    font-weight: 500;
}

#policy .notes h5 {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
}


/* ========================================================

　セミナー申し込み　＆　お問い合わせ

=========================================================== */

div + form dl {
    max-width: 120.0rem;
}

div + form dt {
    width: 100%;
    margin-bottom: 0.5rem;
    padding: 1.0rem;
    background-color: rgba(255, 245, 240, 1.00);
    font-size: 1.6rem;
    font-weight: 500;
}

div + form dt span {
    float: right;
    padding: 0.5rem 1.0rem;
    background-color: rgba(240, 130, 10, 1.00);
    border-radius: 0.4rem;
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.2rem;
    line-height: 1.2rem;
}

div + form dd {
    margin-bottom: 2.0rem;
}

div + form dd:last-of-type {
    padding: 1.0rem 0 0;
}

div + form dd div:nth-of-type(n+2) {
    margin-top: 0.5rem;
}

div + form input,
div + form textarea {
    width: 100%;
    height: 4.0rem;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
    border: 0.1rem solid rgba(220, 220, 220, 1.00);
    font-size: 1.6rem;
    font-weight: 400;
    outline: 0;
}

div + form input:focus:not([type="radio"]),
div + form textarea:focus {
    border: 0.2rem solid rgba(240, 130, 10, 1.00);
    border-radius: 0.4rem;
}

div + form textarea {
    height: 20.0rem;
    padding: 1.0rem;
}

div + form input#date {
    width: 18.0rem;
    margin-bottom: 0.5rem;
}

div + form input#num {
    width: 6.0rem;
}

div + form label {
    margin-top: 0.5rem;
    cursor: pointer;
}

/* プライバシーポリシー承認チェックボックス */
div + form .acceptance input[type="checkbox"] {
    display: none;
}

div + form .acceptance .wpcf7-list-item-label {
    position: relative;
    left: 1.4rem;
}

div + form .acceptance .wpcf7-list-item-label::before,
div + form .acceptance .wpcf7-list-item-label::after {
    display: block;
    position: absolute;
    top: 50%;
    content: "";
}

/* box */
div + form .acceptance .wpcf7-list-item-label::after {
    top: 0.15rem;
    left: -2.5rem;
    width: 2.0rem;
    height: 2.0rem;
    border: 0.1rem solid rgba(220, 220, 220, 1.00);
    border-radius: 0.4rem;
    background-color: rgba(255, 255, 255, 1.00);
    content: "";
    z-index: 10;
}

div + form .acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label {
    color: rgba(240, 130, 10, 1.00);
    font-weight: 500;
}

div + form .acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    border: 0.1rem solid rgba(240, 130, 10, 1.00);
}

/* check */
div + form .acceptance .wpcf7-list-item-label::before {
    top: 0.15rem;
    left: -1.8rem;
    width: 0.6rem;
    height: 1.7rem;
    border-right: 0.3rem solid rgba(240, 130, 10, 1.00);
    border-bottom: 0.3rem solid rgba(240, 130, 10, 1.00);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
    z-index: 20;
}

div + form .acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    opacity: 1;
}

/* ラジオボタン */
div + form label input[type="radio"] {
    position: relative;
    top: -0.2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 2.0rem;
    height: 2.0rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 1.00);
    content: "";
    vertical-align: middle;
}

div + form label input[type="radio"]:checked {
    border: 0.1rem solid rgba(240, 130, 10, 1.00);
}

div + form label input[type="radio"]:checked::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: 1.0rem;
    height: 1.0rem;
    border-radius: 50%;
    background-color: rgba(240, 130, 10, 1.00);
    content: "";
}

/* 送信ボタン */
div + form div.submit {
    position: relative;
    max-width: 120.0rem;
    height: 6.0rem;
    margin-top: 3.0rem;
    margin-bottom: 5.0rem;
}

div + form input[type=submit] {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 26.0rem;
    height: 6.0rem;
    padding: 0;
    border: none;
    border-radius: 0.6rem;
    background-color: rgba(240, 130, 10, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-size: 2.4rem;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}

div + form input[type=submit]:hover {
    opacity: 0.7;
}

div + form .attention {
    font-size: 1.6rem;
}

div + form .attention a {
    font-weight: 500;
}

div + form .att {
    padding-left: 2.8rem;
}

.payee {
    margin-bottom: 2.0rem;
    padding: 2.0rem 1.0rem;
    background-color: rgba(255, 225, 225, 1.00);
}

.payee p {
    font-size: 1.6rem;
}

.payee p:nth-of-type(1) > span {
    display: block;
}

.payee p:nth-of-type(2) span {
    display: block;
}

.caution {
    color: rgba(255, 0, 0, 1.00);
}

#thanks h3 {
    margin-bottom: 2.0rem;
}

#thanks ul {
    margin: 2.0rem 0;
    color: rgba(255, 0, 0, 1.00);
}

#thanks a {
    display: block;
    margin-top: 1.0rem;
    font-size: 1.8rem;
}

#contact .notes {
    max-width: 120.0rem;
    margin-bottom: 2.0rem;
    border: 0.2rem solid rgba(255, 0, 0, 1.00);
    background-color: rgba(255, 255, 255, 1.00);
}

#contact .notes p:nth-last-of-type(2) {
    margin-top: 1.0rem;
}

#contact .notes p:nth-last-of-type(-n+2) {
    color: rgba(255, 0, 0, 1.00)
}

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

    div + form input#name,
    div + form input#name-kana,
    div + form input#clinic {
        width: 26.0rem;
    }

    div + form input#zip {
        width: 10.0rem;
    }

    div + form input#tel,
    div + form input#fax {
        width: 14.0rem;
    }

    div + form label {
        margin-right: 0.75rem;
    }

    .payee {
        padding: 2.0rem;
    }

    .payee p:nth-of-type(1) > span {
        display: inline;
    }

    .payee p:nth-of-type(2) span {
        display: inline;
    }

    #contact .notes {
        padding-bottom: 1.5rem;
    }

}

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

    div + form dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
    }

    div + form dt {
        width: 30.0rem;
        margin: 0 0 0.5rem 0;
        padding: 2.0rem;
    }

    div + form dd {
        width: calc(100% - 30.0rem);
        margin: 0 0 0.5rem 0;
        padding: 1.0rem 2.0rem 1.0rem 2.0rem;
        background-color: rgba(245, 245, 245, 1.00);
    }

    div + form dd:last-of-type {
        padding: 2.0rem;
    }

    #seminar form dd:nth-last-of-type(2),
    #contact form dd:first-of-type,
    #contact form dd:nth-last-of-type(3) {
        padding: 2.0rem 2.0rem 1.0rem 2.0rem;
    }

    div + form input#date {
        margin-right: 1.0%;
        margin-bottom: 0;
    }

    div + form input#place {
        width: calc(100% - 18.0rem - 1.0%);
    }

    .payee p:nth-of-type(1) > span {
        display: block;
        margin-left: 8.5rem;
    }

}

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

    div + form .acceptance .wpcf7-list-item-label::before,
    div + form .acceptance .wpcf7-list-item-label::after {
        top: -0.1rem;
    }

}

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

    div + form input,
    div + form textarea {
        max-width: 45.0rem;
    }

    div + form .title input {
        max-width: 100%;
    }

    div + form label {
        margin-right: 1.5rem;
    }

    .payee {
        max-width: 46.0rem;
    }

}

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

    div + form dt {
        width: 40.0rem;
    }

    div + form dd {
        width: calc(100% - 40.0rem);
    }

}


/* ========================================================

　サイトマップ

=========================================================== */

#sitemap #sitemap_list {
    margin: 0;
    padding: 0;
}

#sitemap #sitemap_list ul {
    margin-left: 3.0rem;
    padding: 0;
}

#sitemap #sitemap_list ul ul {
    margin-left: 3.0rem;
}

#sitemap #sitemap_list li {
    list-style: none;
}

#sitemap #sitemap_list .ttl {
    font-weight: 600;
}

#sitemap #sitemap_list .ttl-level2 {
    margin-left: 3.0rem;
}

#sitemap #sitemap_list .ttl-level2 li {
    font-weight: 500;
}

#sitemap #sitemap_list .ttl-level2 li a,
#sitemap #sitemap_list ul li {
    font-weight: 400;
}

#sitemap #sitemap_list > li:nth-of-type(n+2) {
    margin-top: 1.0rem;
}

#sitemap #sitemap_list > li::before {
    margin-right: 0.5rem;
    color: rgba(180, 180, 180, 1.00);
    font-family: "Font Awesome 5 Free";
    content: "\f111";
}

#sitemap .page_item::before {
    margin-right: 0.5rem;
    color: rgba(180, 180, 180, 1.00);
    font-family: "Font Awesome 5 Free";
    content: "\f02e";
}

#sitemap .page_item a {
    color: rgba(68, 68, 68, 1.00);
}

#sitemap .page_item a:hover {
    color: rgba(250, 126, 36, 1.00);
}

#sitemap .page_item a::after {
    position: relative;
    top: -0.15rem;
    margin-left: 0.5rem;
    font-family: "Font Awesome 5 Free";
    font-size: 60%;
    font-weight: 700;
    content: "\f061";
    color: rgba(180, 180, 180, 1.00);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#sitemap .page_item a:hover::after {
    color: rgba(250, 126, 36, 1.00);
}

/*
#sitemap .cat-item {
    margin-top: 4.0rem;
    padding-top: 4.0rem;
    border-top: 1px solid rgba(240, 240, 240, 1.00);
}

#sitemap .cat-item::before {
    margin-right: 0.5rem;
    color: rgba(180, 180, 180, 1.00);
    font-family: "Font Awesome 5 Free";
    content: "\f15c";
}

#sitemap .cat-item ul {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

#sitemap .cat-item ul .cat-item {
    position: relative;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}


#sitemap .cat-item ul .cat-item::before {
    margin-right: 0.5rem;
    color: rgba(180, 180, 180, 1.00);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f0da";
}

#sitemap_list .posts_in_category {
    position: absolute;
    top: 0.5rem;
    margin-left: 1.0rem;
}

#sitemap_list li .posts_in_category a {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 1px solid rgba(220, 220, 220, 1.00);
    background: rgba(255, 255, 255, 1.00) url("../images/post_list.png") center center no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
*/


/* ========================================================

　404 & Search

=========================================================== */

#page404 h3,
#search h3 {
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.6rem;
}

#search h5 {
    margin: 0.5rem 0 1.0rem;
    font-size: 1.4rem;
    letter-spacing: inherit;
}

#page404 hr,
#search hr {
    margin-top: 5.0rem;
}

#search input {
    height: 4.0rem;
    font-weight: 300;
}

#search input:first-child {
    padding-left: 3.0rem;
    border: 0.1rem solid rgba(220, 220, 220, 1.00);
    background: rgba(255, 255, 255, 1.00) url("../images/icon_search.png") left 0.5rem center / auto no-repeat;
}

#search input:last-child {
    border: 0.1rem solid rgba(220, 220, 220, 1.00);
    background-color: rgba(245, 130, 40, 1.00);
    color: rgba(255, 255, 255, 1.00);
}

#search ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#search li {
    margin-bottom: 0.5rem;
}

#search li::before {
    margin-right: 0.5rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f0da";
}

#search a {
    color: rgba(68, 68, 68, 1.00);
}

#search a:hover {
    color: rgba(250, 126, 36, 1.00);
}

#search .navigation > div {
    display: inline-block;
}

#search .prev {
    margin-right: 5.0rem;
}

#search .prev a::before {
    margin-right: 0.5rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f104";
}

#search .next a::after {
    margin-left: 0.5rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    content: "\f105";
}



/* ---- End of file --------------------------------------- */