@font-face{font-family:"anzu";src:url("../font/APJapanesefont.woff") format("woff"),url("../font/APJapanesefont.ttf") format("ttf")}

#main .custom {
    color: #282522;
}
#main .custom h3 {
    background: none;
    color: currentColor;
    margin: .4em auto;
    padding: 0;
}
#main .custom h3::after {
    content: unset;
    background: none;
    border: none;
    margin: 0;
}
#main .custom figure {
    text-align: center;
}
#main .custom h2 {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    text-align: center;
    font-weight: 700;
}
#main .custom h2::after {
    content: unset;
    background: none;
}
#main .custom ul>li::before {
    content: unset;
}
#main .custom h4 {
    border: none;
    color: currentColor;
    padding: 0;
}

/* h2共通 */
#main .custom section h2 {
    -webkit-text-stroke-width: .4px !important;
}
#main .custom section .sec-title-side-line {
    font-size: 4.2vw;
    width: 80%;
    margin: .8em auto;
    position: relative;
    text-align: center;
    font-weight: bold;
}
#main .custom section .sec-title-side-line::before,
#main .custom section .sec-title-side-line::after {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    bottom: 0;
    transform-origin: left bottom;
    background: currentColor;
}
#main .custom section .sec-title-side-line::before {
    left: 0;
    transform: rotate(-16deg);
}
#main .custom section .sec-title-side-line::after {
    left: 100%;
    transform: rotate(16deg);
}

/* section装飾 */
#main .custom .campaign-top {
    margin: .8em auto;
}
#main .custom .catch .caption {
    font-size: 2.8vw;
}
#main .custom .ranking .label {
    font-size: 4.3vw;
    font-weight: bold;
    margin: .2em auto;
    color: #4e4843;
}
#main .custom .cust-voice .label {
    font-size: 4.3vw;
    font-weight: bold;
}
#main .custom .cust-voice .label:before {
    left: 3%;
}
#main .custom .cust-voice .label:after {
    left: 97%;
}
#main .custom .cust-voice .block {
    padding: .4em ;
    background: #fff4e5;
    position: relative;
    margin-top: 2.0em;
}
#main .custom .cust-voice .block .icon {
    position: absolute;
    top: -7%;
    left: 40%;
    width: 17%;
}
#main .custom .cust-voice .block .sec-title {
    font-size: 4.3vw;
    font-weight: bold;
    padding-top: 1.2em;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
}
#main .custom .cust-voice .content {
    margin: .4em auto;
    border: 2px solid #fbc087;
    border-radius: 5px;
    background: #fff;
}
#main .custom .cust-voice .content .text {
    width: 55%;
    margin: 0 .2em;
}
#main .custom .cust-voice .content .text .title {
    font-size: 3.7vw;
    border-bottom: 1px solid #fbc087;
    padding-bottom: .2em;
    margin: 0;
    font-weight: bold;
    line-height: 1.3;
}
#main .custom .cust-voice .content .text .small {
    font-size: 70%;
}
#main .custom .cust-voice .content .text .info {
    font-size: 3.3vw;
    margin : .4em auto;
}
#main .custom .cust-voice .content .photo {
    width: 42%;
    margin: 0;
    padding: 0;
    margin-right: -.2em;
}
#main .custom .media {
    background: url(../images/back-img_02.png) no-repeat;
    background-size: 100%;
    padding: .4em;
}
#main .custom .media .sec-title {
    background: url(../images/back-img_01.png) no-repeat center;
    background-size: 76%;
    font-size: 4.8vw;
    text-align: center;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
    font-weight: bold;
    margin: .8em auto;
}
#main .custom .media .sec-title .strong-red {
    color: #e00000;
    -webkit-text-emphasis: filled circle #e00000;
    text-emphasis: filled circle #e00000;
    font-size: 5.5vw;
}
#main .custom .media .sec-title .normal-red {
    color: #e00000;
}
#main .custom .media figure {
    margin: 1.2em .8em;
}
#main .custom .hospital .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    padding: .7em 0;
    margin: .2em auto;
    text-align: center;
    font-weight: bold;
}
#main .custom .hospital .text {
    background: url(../images/back-img_04.png) no-repeat;
    background-size: 100%;
    font-size: 3.8vw;
    font-weight: bold;
    margin: .4em auto;
    padding: 1.2em .8em;
}
#main .custom .hospital .explain {
    margin: .8em auto;
    font-size: 3.8vw;
    font-weight: bold;
}
#main .custom .hospital .content {
    border: 1px solid #d4d4d4;
    padding: .4em;
}
#main .custom .kids {
    margin-top: 15%;
}
#main .custom .kids .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    padding: .7em 0;
    margin: .2em auto;
    text-align: center;
    font-weight: bold;
    position: relative;
}
#main .custom .kids .sec-title .text {
    margin: 0;
}
#main .custom .kids .sec-title .photo {
    position: absolute;
    top: -70%;
    left: 0;
    width: 32%;
}
#main .custom .kids .explain {
    font-size: 3.8vw;
    margin: .8em auto;
}
#main .custom .kids .strong-red {
    font-size: 4.3vw;
}
#main .custom .point .point-label {
    position: relative;
    font-size: 4.8vw;
    color: #4e4843;
    font-weight: bold;
    margin: .4em auto;
}
#main .custom .point .point-label:before {
    left: 3%;
}
#main .custom .point .point-label:after {
    left: 97%;
}
#main .custom .point .content {
    background: url(../images/back-img_06.png);
    background-size: cover;
    padding: .2em;
}
#main .custom .point .content .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_05.png) no-repeat;
    background-size: 100%;
    padding: .8em 0;
    color: #fff;
    font-weight: bold;
    margin-top: .4em;
    position: relative;
    z-index: 999;
}
#main .custom .point .content .list {
    background: #fff9f0;
    -webkit-box-shadow: 0 3px 10px -3px #ffe8c7;
    box-shadow: 0 3px 10px -2px #ffe8c7;
    padding: .8em;
    font-size: 4.0vw;
    font-weight: bold;
    margin: .4em;
    margin-top: -1.2em;
}
#main .custom .point .content .list li {
    padding: .3em 0;
    padding-left: 11%;
    margin: .2em 0;
    border-bottom: 1px dotted #b2aea8;
}
#main .custom .point .content .list li.first {
    background: url(../images/point-icon_01.png) no-repeat left .2em;
    background-size: 10%;
}
#main .custom .point .content .list li.second {
    background: url(../images/point-icon_02.png) no-repeat left .2em;
    background-size: 10%;
}
#main .custom .point .content .list li.third {
    background: url(../images/point-icon_03.png) no-repeat left .2em;
    background-size: 10%;
}
#main .custom .feature .sec-title {
    font-size: 4.3vw;
    background: url(../images/back-img_07.png) no-repeat;
    background-size: 100%;
    color: #7a7672;
    padding: 1.2em 0;
}
#main .custom .trouble {
    background: url(../images/back-img_08.png) no-repeat;
    background-size: 100%;
    padding: .8em;
    padding-bottom: 0;
}
#main .custom .trouble .sec-title {
    background: url(../images/under-line_01.png) no-repeat bottom;
    background-size: 100%;
    color: #00789f;
    font-size: 4.8vw;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
    width: 82%;
    margin: .4em auto;
    padding-bottom: .2em;
}
#main .custom .trouble .list {
    margin: .4em auto;
    padding: .8em 1.6em;
    font-size: 3.6vw;
    list-style: none;
    line-height: 1.4;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 10px -2px #c6d3dd;
    font-weight: bold;
}
#main .custom .trouble .list li {
    background: url(../images/check_red.png) no-repeat left .3em;
    padding: .2em 0;
    padding-left: 8%;
    margin: .2em 0;
    background-size: 6%;
    border-bottom: 1px dotted #b2b2b2;
}
#main .custom .trouble figure {
    margin: 0 auto;
    padding: 0;
    width: 90%;
}
#main .custom .cause .sec-title {
    background: url(../images/back-img_09.png) no-repeat;
    background-size: 100%;
    padding: 1.4em .8em;
    color: #fff;
    font-size: 4.2vw;
}
#main .custom .cause .sec-title .big {
    font-size: 160%;
    font-weight: bold;
}
#main .custom .cause .explain {
    font-size: 3.5vw;
    margin: .8em auto;
}
#main .custom .cause .explain:last-child {
    font-size: 4.3vw;
}
#main .custom .cause .arrow {
    width: 50%;
    margin: .4em auto;
}
#main .custom .treatment .content {
    background: url(../images/back-img_10.png);
    background-size: cover;
    padding: .8em;
}
#main .custom .treatment .content .sec-title {
    font-size: 4.8vw;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
    text-align: center;
    font-weight: bold;
}
#main .custom .treatment .content .sec-title .title-photo {
    margin: 0;
}
#main .custom .treatment .content .sec-title .text {
    margin: 0;
}
#main .custom .treatment .content .sec-title .under-line {
    font-size: 8.0vw;
}
#main .custom .treatment .content .block {
    width: 40%;
    margin: .4em .2em;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 3px 10px -2px #ffe8c7;
    padding: .4em;
}
#main .custom .treatment .content .block .text {
    margin: .2em auto;
    font-size: 3.8vw;
}
#main .custom .treatment .content .block figure {
    margin: .4em auto;
}
#main .custom .treatment .content .photo {
    width: 10%;
    margin: .2em auto;
    padding-top: 25%;
}
#main .custom .treatment .content .explain {
    font-size: 3.8vw;
    margin: .8em .4em;
}
#main .custom .solution .label {
    font-size: 4.3vw;
    color: #4e4843;
    margin: .8em auto;
    font-weight: bold;
}
#main .custom .solution .arrow {
    width: 50%;
    margin: .4em auto;
}
#main .custom .solution .sec-title {
    font-size: 4.3vw;
    margin: .4em auto;
}
#main .custom .solution .sec-title .sec-title-side-line {
    font-size: 120%;
    padding: 0 .4em;
}
#main .custom .solution .sec-title .sec-title-side-line:before,
#main .custom .solution .sec-title .sec-title-side-line:after {
    color: #282522;
}
#main .custom .before-after {
    background: url(../images/back-img_12.png);
    background-size: cover;
    position: relative;
    padding: .4em;
    padding-top: 1.2em;
}
#main .custom .before-after .icon {
    position: absolute;
    top: -6%;
    left: 0;
    width: 40%;
}
#main .custom .before-after .sec-title {
    font-size: 4.3vw;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
    font-weight: bold;
    width: 80%;
}
#main .custom .reason .sec-title {
    font-size: 3.4vw;
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    padding: 1.5em 0;
}
#main .custom .reason .sec-title .strong {
    font-size: 160%;
}
#main .custom .reason .block .block-title {
    border-top: 2px solid #ff9800;
    background: #fff0d9;
    padding: .8em 0;
    position: relative;
    margin-top: 1.2em;
    font-size: 4.3vw;
    padding-top: 1.2em;
}
#main .custom .reason .first:before {
    content: "";
    background: url(../images/reason-label_01.png) no-repeat;
    background-size: 60%;
    position: absolute;
    top: -24%;
    left: 38%;
    width: 40%;
    height: 100%;
}
#main .custom .reason .second:before {
    content: "";
    background: url(../images/reason-label_02.png) no-repeat;
    background-size: 60%;
    position: absolute;
    top: -24%;
    left: 38%;
    width: 40%;
    height: 100%;
}
#main .custom .reason .third:before {
    content: "";
    background: url(../images/reason-label_03.png) no-repeat;
    background-size: 60%;
    position: absolute;
    top: -24%;
    left: 38%;
    width: 40%;
    height: 100%;
}
#main .custom .reason .last:before {
    content: "";
    background: url(../images/reason-label_04.png) no-repeat;
    background-size: 60%;
    position: absolute;
    top: -24%;
    left: 38%;
    width: 40%;
    height: 100%;
}
#main .custom .reason .block .explain {
    margin: .8em auto;
    font-size: 3.8vw;
}
#main .custom .reason .block .explain .line {
    border-bottom: 1px solid #282522;
}
#main .custom .reason .block {
    margin-top: 1.8em;
}
#main .custom .accident {
    box-shadow: 0px 0px 0px 5px #e8deb5;
    border: 1.5px solid #969696;
    padding: .4em;
}
#main .custom .accident .sec-title {
    background: url(../images/back-img_13.png) no-repeat;
    background-size: 100%;
    padding: 1.2em .4em;
    font-size: 3.4vw;
}
#main .custom .accident .sec-title .title {
    color: #997b00;
    font-size: 120%;
}
#main .custom .accident .explain {
    font-size: 3.4vw;
    margin: .8em;
}
#main .custom .accident .line {
    text-decoration: underline;
}
#main .custom .voice .sec-title {
    background: url(../images/back-img_14.png) no-repeat;
    background-size: 100%;
    padding: .8em 0;
}
#main .custom .voice .voice-btn {
    font-size: 1.0rem;
}
#main .custom .environment .label {
    color: #4e4843;
    font-size: 4.3vw;
}
#main .custom .environment .label:before {
    left: 7%;
}
#main .custom .environment .label:after {
    left: 93%;
}
#main .custom .environment .sec-title {
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    font-size: 4.8vw;
    padding: 1.0em;
}
#main .custom .content .photo {
    width: 45%;
    margin: .4em;
}
#main .custom .facility .sec-title {
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    font-size: 4.8vw;
    padding: 1.0em;
}
#main .custom .flow .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_03.png) no-repeat;
    background-size: 100%;
    padding: 1.0em 0;
}
#main .custom .flow .sec-title .small {
    font-size: 80%;
}
#main .custom .flow .photo:nth-child(odd) {
    width: 47%;
}
#main .custom .flow .photo:nth-child(even) {
    width: 43%;
}
#main .custom .flow .photo {
    margin: .4em 0;
}
#main .custom .price .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_14.png) no-repeat;
    background-size: 100%;
    padding: 1.2em 0;
}
#main .custom .price .price-title {
    font-size: 4.3vw;
    background: url(../images/back-img_15.png) no-repeat;
    background-size: 100%;
    padding: .4em 0;
    padding-left: 7%;
}
#main .custom .price .explain {
    font-size: 3.8vw;
    margin: .4em auto;
}
#main .custom .price .table01 {
    width: 100%;
    margin: 1.6em 0;
    border: 1px solid #e0e0e0;
    table-layout: fixed;
}
#main .custom .price .table01 tr th {
    background: #fff0d9;
    font-size: 3.8vw;
    white-space: nowrap;
}
#main .custom .price .table01 tr td {
    padding: .8em 1em;
    font-size: 3.8vw;
    background: #fff;
    text-align: center;
    font-weight: bold;
}
#main .custom .price .table01 tr td .yen {
    font-size: 70%;
}
#main .custom .price .dash {
    border: 1px dashed #e0e0e0;
    padding: .8em;
    margin: .4em auto;
}
#main .custom .price .dash .explain {
    margin: .4em auto;
    font-size: 3.8vw;
}
#main .custom .price .dash .title {
    font-size: 4.3vw;
    margin: .2em auto;
}
#main .custom .image .sec-title {
    font-size: 4.8vw;
    background: url(../images/back-img_14.png) no-repeat;
    background-size: 100%;
    padding: 1.2em 0;
}
#main .custom .image .explain {
    font-size: 3.8vw;
}
#main .custom .profile {
    border: 1px solid #ffcb7f;
}
#main .custom .profile .title-box {
    background: url(../images/back-img_16.png) no-repeat;
    background-size: 100%;
    padding: .8em;
}
#main .custom .profile .title-box .sec-title {
    font-size: 3.6vw;
    margin: .4em auto;
    text-align: left;
}
#main .custom .profile .title-box .profile-box {
    font-size: 3.5vw;
    line-height: 1.2;
    background: url(../images/back-img_17.png) no-repeat;
    background-size: 100%;
    padding: 1.4em .8em;
    margin: 0;
    width: 69%;
}
#main .custom .profile .right {
    float: right;
    width: 40%;
    margin: .8em .4em;
}
#main .custom .profile .explain {
    margin: .8em auto;
    font-size: 3.8vw;
}
#main .custom .profile .explain-title {
    font-size: 4.2vw;
    margin: 1.2em auto;
}
#main .custom .profile .explain-title .line {
    border-bottom: 1px solid #2f2f2f;
}
#main .custom .profile .box {
    padding: 1.2em;
}
#main .custom .change {
    background: url(../images/back-img_18.png) no-repeat;
    background-size: cover;
    border: 1.5px solid #fff;
    box-shadow: 0px 0px 0px 5px #ffcb7f;
}
#main .custom .change .sec-title {
    font-size: 4.3vw;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
}
#main .custom .change .img {
    margin: 0 auto;
    width: 80%;
}
#main .custom .change .list {
    margin: .4em .8em;
    padding: .8em 1.6em;
    font-size: 3.6vw;
    list-style: none;
    line-height: 1.4;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 10px -2px #c6d3dd;
    font-weight: bold;
}
#main .custom .change .list li {
    background: url(../images/check_red.png) no-repeat left .3em;
    padding: .2em 0;
    padding-left: 8%;
    margin: .2em 0;
    background-size: 6%;
    border-bottom: 1px dotted #b2b2b2;
}
#main .custom .change .list li .strong-red {
    font-size: 110%;
}
#main .custom .staff .staff-text {
    position: relative;
    font-size: 4.3vw;
    color: #59534f;
    margin: .2em auto;
    width: 93%;
}


/* 調整CSS */
#main .custom .bold {
    font-weight: bold;
}
#main .custom .center {
    text-align: center;
}
#main .custom .content {
    justify-content: center;
    align-items: center;
}
#main .custom .icon-comment::before {
    background-image: url(../images/icon_02.png);
    background-size: 80%;
}
#main .custom .icon-warning::before {
    background-image: url(../images/warning.png);
    background-size: 80%;
}
#main .custom .custom-icon::before {
    content: '';
    display: inline-block;
    width: 1.3333333333em;
    height: 1.3333333333em;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: -20%;
    margin: 0 .16em;
}
#main .custom .strong {
    font-size: 130%;
    font-weight: bold;
}
#main .custom figure {
    margin: .8em auto;
    text-align: center;
}
#main .custom .caption {
    color: #7c7c7c;
    text-align: right;
    margin: .2em .4em .2em 0;
    font-size: 70%;
}
#main .custom .flex {
    display: flex;
    flex-wrap: wrap;
}
#main .mincho {
    font-family: '游明朝', '游明朝体', 'Noto Serif JP', 'YuMincho', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
    color: #332f2a;
    letter-spacing: -.02em;
}
#main .anzu {
    font-family: anzu, Roboto, "Noto Sans JP", 游ゴシック, 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #473624;
}
#main .custom .under-line {
    background-image: linear-gradient(rgba(252,235,96,0) 64%, #fceb60 80%);
}
#main .custom .normal-red {
    color: #e00000 !important;
}
#main .custom .strong-red {
    font-size: 130%;
    font-weight: bold;
    color: #e00000 !important;
}
#main .custom .bottom,
#main .custom section {
   margin-bottom: 7%;
}
#main .custom .strong-blue {
    font-size: 130%;
    font-weight: bold;
    color: #0c6795 !important;
}

/* CSS調整PC */
@media (min-width: 768px) {
    #main .custom .catch .caption {
        font-size: .8em;
    }
    #main .custom .ranking .label,
    #main .custom .cust-voice .label,
    #main .custom .cust-voice .block .sec-title,
    #main .custom .media .sec-title,
    #main .custom .hospital .sec-title,
    #main .custom .kids .sec-title,
    #main .custom .point .point-label,
    #main .custom .point .content .sec-title,
    #main .custom .trouble .sec-title,
    #main .custom .cause .sec-title,
    #main .custom section .sec-title-side-line,
    #main .custom .solution .label,
    #main .custom .reason .block .block-title,
    #main .custom .environment .label,
    #main .custom .environment .sec-title,
    #main .custom .facility .sec-title,
    #main .custom .flow .sec-title,
    #main .custom .price .sec-title,
    #main .custom .image .sec-title,
    #main .custom .change .sec-title,
    #main .custom .staff .staff-text,
    #main .custom .treatment .content .sec-title {
        font-size: 2.3em;
    }
    #main .custom .cust-voice .content .text .title,
    #main .custom .trouble .list,
    #main .custom .treatment .content .sec-title .under-line,
    #main .custom .treatment .content .block .text,
    #main .custom .price .dash .title,
    #main .custom .profile .explain-title {
        font-size: 1.8em;
    }
    #main .custom .cust-voice .content .text .info,
    #main .custom .kids .explain,
    #main .custom .cause .explain,
    #main .custom .treatment .content .explain,
    #main .custom .reason .block .explain,
    #main .custom .accident .explain,
    #main .custom .price .explain,
    #main .custom .price .dash .explain,
    #main .custom .image .explain,
    #main .custom .profile .explain {
        font-size: 1.3em;
    }
    #main .custom .cust-voice .block .icon {
        top: -5%;
    }
    #main .custom .media .sec-title .strong-red {
        font-size: 130%;
    }
    #main .custom .hospital .text {
        font-size: 2.0em;
        padding: .8em;
    }
    #main .custom .hospital .explain {
        font-size: 1.6em;
        margin: .8em;
    }
    #main .custom .kids .sec-title .photo {
        top: -47%;
    }
    #main .custom .point .content .list,
    #main .custom .accident .sec-title {
        font-size: 1.8em;
    }
    #main .custom .point .content .list li {
        background-size: 9% !important;
    }
    #main .custom .feature .sec-title,
    #main .custom .before-after .sec-title {
        font-size: 2.2em;
    }
    #main .custom .trouble .list li,
    #main .custom .change .list li {
        background: url(../images/check_red.png) no-repeat .6em .5em;
        background-size: 4%;
    }
    #main .custom .solution .sec-title {
        font-size: 2.8em;
    }
    #main .custom .reason .sec-title {
        font-size: 1.7em;
    }
    #main .custom .voice .sec-title {
        font-size: 2.5em;
    }
    #main .custom .price .price-title,
    #main .custom .profile .title-box .sec-title,
    #main .custom .profile .title-box .profile-box {
        font-size: 2.0em;
    }
    #main .custom .price .table01 tr th,
    #main .custom .price .table01 tr td,
    #main .custom .change .list {
        font-size: 1.6em;
    }
    #main .custom .cust-voice .content .text {
        padding-left: .4em;
    }
    #main .custom .cust-voice .content .photo {
        text-align: right;
    }
    #main .custom .media .sec-title {
        margin: 1.2em auto;
    }
    #main .custom .media figure {
        margin-bottom: 3.3em;
    }
    #main .custom .kids .sec-title .text {
        font-size: 100%;
    }
    #main .custom .treatment .content .sec-title .text {
        font-size: 100%;
    }
    #main .custom .environment .label {
        font-size: 1.8em;
        width: 100%;
    }
}