﻿/*
@import url(https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c&display=swap);
*/
#main .custom-3crowns-recommend-header::after,
#main .custom-aisatsu-header::after,
#main .custom-3steps-footer::after,
#main .custom-aisatsu2-content-header::after {
    clear: both;
    content: "";
    display: block
}

#main .custom-title-large,
#main .custom-title-mid,
#main .custom-title-mid2,
#main .custom-3crowns-content h3,
#main .custom-3crowns-recommend-header,
#main .custom-5reasons-content h3::before,
#main .custom-5reasons-content-hikaku p.title,
#main .custom-4features-list h3,
#main .custom-flow-list h3,
#main .mincho {
    font-family: '游明朝', '游明朝体', 'YuMincho', 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
    letter-spacing: -.022em;
    font-weight: 600
}

@media screen\0 {
    #main .custom-title-large,
    #main .custom-title-mid,
    #main .custom-title-mid2,
    #main .custom-3crowns-content h3,
    #main .custom-3crowns-recommend-header,
    #main .custom-5reasons-content h3::before,
    #main .custom-5reasons-content-hikaku p.title,
    #main .custom-4features-list h3,
    #main .custom-flow-list h3,
    #main .mincho {
        letter-spacing: -.05em
    }
}

#main .marugo {
    font-family: "M PLUS Rounded 1c", "Roboto", 'Noto Sans JP', '游ゴシック', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif
}

#main .marugo .kenten>span {
    padding: .24em 0
}

@font-face {
    font-family: "shunka2PBB";
    src: url("../font/shunka2PBB_web.woff2") format("woff2"), url("../font/shunka2PBB_web.woff") format("woff");
    font-display: swap
}

#main .custom-ps {
    font-family: "shunka2PBB", "Roboto", 'Noto Sans JP', '游ゴシック', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif
}

@keyframes clicklEffect {
    from {
        opacity: 1;
        transform: scale(1)
    }
    to {
        opacity: 0;
        transform: scale(100)
    }
}

#main [class^="custom-icon-"]::before,
#main [class*=" custom-icon-"]::before {
    content: '';
    display: inline-block;
    width: 1.159em;
    height: 1.159em;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: -16%;
    margin: 0 .1em
}

#main .custom-3crowns,
#main .custom-baby,
#main .custom-cta,
#main .custom-nayami,
#main .custom-2causes,
#main .custom-aisatsu,
#main .custom-2features,
#main .custom-3steps,
#main .custom-before-after,
#main .custom-aisatsu2,
#main .custom-voice,
#main .custom-5reasons,
#main .custom-suteki,
#main .custom-4features,
#main .custom-innai,
#main .custom-flow,
#main .custom-price,
#main .custom-access,
#main .custom-ps {
    margin-top: 3.2em;
    margin-bottom: 3.2em;
    clear: both
}

@media (max-width: 730px) {
    #main .custom-3crowns,
    #main .custom-baby,
    #main .custom-cta,
    #main .custom-nayami,
    #main .custom-2causes,
    #main .custom-aisatsu,
    #main .custom-2features,
    #main .custom-3steps,
    #main .custom-before-after,
    #main .custom-aisatsu2,
    #main .custom-voice,
    #main .custom-5reasons,
    #main .custom-suteki,
    #main .custom-4features,
    #main .custom-innai,
    #main .custom-flow,
    #main .custom-price,
    #main .custom-access,
    #main .custom-ps {
        margin-top: 1.6em;
        margin-bottom: 1.6em
    }
}

#main .custom {
    position: relative;
    z-index: 0;
    max-width: 730px;
    margin-right: auto;
    margin-left: auto;
    font-size: 1.25rem;
    color: #2C1300;
    overflow: hidden
}

.content-style h2 {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    text-align: center;
    font-weight: 700;
}

.content-style h2::after {
    content: unset;
    background: none;
}

@media (max-width: 730px) {
    #main .custom {
        font-size: 3.781vw;
        margin-right: -16px;
        margin-left: -16px;
        padding-right: 4vw;
        padding-left: 4vw
    }
}

#main .custom figcaption {
    margin: .8em auto
}

#main .custom small {
    font-size: 64%;
    font-weight: normal
}

@media (max-width: 730px) {
    #main .custom small {
        font-size: 48%
    }
}

#main .custom sub {
    font-size: 48%;
    bottom: 0;
    font-weight: normal
}

@media (max-width: 730px) {
    #main .custom sub {
        font-size: 32%
    }
}

#main .custom-title-nostyle,
#main .custom-title-large,
#main .custom-title-mid,
#main .custom-title-mid2,
#main .custom-title-small,
#main .custom-3crowns-content h3,
#main .custom-3crowns-recommend-header h4,
#main .custom-5reasons-content h3,
#main .custom-4features-list h3,
#main .custom-flow-list h3,
#main .custom-access h3 {
    color: inherit;
    background: none;
    padding: 0;
    border: none;
    clear: none;
    font-weight: 600
}

#main .custom-title-nostyle::before,
#main .custom-title-large::before,
#main .custom-title-mid::before,
#main .custom-title-mid2::before,
#main .custom-title-small::before,
#main .custom-3crowns-content h3::before,
#main .custom-3crowns-recommend-header h4::before,
#main .custom-5reasons-content h3::before,
#main .custom-4features-list h3::before,
#main .custom-flow-list h3::before,
#main .custom-access h3::before,
#main .custom-title-nostyle::after,
#main .custom-title-large::after,
#main .custom-title-mid::after,
#main .custom-title-mid2::after,
#main .custom-title-small::after,
#main .custom-3crowns-content h3::after,
#main .custom-3crowns-recommend-header h4::after,
#main .custom-5reasons-content h3::after,
#main .custom-4features-list h3::after,
#main .custom-flow-list h3::after,
#main .custom-access h3::after {
    content: '';
    display: none;
    border: none;
    width: 0;
    height: 0;
    background: none;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
    float: none
}

#main .custom-title-large {
    clear: both;
    text-align: center;
    font-size: 3.5rem;
    line-height: 1.2;
    border-style: solid;
    border-image: linear-gradient(90deg, #FF9800, #FFB300, #FF9800) 1;
    border-width: 6px 0 0;
    position: relative;
    padding: .533em 0 1em;
    background: url("../images/img-title-1.png") no-repeat center bottom/100%;
    margin: 1em 0 .267em
}

@media (max-width: 730px) {
    #main .custom-title-large {
        margin-right: -4vw;
        margin-left: -4vw;
        padding-right: 2vw;
        padding-left: 2vw;
        font-size: 216%;
        border-top-width: 3px
    }
}

@media screen\0 {
    #main .custom-title-large {
        padding-bottom: .8em
    }
}

#main .custom-title-large::before {
    display: block;
    width: 100%;
    height: 1px;
    border-style: solid;
    border-image: linear-gradient(90deg, #FF9800, #FFB300, #FF9800) 1;
    border-width: 1px 0 0;
    position: absolute;
    left: 0;
    top: 1px;
    opacity: .5
}

#main .custom-title-mid {
    clear: both;
    text-align: center;
    font-size: 2.25rem;
    background: #FFE47B linear-gradient(90deg, #fff, #FFE47B 5%, #FFE47B 95%, #fff);
    padding: .4em;
    position: relative;
    margin-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-title-mid {
        font-size: 152%;
        margin-right: -2vw;
        margin-left: -2vw
    }
}

#main .custom-title-mid::before {
    display: block;
    width: 100%;
    height: calc(100% - 4px);
    border-style: solid;
    border-color: #fff;
    border-width: 1px 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media (max-width: 730px) {
    #main .custom-title-mid::before {
        height: calc(100% - 2px)
    }
}

#main .custom-title-mid2 {
    clear: both;
    text-align: center;
    font-size: 2.5rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-title-mid2 {
        font-size: 144%
    }
}

#main .custom-title-mid2::before,
#main .custom-title-mid2::after {
    display: block;
    content: '\a0';
    flex-grow: 1;
    height: 4px;
    border-top: 2px solid #2C1300;
    border-bottom: 1px solid rgba(44, 19, 0, 0.5)
}

#main .custom-title-mid2::before {
    margin-right: .4em
}

#main .custom-title-mid2::after {
    margin-left: .4em
}

#main .custom-title-small {
    clear: both;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.75rem;
    margin-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-title-small {
        font-size: 112%
    }
}

#main .custom-title-small::before,
#main .custom-title-small::after {
    display: block;
    content: '\a0';
    flex-grow: 1;
    height: 8px;
    background-image: radial-gradient(closest-side circle, #6B594C 40%, rgba(107, 89, 76, 0) 50%);
    background-size: 8px 8px;
    background-repeat: space
}

@media (max-width: 730px) {
    #main .custom-title-small::before,
    #main .custom-title-small::after {
        height: 1.26vw;
        background-size: 1.26vw 1.26vw
    }
}

#main .custom-title-small::before {
    margin-right: .8em
}

#main .custom-title-small::after {
    margin-left: .8em
}

#main .custom-ul-nostyle,
#main .custom-ul-initial,
#main .custom-ul-check {
    padding: 0;
    margin: 1em auto
}

#main .custom-ul-nostyle li::before,
#main .custom-ul-initial li::before,
#main .custom-ul-check li::before {
    display: none
}

#main .custom-ul-initial {
    list-style: initial;
    padding-left: 1.6em
}

#main .custom-ul-check {
    font-size: 1.5rem;
    line-height: 1.3
}

@media (max-width: 730px) {
    #main .custom-ul-check {
        font-size: 112%
    }
}

#main .custom-ul-check strong {
    color: #BF1111
}

#main .custom-ul-check li {
    background: url("../images/img-check-1.svg") no-repeat left top/1.28em 1.143em;
    padding-left: 1.6em;
    margin: 1em 0
}

@media (max-width: 730px) {
    #main .custom-ul-check li {
        background-size: 1.333em;
        padding-left: 1.76em
    }
}

#main .custom-dl-nostyle {
    margin: 1em 0
}

#main .custom-dl-nostyle dt,
#main .custom-dl-nostyle dd {
    margin: initial;
    padding: initial
}

#main .custom-dl-nostyle dt {
    text-indent: 0
}

#main .custom-dl-nostyle dt::before {
    display: none
}

#main .custom-dl-nostyle dd {
    border: none
}

#main .custom-text-slash {
    text-align: center;
    line-height: 1.2;
    font-size: 2.25rem;
    display: table;
    margin-right: auto;
    margin-bottom: .4em;
    margin-left: auto;
    position: relative;
    padding: 0 .4em
}

@media (max-width: 730px) {
    #main .custom-text-slash {
        font-size: 128%
    }
}

#main .custom-text-slash::before,
#main .custom-text-slash::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    width: 1px;
    height: 100%;
    background: currentColor;
    transform-origin: left bottom
}

@media screen\0 {
    #main .custom-text-slash::before,
    #main .custom-text-slash::after {
        bottom: .2666666667em;
        height: 88%
    }
}

#main .custom-text-slash::before {
    left: 0;
    transform: rotate(-24deg)
}

#main .custom-text-slash::after {
    right: 0;
    transform: rotate(24deg)
}

#main .custom-text-note {
    font-size: 64%;
    line-height: 1.4;
    margin: .8em 0;
    justify-content: flex-end
}

#main .custom-text-note small {
    font-size: 100%
}

@media (max-width: 730px) {
    #main .custom-text-note {
        font-size: 48%
    }
}

#main .custom-img-frame img {
    background: #fff;
    padding: 5px;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3)
}

@media (max-width: 730px) {
    #main .custom-img-frame img {
        padding: .63vw
    }
}

#main .custom-hr-down {
    background: url("../images/img-down-1.png") no-repeat center/auto 100%;
    height: 77px
}

@media (max-width: 730px) {
    #main .custom-hr-down {
        height: 9.704vw
    }
}

#main .custom-btn-mid {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    font-weight: bold
}

@media (max-width: 730px) {
    #main .custom-btn-mid {
        font-size: 128%
    }
}

#main .custom-btn-mid a {
    margin: auto;
    max-width: 100%;
    width: 580px;
    background: #FF9800;
    padding: .2em .8em;
    min-height: 2.88em;
    border-radius: 16em;
    color: #fff;
    overflow: hidden;
    position: relative;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2)
}

#main .custom-btn-mid a .click-point {
    will-change: transform;
    margin: -5px 0 0 -5px;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    animation: clicklEffect 1000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal
}

@media screen\0 {
    #main .custom-btn-mid a {
        min-height: 0;
        padding: .889em .8em
    }
}

#main .custom-btn-mid a:hover {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4)
}

#main .custom-btn-small {
    font-size: .938rem;
    text-align: center;
    font-weight: bold
}

@media (max-width: 730px) {
    #main .custom-btn-small {
        font-size: 72%
    }
}

#main .custom-btn-small a {
    display: inline-block;
    margin: auto;
    max-width: 100%;
    background: linear-gradient(0deg, #ddd, #fff 1em);
    padding: .4em 1.6em;
    border-radius: .32em;
    color: inherit;
    overflow: hidden;
    position: relative;
    border: 1px solid #ccc
}

#main .custom-btn-small a .click-point {
    will-change: transform;
    margin: -5px 0 0 -5px;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    animation: clicklEffect 1000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal
}

#main .custom-btn-small a:hover {
    border-color: #666
}

#main .custom-link-1 a {
    color: inherit
}

#main .custom-link-1 a::after {
    display: inline-block;
    content: '';
    background: url("../images/img-arrow-1.svg") no-repeat center/100% 100%;
    width: .4em;
    height: .625em;
    margin-left: .32em;
    vertical-align: 4%
}

#main .custom-link-1 a:hover {
    text-decoration: underline
}

#main .custom-link-1 a:hover::after {
    transform: translateX(.16em)
}

#main .custom-toggle-btn-hide {
    display: none
}

#main .custom-toggle-btn.show .custom-toggle-btn-hide {
    display: block
}

#main .custom-toggle-btn.show .custom-toggle-btn-show {
    display: none
}

#main .custom-toggle-panel {
    padding: 1px 0;
    margin: -1px 0
}

#main .custom-toggle-panel>*:first-child {
    margin-top: 0
}

#main .custom-icon-chat::before {
    background-image: url("../images/img-chat-1.svg");
    vertical-align: -18%
}

#main .custom-icon-chat2::before {
    background-image: url("../images/img-chat-2.svg");
    vertical-align: -18%
}

@media (max-width: 730px) {
    #main .custom-3crowns {
        margin-right: -4vw;
        margin-left: -4vw
    }
}

#main .custom-3crowns-header h2 {
    background: url("../images/img-3crowns-2.png") no-repeat .4em center, url("../images/img-3crowns-3.png") no-repeat right center;
    min-height: 164px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
    font-size: 2.25rem;
    padding-right: .8em
}

@media (max-width: 730px) {
    #main .custom-3crowns-header h2 {
        font-size: 136%;
        background-size: auto 4.8em;
        min-height: 4.8em;
        padding-right: 1.6em
    }
}

#main .custom-3crowns-header h2 .span2 {
    font-size: 248%;
    filter: drop-shadow(0 0 .1em #fff)
}

#main .custom-3crowns-header h2 .span3 {
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    font-style: italic;
    font-size: 160%;
    vertical-align: -6%;
    margin-bottom: -.1em;
    margin-right: -.025em
}

#main .custom-3crowns-header h2 sub {
    font-size: 40%;
    margin-top: 4.8em
}

#main .custom-3crowns-header h3 {
    background: url("../images/img-3crowns-2.png") no-repeat .4em center, url("../images/img-3crowns-3.png") no-repeat right center;
    min-height: 164px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
    font-size: 2.25rem;
    padding-right: .8em
}

@media (max-width: 730px) {
    #main .custom-3crowns-header h3 {
        font-size: 136%;
        background-size: auto 4.8em;
        min-height: 4.8em;
        padding-right: 1.6em
    }
}

#main .custom-3crowns-header h3 .span2 {
    font-size: 248%;
    filter: drop-shadow(0 0 .1em #fff)
}

#main .custom-3crowns-header h3 .span3 {
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    font-style: italic;
    font-size: 160%;
    vertical-align: -6%;
    margin-bottom: -.1em;
    margin-right: -.025em
}

#main .custom-3crowns-header h3 sub {
    font-size: 40%;
    margin-top: 4.8em
}

#main .custom-3crowns-header ul {
    margin: -.8em auto 0;
    display: flex;
    justify-content: center;
    font-size: 1.125rem
}

@media (max-width: 730px) {
    #main .custom-3crowns-header ul {
        font-size: 69%
    }
}

#main .custom-3crowns-header li {
    background: url("../images/img-3crowns-4.png") no-repeat center top/100%;
    width: 225px;
    max-width: calc(100% / 3);
    min-height: 216px
}

@media (max-width: 730px) {
    #main .custom-3crowns-header li {
        min-height: 30.247vw
    }
}

#main .custom-3crowns-header li .span1 {
    display: block;
    filter: drop-shadow(0 0 .1em #fff);
    font-size: 280%;
    line-height: 1.1;
    margin: 1.067em auto .267em
}

#main .custom-3crowns-header li .span2 {
    font-family: "Times New Roman", Times, "serif";
    font-style: italic;
    font-size: 168%;
    vertical-align: -4%;
    margin: 0 -.029em
}

#main .custom-3crowns-header li .span3 {
    display: block;
    font-weight: bold
}

#main .custom-3crowns-content {
    background-image: linear-gradient(0deg, #FFF7BD, rgba(255, 255, 255, 0) 1.6em), linear-gradient(#FFF7BD, #fff 1.6em);
    padding: .8em 24px 1.6em
}

@media (max-width: 730px) {
    #main .custom-3crowns-content {
        padding: .4em 3.025vw .8em
    }
}

#main .custom-3crowns-content .sec-title {
    font-size: 3.0rem;
    background: url(/wpcms/custom/images/back_img_04.png) no-repeat;
    background-size: 100%;
    padding: .2em 0;
    margin: .5em auto;
}

@media (max-width: 730px) {
    #main .custom-3crowns-content .sec-title {
        font-size: 5.5vw;
        padding: .5em 0;
    }
}

#main .custom-3crowns-content .sec-title>.span {
    filter: drop-shadow(2px 2px 2px #000);
    background-image: linear-gradient(45deg, #fedd83 20%, #fdf0b3, #fedd83 80%);
    display: inline-block;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/*
#main .custom-3crowns-content h3 {
    text-align: center;
    font-size: 3.25rem;
    line-height: 1.2;
    position: relative;
    padding: .8em 0 .533em;
    margin: 1em auto .4em
}

@media (max-width: 730px) {
    #main .custom-3crowns-content h3 {
        font-size: 192%
    }
}

#main .custom-3crowns-content h3::before,
#main .custom-3crowns-content h3::after {
    display: block;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-style: solid;
    border-image: linear-gradient(90deg, #D28F19, #FAD13C, #D28F19) 1
}

#main .custom-3crowns-content h3::before {
    height: 100%;
    border-width: 5px 0
}

@media (max-width: 730px) {
    #main .custom-3crowns-content h3::before {
        border-width: .63vw 0
    }
}

#main .custom-3crowns-content h3::after {
    height: calc(100% - 14px);
    border-width: 1px 0;
    opacity: .5
}

@media (max-width: 730px) {
    #main .custom-3crowns-content h3::after {
        height: calc(100% - 1.512vw)
    }
}
*/
#main .custom-3crowns-content h3 i.number {
    text-shadow: 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .16em #fff, 0 0 .16em #fff, 0 0 .16em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .4em #fff, 0 0 .4em #fff, 0 0 .4em #fff, 0 0 .8em #fff, 0 0 .8em #fff, 0 0 .8em #fff;
    background: url("../images/img-3crowns-6.png") no-repeat center/auto 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    font-size: 64%;
    line-height: 1.1;
    transform: translateY(-50%);
    z-index: 1
}

@media (max-width: 730px) {
    #main .custom-3crowns-content h3 i.number {
        height: 8.57vw
    }
}

#main .custom-3crowns-content h3 i.number::before {
    content: counter(num);
    counter-increment: num;
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    font-size: 160%;
    vertical-align: -2%
}

#main .custom-3crowns-content h3 i.number::after {
    content: '冠目';
    font-style: normal
}

#main .custom-3crowns-content-wrap {
    background: #FFF7BD url("../images/img-3crowns-1.jpg") no-repeat center top/100%;
    padding: 20px;
    counter-reset: num
}

@media (max-width: 730px) {
    #main .custom-3crowns-content-wrap {
        padding: 2.016vw
    }
}

#main .custom-3crowns-recommend:not(:first-of-type) {
    margin-top: 1.6em
}

#main .custom-3crowns-recommend-header figure {
    float: left;
    margin: 0
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header figure {
        width: 33%
    }
}

#main .custom-3crowns-recommend-header figure~* {
    margin-left: 248px
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header figure~* {
        margin-left: 37%
    }
}

#main .custom-3crowns-recommend-header h4 {
    font-size: 2rem;
    font-weight: normal;
    position: relative;
    padding: .4em 0 .4em 112px;
    border-style: solid;
    border-image: linear-gradient(90deg, #fff, #ADA190, #fff) 1;
    border-width: 0 0 1px;
    margin-top: .8em;
    margin-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header h4 {
        font-size: 128%;
        padding-left: 16.132vw;
        margin-bottom: .4em
    }
}

#main .custom-3crowns-recommend-header h4 i.label {
    font-style: normal;
    font-weight: 600;
    font-size: 88%;
    background: url("../images/img-3crowns-8.png") no-repeat center/100%;
    width: 101px;
    height: 101px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1.05;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header h4 i.label {
        width: 15.123vw;
        height: 15.123vw
    }
}

#main .custom-3crowns-recommend-header p {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: .8em;
    margin-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header p {
        font-size: 128%;
        margin-top: .4em;
        margin-bottom: .4em
    }
}

#main .custom-3crowns-recommend-header+.custom-toggle {
    clear: both;
    margin-top: -1em
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend-header+.custom-toggle {
        margin-top: -.8em
    }
}

#main .custom-3crowns-recommend2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

#main .custom-3crowns-recommend2-list {
    max-width: 32.5%;
    font-weight: normal;
    font-size: 1.375rem;
    line-height: 1.2
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend2-list {
        font-size: 72%
    }
}

#main .custom-3crowns-recommend2-list figure {
    margin: 1em 0 0
}

#main .custom-3crowns-recommend2-list i.label {
    font-style: normal;
    font-weight: 600;
    font-size: 120%;
    background: url("../images/img-3crowns-8.png") no-repeat center/100%;
    width: 90px;
    height: 90px;
    position: absolute;
    left: 0;
    bottom: 100%;
    line-height: 1.05;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center
}

@media (max-width: 730px) {
    #main .custom-3crowns-recommend2-list i.label {
        width: 12.603vw;
        height: 12.603vw
    }
}

#main .custom-3crowns-recommend2-list figcaption {
    position: relative
}

#main .custom-3crowns-img-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 1.6em
}

#main .custom-3crowns-img-list figure {
    max-width: calc(100% / 3);
    margin: .2em 0;
    padding: 0 .5%
}

#main .custom-baby {
    position: relative;
    border: 1px solid #FFD5D6;
    background: #FFF0F2 url("../images/img-baby-1.png") no-repeat right .8em top .8em;
    border-radius: .4em;
    padding: 0 24px
}

@media (max-width: 730px) {
    #main .custom-baby {
        margin-right: -2vw;
        margin-left: -2vw;
        padding: 0 3.025vw;
        background-size: 20.164vw
    }
}

#main .custom-baby::before,
#main .custom-baby::after {
    content: '';
    position: absolute
}

#main .custom-baby::before {
    background: url("../images/img-baby-2.png") no-repeat center/100%;
    width: 104px;
    height: 105px;
    position: absolute;
    left: .8em;
    top: 0;
    transform: translateY(-24%)
}

@media (max-width: 730px) {
    #main .custom-baby::before {
        width: 13.107vw;
        height: 13.233vw
    }
}

#main .custom-baby::after {
    width: 100%;
    height: 1.6em;
    background: linear-gradient(0deg, #fff, #FFD5D6 10%);
    border-radius: 100%;
    left: 0;
    top: 100%;
    transform: translateY(-80%);
    z-index: -1;
    filter: blur(.16em)
}

#main .custom-baby h3 {
    line-height: 1.2;
    font-size: 2.25rem;
    margin: 1em auto .4em
}

@media (max-width: 730px) {
    #main .custom-baby h3 {
        font-size: 136%
    }
}

#main .custom-baby h3 .span1 {
    font-size: 100%;
    margin: auto;
    background: url("../images/img-baby-3.png") no-repeat right center;
    min-height: 72px;
    padding: .4em .533em 0 .4em
}

@media (max-width: 730px) {
    #main .custom-baby h3 .span1 {
        min-height: 10.082vw;
        background-size: auto 10.082vw
    }
}

#main .custom-baby h3 .span1::before,
#main .custom-baby h3 .span1::after {
    width: 5px;
    background-color: transparent;
    background-image: radial-gradient(closest-side circle, #333 50%, rgba(51, 51, 51, 0) 60%);
    background-size: 5px 5px;
    background-repeat: space;
    background-position: center;
    height: 70%;
    bottom: 15%
}

#main .custom-baby h3 .span2 {
    display: block;
    margin-top: -.16em
}

#main .custom-baby h3 .span3 {
    background: url("../images/img-baby-4.png") no-repeat center bottom/100%;
    padding-bottom: .2em
}

#main .custom-baby-btn {
    margin: 1em auto .4em;
    font-size: 1.625rem
}

@media (max-width: 730px) {
    #main .custom-baby-btn {
        font-size: 96%
    }
}

#main .custom-baby-btn a {
    color: #fff;
    background: #E95A3D;
    border-radius: .4em;
    display: block;
    padding: 1em 1em 1em 0;
    border-bottom: 5px solid #86240F;
    overflow: hidden;
    position: relative;
    overflow: hidden;
    position: relative;
    text-shadow: 0 0 .16em rgba(0, 0, 0, 0.6)
}

#main .custom-baby-btn a .click-point {
    will-change: transform;
    margin: -5px 0 0 -5px;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    animation: clicklEffect 1000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal
}

@media (max-width: 730px) {
    #main .custom-baby-btn a {
        border-bottom-width: .63vw
    }
}

#main .custom-baby-btn a::before,
#main .custom-baby-btn a::after {
    content: '';
    position: absolute
}

#main .custom-baby-btn a::before {
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border: 1px dashed;
    border-radius: .2666666667em;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: .5
}

@media (max-width: 730px) {
    #main .custom-baby-btn a::before {
        width: calc(100% - 4px);
        height: calc(100% - 4px)
    }
}

#main .custom-baby-btn a::after {
    width: 1.76em;
    height: 1.76em;
    border-radius: 50%;
    background: #86240F url("../images/img-arrow-2.svg") no-repeat .4em center/.356em .556em;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
    box-shadow: 0 0 .16em rgba(0, 0, 0, 0.8) inset
}

#main .custom-baby-btn a:hover {
    box-shadow: 0 0 .8em rgba(255, 255, 255, 0.4) inset
}

#main .custom-baby figure {
    margin: .8em auto
}

#main .custom-henkin {
    margin: 1.6em auto;
    position: relative;
    background: #FFFCE8 radial-gradient(#fff, #FFFCE8 60%);
    border: 16px solid #FFFCE8;
    box-shadow: 0 0 0 2px #D9C369 inset, 0 0 0 4px #FFFCE8 inset, 0 0 0 5px #D9C369 inset;
    padding: 0 32px 1.6em;
    width: 690px;
    max-width: 100%
}

@media (max-width: 730px) {
    #main .custom-henkin {
        border-width: 2.016vw;
        padding: 0 4.033vw .8em;
        box-shadow: 0 0 0 2px #D9C369 inset, 0 0 0 3px #FFFCE8 inset, 0 0 0 4px #D9C369 inset;
        margin: 1em -2vw;
        width: auto;
        max-width: none
    }
}

#main .custom-henkin::before {
    content: '';
    background: url("../images/img-henkin-3.png") no-repeat center top;
    width: 100%;
    height: 16px;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 16px
}

@media (max-width: 730px) {
    #main .custom-henkin::before {
        margin-top: 2.016vw;
        background-size: 100%
    }
}

#main .custom-henkin h3 {
    font-size: 1.875rem;
    border-style: solid;
    border-image: linear-gradient(90deg, rgba(119, 82, 40, 0) 10%, rgba(119, 82, 40, 0.5), rgba(119, 82, 40, 0) 90%) 1;
    border-width: 0 0 2px;
    padding-bottom: .267em
}

@media (max-width: 730px) {
    #main .custom-henkin h3 {
        font-size: 112%
    }
}

#main .custom-henkin h3::before,
#main .custom-henkin h3::after {
    display: block;
    background: url("../images/img-henkin-1.png") no-repeat center/100%;
    width: 213px;
    height: 103px;
    position: absolute;
    top: -.8em
}

@media (max-width: 730px) {
    #main .custom-henkin h3::before,
    #main .custom-henkin h3::after {
        width: 26.844vw;
        height: 12.981vw
    }
}

#main .custom-henkin h3::before {
    left: -1em
}

#main .custom-henkin h3::after {
    right: -1em;
    transform: scaleX(-1)
}

#main .custom-yoyaku {
    margin: 1.6em auto
}

#main .custom-yoyaku table {
    margin-top: 1em
}

#main .custom-yoyaku th,
#main .custom-yoyaku td {
    border-color: #ccc
}

#main .custom-yoyaku th {
    font-size: 1.125rem;
    background: #FFE47B;
    padding-top: 1em;
    padding-bottom: 1em
}

@media (max-width: 730px) {
    #main .custom-yoyaku th {
        font-size: 88%
    }
}

#main .custom-yoyaku td {
    text-align: center;
    font-size: 1.375rem;
    background: #fff
}

@media (max-width: 730px) {
    #main .custom-yoyaku td {
        font-size: 112%
    }
}

#main .custom-timetable {
    table-layout: fixed
}

#main .custom-timetable th,
#main .custom-timetable td {
    border-color: #ccc
}

#main .custom-timetable th:first-child,
#main .custom-timetable td:first-child {
    width: 30%
}

#main .custom-timetable th {
    font-size: 1.25rem;
    background: #FFE47B;
    padding-top: .8em;
    padding-bottom: .8em
}

@media (max-width: 730px) {
    #main .custom-timetable th {
        font-size: 80%
    }
}

#main .custom-timetable td {
    text-align: center;
    font-size: 1.688rem;
    background: #fff;
    font-weight: 500
}

@media (max-width: 730px) {
    #main .custom-timetable td {
        font-size: 112%
    }
}

#main .custom-timetable td:first-child {
    font-size: 1.375rem
}

@media (max-width: 730px) {
    #main .custom-timetable td:first-child {
        font-size: 88%
    }
}

#main .custom-nayami {
    background: linear-gradient(#fff, rgba(255, 255, 255, 0) 1.6em), url("../images/img-bg-1.jpg") no-repeat center/cover;
    padding: 1.6em 24px;
    position: relative;
    padding-bottom: 11%;
}

@media (max-width: 730px) {
    #main .custom-nayami {
        margin-right: -4vw;
        margin-left: -4vw;
        padding: .8em 3.025vw;
        padding-bottom: 15%;
    }
}

#main .custom-nayami::before,
#main .custom-nayami::after {
    content: '';
    width: 56%;
    height: 4em;
    background: #000;
    position: absolute;
    bottom: 0
}

#main .custom-nayami::before {
    right: 50%;
    background: linear-gradient(11deg, #fff 50%, rgba(255, 255, 255, 0) 51%)
}

#main .custom-nayami::after {
    left: 50%;
    background: linear-gradient(-11deg, #fff 50%, rgba(255, 255, 255, 0) 51%)
}

#main .custom-nayami h3 {
    font-size: 4rem;
    line-height: 1.15;
    margin: .4em 0
}

@media (max-width: 730px) {
    #main .custom-nayami h3 {
        font-size: 232%
    }
}

#main .custom-nayami h3 .span1::before {
    content: '';
    display: inline-block;
    background: url("../images/img-nayami-1.svg") no-repeat center/100% 100%;
    width: .941em;
    height: .845em
}

#main .custom-nayami h3 .span2 {
    background: url("../images/img-nayami-2.png") no-repeat center bottom/100%;
    padding-bottom: .2em
}

#main .nayami-title {
    font-size: 2.5rem;
    text-align: center;
}

@media (max-width: 730px) {
    #main .nayami-title {
        font-size: 5.8vw;
    }
}

@media screen\0 {
    #main .custom-nayami h3 .span2 {
        padding-bottom: 0;
        background-position: center bottom .267em
    }
}

@supports (-ms-ime-align: auto) {
    #main .custom-nayami h3 .span2 {
        padding-bottom: 0
    }
}

#main .custom-nayami ul {
    background: #fff;
    padding: .8em 24px;
    box-shadow: 0 0 .4em rgba(0, 0, 0, 0.3);
    position: relative;
    margin: 1.6em auto .4em
}

@media (max-width: 730px) {
    #main .custom-nayami ul {
        padding: .4em 3.025vw
    }
}
/*
#main .custom-nayami ul::before {
    content: '';
    background: url("../images/img-nayami-3.png") no-repeat center/auto 100%;
    width: 100%;
    height: 55px;
    position: absolute;
    left: 0;
    top: 100%
}

@media (max-width: 730px) {
    #main .custom-nayami ul::before {
        height: 6.932vw
    }
}
*/
#main .custom-nayami li {
    background-image: url("../images/img-check-2.svg")
}

#main .custom-nayami-footer {
    background: url("../images/img-nayami-4.png") no-repeat right bottom;
    padding: 2.24em 0;
    min-height: 328px;
    margin-right: -16px;
    font-size: 1.813rem
}

@media (max-width: 730px) {
    #main .custom-nayami-footer {
        background-size: 28.841vw;
        min-height: 47.538vw;
        font-size: 104%;
        margin-right: -2.016vw
    }
}

#main .custom-nayami-footer p {
    margin: .4em 0
}

#main .custom-nayami-footer .span1 {
    background: url("../images/img-underline-1.png") repeat-x left bottom;
    padding-bottom: .16em
}

@media (max-width: 730px) {
    #main .custom-nayami-footer .span1 {
        background-size: auto 1px
    }
}

@media screen\0 {
    #main .custom-nayami-footer .span1 {
        padding-bottom: 0;
        background-position: left bottom .267em
    }
}

@supports (-ms-ime-align: auto) {
    #main .custom-nayami-footer .span1 {
        padding-bottom: 0
    }
}

#main .custom-2causes-list {
    display: flex;
    justify-content: space-between
}

#main .custom-2causes-list figure {
    margin: 0 auto .4em
}

@media (max-width: 730px) {
    #main .custom-2causes-list figure {
        margin: 0 0 .4em;
        width: 48%
    }
}

#main .custom-2causes-list figcaption {
    font-size: 2.125rem;
    background: url("../images/img-2causes-3.png") repeat-y center/100%;
    color: #fff;
    text-shadow: 0 0 .2em rgba(0, 0, 0, 0.8);
    margin: -1em 0 0;
    position: relative
}

@media (max-width: 730px) {
    #main .custom-2causes-list figcaption {
        font-size: 128%
    }
}

#main .custom-2causes-flow {
    padding: 0;
    line-height: 1.2;
    font-size: 1.5rem;
    display: flex;
    margin: 1.6em auto
}

@media (max-width: 730px) {
    #main .custom-2causes-flow {
        font-size: 88%;
        margin: .8em -4vw
    }
}

#main .custom-2causes-flow li {
    width: calc((100% / 3) + 1px);
    position: relative;
    padding: 1.333em 1em 1.333em 0;
    margin: 0 -1px
}

#main .custom-2causes-flow li::before,
#main .custom-2causes-flow li::after {
    content: '';
    position: absolute;
    left: 0;
    background: #ECF2FB;
    height: 50%;
    width: 100%;
    border-radius: 0;
    z-index: -1
}

#main .custom-2causes-flow li::before {
    bottom: 50%;
    transform-origin: right bottom;
    transform: skewX(28deg)
}

#main .custom-2causes-flow li::after {
    top: 50%;
    transform-origin: right top;
    transform: skewX(-28deg)
}

#main .custom-2causes-flow li:nth-of-type(2)::before,
#main .custom-2causes-flow li:nth-of-type(2)::after {
    background: #D1E6F9
}

#main .custom-2causes-flow li:nth-of-type(3)::before,
#main .custom-2causes-flow li:nth-of-type(3)::after {
    background: #A2CCF2
}

#main .custom-2causes-flow .span1 {
    color: #0C66A5;
    background: url("../images/img-underline-1.png") repeat-x left bottom;
    padding-bottom: .2em
}

@media (max-width: 730px) {
    #main .custom-2causes-flow .span1 {
        background-size: auto 1px
    }
}

@media screen\0 {
    #main .custom-2causes-flow .span1 {
        padding-bottom: 0;
        background-position: left bottom .267em
    }
}

@supports (-ms-ime-align: auto) {
    #main .custom-2causes-flow .span1 {
        padding-bottom: 0
    }
}

#main .custom-2causes-footer {
    background: #FAE389 url("../images/img-bg-2.jpg") no-repeat center;
    padding: 2.4em 0;
    border-radius: 1.6em;
    box-shadow: 0 0 1.6em 1em #fff inset
}

@media (max-width: 730px) {
    #main .custom-2causes-footer {
        margin: 0 -4vw;
        padding: 1.6em 4vw;
        background-size: cover
    }
}

#main .custom-2causes-footer h3 {
    font-size: 3.5rem;
    margin: .2em 0
}

@media (max-width: 730px) {
    #main .custom-2causes-footer h3 {
        font-size: 200%
    }
}

#main .custom-2causes-footer p {
    font-size: 2.25rem;
    line-height: 1.3;
    margin: .4em 0
}

@media (max-width: 730px) {
    #main .custom-2causes-footer p {
        font-size: 136%
    }
}

#main .custom-aisatsu-header-photo {
    margin: 0;
    margin-right: 8px;
    float: right
}

@media (max-width: 730px) {
    #main .custom-aisatsu-header-photo {
        width: 43%;
        margin-right: -2vw
    }
}

#main .custom-aisatsu-header h3 {
    color: #fff;
    background: #FF9A00 linear-gradient(-90deg, #fff 32%, #FF9A00 72%);
    text-shadow: 0 0 .16em rgba(0, 0, 0, 0.6);
    font-size: 1.75rem;
    padding: .8em;
    position: relative;
    z-index: -1;
    margin: .4em 0
}

@media (max-width: 730px) {
    #main .custom-aisatsu-header h3 {
        font-size: 120%;
        margin-left: -4vw;
        padding: .8em 4vw
    }
}

#main .custom-aisatsu-header h3::before {
    display: block;
    width: 100%;
    height: calc(100% - 4px);
    border-style: solid;
    border-color: #fff;
    border-width: 1px 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: .5
}

@media (max-width: 730px) {
    #main .custom-aisatsu-header h3::before {
        height: calc(100% - 2px)
    }
}

#main .custom-aisatsu-header h3 .span1 {
    font-weight: normal;
    letter-spacing: .016em
}

#main .custom-aisatsu-header h4 {
    font-size: 1.75rem;
    color: #B3750B;
    line-height: 1.2;
    background: url("../images/img-aisatsu-2.png") no-repeat center/100% 100%;
    width: 410px;
    max-width: 100%;
    min-height: 100px;
    float: left;
    padding-top: .5333333333em;
    margin: .4em 0
}

@media (max-width: 730px) {
    #main .custom-aisatsu-header h4 {
        width: 51.671vw;
        min-height: 12.603vw;
        font-size: 96%
    }
}

#main .custom-aisatsu-header-media {
    font-size: .938rem;
    float: left;
    margin: .4em 0
}

@media (max-width: 730px) {
    #main .custom-aisatsu-header-media {
        margin-left: -2vw;
        width: 58%;
        font-size: 56%
    }
}

#main .custom-2features-list {
    font-size: 1.75rem;
    line-height: 1.3;
    margin: 0;
    display: flex;
    justify-content: center
}

@media (max-width: 730px) {
    #main .custom-2features-list {
        font-size: 104%
    }
}

#main .custom-2features-list li {
    margin: .8em -.8em;
    background: url("../images/img-2features-1.png") no-repeat center/100%, radial-gradient(rgba(255, 117, 16, 0.15), rgba(255, 117, 16, 0));
    width: 379px;
    height: 379px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #FF7210
}

@media (max-width: 730px) {
    #main .custom-2features-list li {
        width: 51.108vw;
        height: 51.108vw
    }
}

#main .custom-2features-list li:nth-of-type(2) {
    background-image: url("../images/img-2features-2.png"), radial-gradient(rgba(226, 61, 56, 0.15), rgba(226, 61, 56, 0));
    color: #FF4D4D
}

#main .custom-2features-footer {
    border: 2px solid #FFE47B;
    font-size: 1.75rem;
    padding: 0 1.6em
}

@media (max-width: 730px) {
    #main .custom-2features-footer {
        font-size: 104%
    }
}

#main .custom-2features-footer p {
    margin: 1em 0
}

#main .custom-3steps {
    margin-right: auto;
    margin-left: auto;
    width: 708px;
    max-width: 100%
}

#main .custom-3steps-content {
    border: 10px solid #FAF3E0
}

@media (max-width: 730px) {
    #main .custom-3steps-content {
        border-width: 1.26vw;
        margin: 0 -2vw
    }
}

#main .custom-3steps-content h3 {
    font-size: 3.375rem;
    color: #fff;
    margin: .4em -21px;
    background: #FF9A00;
    position: relative;
    padding: .267em;
    text-shadow: 0 0 .1em rgba(0, 0, 0, 0.4);
    line-height: 1.15;
    box-shadow: 0 2px 0 rgba(255, 255, 255, 0.4) inset, 0 3px 0 rgba(0, 0, 0, 0.15) inset, 0 -2px 0 rgba(255, 255, 255, 0.4) inset, 0 -3px 0 rgba(0, 0, 0, 0.15) inset
}

@media (max-width: 730px) {
    #main .custom-3steps-content h3 {
        font-size: 200%;
        margin: .4em -2.647vw
    }
}

#main .custom-3steps-content h3::before,
#main .custom-3steps-content h3::after {
    display: block;
    position: absolute;
    top: 100%;
    border-style: solid;
    border-color: transparent;
    border-top-color: #222
}

#main .custom-3steps-content h3::before {
    left: 0;
    border-width: 8px 0 0 11px
}

@media (max-width: 730px) {
    #main .custom-3steps-content h3::before {
        border-width: 1.26vw 0 0 1.512vw
    }
}

#main .custom-3steps-content h3::after {
    right: 0;
    border-width: 8px 11px 0 0
}

@media (max-width: 730px) {
    #main .custom-3steps-content h3::after {
        border-width: 1.26vw 1.512vw 0 0
    }
}

#main .custom-3steps-content h3 .span1 {
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    font-size: 152%;
    vertical-align: -3%
}

#main .custom-3steps-content ol {
    font-size: 1.688rem;
    position: relative;
    margin: .4em auto;
    padding: 0 16px;
    line-height: 1.3
}

@media (max-width: 730px) {
    #main .custom-3steps-content ol {
        font-size: 100%;
        padding: 0 2.016vw
    }
}

#main .custom-3steps-content ol::before {
    content: '';
    background: url("../images/img-down-1.png") no-repeat center/auto 100%;
    width: 100%;
    height: 77px;
    position: absolute;
    left: 0;
    top: 100%
}

@media (max-width: 730px) {
    #main .custom-3steps-content ol::before {
        height: 9.704vw
    }
}

#main .custom-3steps-content li {
    padding: .889em 0;
    padding-left: 2.56em
}

#main .custom-3steps-content li::before {
    display: flex;
    line-height: 1.05;
    justify-content: center;
    align-items: center;
    font-family: "Times New Roman", Times, "serif";
    font-style: italic;
    background: #FFAB00;
    width: 1.103em;
    height: 1.103em;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 200%;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    border: 1px solid #FFAB00;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset
}

#main .custom-3steps-content li:not(:last-of-type) {
    border-bottom: 1px dotted #ccc
}

#main .custom-3steps-footer {
    padding: 1.6em;
    background: #F8E390 url("../images/img-bg-2.jpg") no-repeat center;
    border-radius: 1.6em;
    box-shadow: 0 0 2.4em 1.92em #fff inset
}

@media (max-width: 730px) {
    #main .custom-3steps-footer {
        background-size: cover
    }
}

#main .custom-3steps-footer figure {
    float: right;
    margin: 0
}

@media (max-width: 730px) {
    #main .custom-3steps-footer figure {
        width: 40%
    }
}

#main .custom-3steps-footer p {
    font-size: 2.25rem;
    line-height: 1.3;
    margin: 1em 0;
    white-space: nowrap
}

@media (max-width: 730px) {
    #main .custom-3steps-footer p {
        font-size: 128%;
        margin-top: 1.6em
    }
}

#main .custom-before-after h2 {
    font-size: 3.5rem;
    background: url("../images/img-before-after-1.png") no-repeat center/100% 100%;
    min-height: 219px;
    padding-top: .667em;
    margin: .8em auto 0
}

@media (max-width: 730px) {
    #main .custom-before-after h2 {
        margin: .8em -2vw 0;
        font-size: 200%;
        min-height: 28.152vw
    }
}

#main .custom-before-after h2 .span1 {
    font-size: 64%;
    margin: auto
}

#main .custom-before-after-content {
    width: 690px;
    max-width: 100%;
    background: #FFFDEF;
    padding: .2em 24px;
    margin: .4em auto 1em;
    box-shadow: 0 0 .267em rgba(255, 179, 0, 0.6)
}

@media (max-width: 730px) {
    #main .custom-before-after-content {
        padding: .1em 4.033vw;
        max-width: none;
        width: auto;
        margin: .4em -2vw .8em
    }
}

#main .custom-aisatsu2 h2 {
    font-size: 3.125rem
}

@media (max-width: 730px) {
    #main .custom-aisatsu2 h2 {
        font-size: 184%
    }
}

#main .custom-aisatsu2-content {
    margin: auto;
    width: 710px;
    max-width: 100%;
    box-shadow: 0 0 .267em rgba(0, 0, 0, 0.2);
    padding: 16px 32px
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content {
        width: auto;
        max-width: none;
        margin: auto -2vw;
        padding: 2.016vw 4.033vw
    }
}

#main .custom-aisatsu2-content-header {
    margin: -16px -32px 0;
    padding: 16px 32px;
    background: #FBF2DD url("../images/img-aisatsu2-1.jpg") no-repeat center top/cover;
    position: relative
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content-header {
        margin: -2.016vw -4.033vw 0;
        padding: 2.016vw 4.033vw
    }
}

#main .custom-aisatsu2-content-header::before {
    content: '';
    width: 100%;
    height: 3.2em;
    background: linear-gradient(0deg, #fff .4em, rgba(255, 255, 255, 0));
    position: absolute;
    left: 0;
    bottom: -1px
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content-header::before {
        height: 1.6em
    }
}

#main .custom-aisatsu2-content-header figure {
    margin: -2.08em -16px -16px 0;
    float: right
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content-header figure {
        width: 42%;
        margin-top: -1.6em;
        margin-right: -2.016vw;
        margin-bottom: -2.016vw
    }
}

#main .custom-aisatsu2-content-header h3 {
    white-space: nowrap;
    font-size: 2.375rem;
    margin: 1em 0
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content-header h3 {
        font-size: 136%;
        margin: .8em 0
    }
}

#main .custom-aisatsu2-content-header p {
    font-size: 1.5rem;
    line-height: 1.4
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content-header p {
        font-size: 88%;
        margin-top: .8em
    }
}

#main .custom-aisatsu2-content-header p .span1 {
    font-weight: normal
}

#main .custom-aisatsu2-content h4 {
    font-size: 2rem;
    margin: 1em 0
}

@media (max-width: 730px) {
    #main .custom-aisatsu2-content h4 {
        font-size: 136%
    }
}

#main .custom-voice-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1.6em auto
}

@media (max-width: 730px) {
    #main .custom-voice-header {
        margin: 1em -2vw
    }
}

#main .custom-voice-header h2 {
    margin: auto;
    font-size: 2.625rem
}

@media (max-width: 730px) {
    #main .custom-voice-header h2 {
        font-size: 152%
    }
}

@media screen\0 {
    #main .custom-voice-header h2 {
        width: 100%;
        font-size: 2.5rem;
        margin-top: .4em
    }
    #main .custom-voice-header h2::before,
    #main .custom-voice-header h2::after {
        transform-origin: center top
    }
}

#main .custom-voice-header figure {
    padding: 0 1px;
    margin: .4em 0;
    max-width: 20%
}

#main .custom-voice-list {
    display: flex;
    justify-content: space-between;
    padding: 0 8px;
    margin: 1.6em auto
}

@media (max-width: 730px) {
    #main .custom-voice-list {
        padding: 0;
        margin: 1em -2vw
    }
}

#main .custom-voice-list figure {
    width: 240px;
    margin: 0
}

@media (max-width: 730px) {
    #main .custom-voice-list figure {
        width: 28%
    }
}

#main .custom-voice-list-fukidashi {
    background: #fff;
    border: 2px solid #FF9429;
    position: relative;
    width: calc(100% - 240px - 1em);
    border-radius: .4em;
    font-size: 1.5rem;
    padding: 0 1em;
    position: relative;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.2))
}

@media (max-width: 730px) {
    #main .custom-voice-list-fukidashi {
        font-size: 100%;
        width: calc(100% - 28% - 1em)
    }
}

#main .custom-voice-list-fukidashi::before,
#main .custom-voice-list-fukidashi::after {
    content: '';
    position: absolute;
    border: solid transparent;
    border-width: .533em .8em;
    right: 100%;
    top: 4em
}

@media (max-width: 730px) {
    #main .custom-voice-list-fukidashi::before,
    #main .custom-voice-list-fukidashi::after {
        top: 3.2em
    }
}

#main .custom-voice-list-fukidashi::before {
    border-right-color: #FF9429
}

#main .custom-voice-list-fukidashi::after {
    border-right-color: #fff;
    margin-right: -3px
}

#main .custom-voice-list-fukidashi p {
    margin: 1em 0
}

#main .custom-5reasons {
    padding: 0 15px 15px;
    background: #FFF7BD;
    counter-reset: num
}

@media (max-width: 730px) {
    #main .custom-5reasons {
        margin-right: -4vw;
        margin-left: -4vw;
        padding: 0 2.016vw 2.016vw
    }
}

#main .custom-5reasons-header {
    margin: 0 -15px;
    background: #fff url("../images/img-5reasons-2.png") no-repeat center bottom/100%;
    padding-bottom: 2.4em
}

@media (max-width: 730px) {
    #main .custom-5reasons-header {
        margin: 0 -2.016vw
    }
}

#main .custom-5reasons-header p.text1 {
    margin: auto;
    font-size: 2.375rem
}

@media (max-width: 730px) {
    #main .custom-5reasons-header p.text1 {
        font-size: 144%
    }
}

#main .custom-5reasons-header p.text2 {
    background: url("../images/img-5reasons-1.png") no-repeat center top/100% 100%;
    min-height: 120px;
    font-size: 3.25rem;
    margin: .2em 0 0;
    line-height: 1.15;
    text-shadow: 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff
}

@media (max-width: 730px) {
    #main .custom-5reasons-header p.text2 {
        font-size: 200%;
        min-height: 16.636vw
    }
}

#main .custom-5reasons-header p.text2 .span1 {
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    vertical-align: -4%
}

#main .custom-5reasons-header p.text2 sub {
    font-size: 24%
}

#main .custom-5reasons-header h2 {
    margin: 0;
    font-size: 3.5rem;
    line-height: 1.05
}

@media (max-width: 730px) {
    #main .custom-5reasons-header h2 {
        font-size: 224%
    }
}

#main .custom-5reasons-header h2 .span1 {
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    vertical-align: -2%;
    display: inline-block;
    margin: -.1em 0
}

#main .custom-5reasons-header+.custom-5reasons-content {
    margin-top: -1.6em
}

#main .custom-5reasons-content {
    background: #fff;
    padding: 30px;
    box-shadow: 0 0 .4em rgba(0, 0, 0, 0.2);
    margin-top: 15px
}

@media (max-width: 730px) {
    #main .custom-5reasons-content {
        padding: 4.033vw;
        margin-top: 2.016vw
    }
}

#main .custom-5reasons-content h3 {
    font-size: 2rem;
    margin: -.4em -4px .8em;
    padding: .6666666667em 0;
    padding-left: 112px;
    position: relative;
    border-bottom: 1px solid rgba(61, 32, 12, 0.2);
    box-shadow: 0 1px 0 #fff, 0 2px 0 rgba(61, 32, 12, 0.1)
}

@media (max-width: 730px) {
    #main .custom-5reasons-content h3 {
        font-size: 136%;
        padding-left: 16.132vw;
        margin-right: -2.016vw;
        margin-left: -2.016vw
    }
}

#main .custom-5reasons-content h3::before,
#main .custom-5reasons-content h3::after {
    display: flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    width: 100px;
    height: 100px;
    color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    text-shadow: 0 0 .16em rgba(0, 0, 0, 0.5)
}

@media (max-width: 730px) {
    #main .custom-5reasons-content h3::before,
    #main .custom-5reasons-content h3::after {
        width: 14.115vw;
        height: 14.115vw
    }
}

#main .custom-5reasons-content h3::before {
    content: '理由';
    background: #FF7131 linear-gradient(-45deg, #FF7131, #FF9429, #FF7131);
    border-radius: 50%;
    font-size: 72%;
    padding-right: 1.143em;
    box-shadow: 1px 1px .16em rgba(0, 0, 0, 0.2)
}

#main .custom-5reasons-content h3::after {
    content: counter(num);
    counter-increment: num;
    font-family: "Times New Roman", Times, "serif";
    font-weight: normal;
    font-size: 160%;
    padding-left: .8em
}

#main .custom-5reasons-content h3 strong {
    font-weight: inherit;
    color: #BF1111
}

#main .custom-5reasons-content-hikaku {
    margin-top: 1em;
    background: #FFE47B;
    padding: .16em 30px .533em
}

@media (max-width: 730px) {
    #main .custom-5reasons-content-hikaku {
        padding-right: 3.025vw;
        padding-left: 3.025vw
    }
}

#main .custom-5reasons-content-hikaku p {
    margin: .8em 0
}

#main .custom-5reasons-content-hikaku p.title {
    border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
    padding-bottom: .615em;
    font-size: 1.625rem;
    line-height: 1.3
}

@media (max-width: 730px) {
    #main .custom-5reasons-content-hikaku p.title {
        font-size: 128%
    }
    #main .custom-5reasons-content-hikaku p.title img {
        width: 35.288vw
    }
}

#main .custom-5reasons-content-hikaku+.custom-5reasons-content-hikaku {
    background: #eee;
    color: #444;
    font-size: 1.125rem
}

@media (max-width: 730px) {
    #main .custom-5reasons-content-hikaku+.custom-5reasons-content-hikaku {
        font-size: 88%
    }
}

#main .custom-5reasons-content-hikaku+.custom-5reasons-content-hikaku p.title::before {
    content: '';
    display: inline-block;
    background: url("../images/img-5reasons-4.png") no-repeat center/100%;
    width: 30px;
    height: 30px;
    vertical-align: -10%;
    margin-right: .16em
}

@media (max-width: 730px) {
    #main .custom-5reasons-content-hikaku+.custom-5reasons-content-hikaku p.title::before {
        width: 1em;
        height: 1em
    }
}

#main .custom-suteki-content {
    padding: 15px;
    background: linear-gradient(0deg, #fff, rgba(255, 255, 255, 0) 3.2em), linear-gradient(#fff, #FEF7E0 9.6em)
}

@media (max-width: 730px) {
    #main .custom-suteki-content {
        margin: 0 -4vw;
        padding: 2.016vw
    }
}

#main .custom-suteki-content h2 {
    background: url("../images/img-suteki-1.png") no-repeat center top/100% 100%;
    min-height: 200px;
    margin: auto;
    font-size: 2.875rem;
    line-height: 1.2;
    padding-top: .533em
}

@media (max-width: 730px) {
    #main .custom-suteki-content h2 {
        min-height: 26.718vw;
        font-size: 168%
    }
}

#main .custom-suteki-content ul {
    background: #fff;
    padding: .8em 32px;
    border-radius: .267em;
    margin: .16em auto 2.4em;
    border: 1px solid #FFD77A;
    box-shadow: 0 0 .4em rgba(255, 179, 0, 0.4);
    position: relative
}

@media (max-width: 730px) {
    #main .custom-suteki-content ul {
        padding: .4em 4.033vw
    }
}

#main .custom-suteki-content ul::before {
    content: '';
    background: url("../images/img-down-1.png") no-repeat center/auto 100%;
    width: 100%;
    height: 77px;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 1.6em
}

@media (max-width: 730px) {
    #main .custom-suteki-content ul::before {
        height: 9.704vw;
        margin-top: .8em
    }
}

#main .custom-suteki-footer {
    padding: 3.2em 1.6em;
    background: #FBE389 url("../images/img-bg-2.jpg") no-repeat center;
    border-radius: 1.6em;
    box-shadow: 0 0 3.2em 2.4em #fff inset
}

@media (max-width: 730px) {
    #main .custom-suteki-footer {
        margin: 0 -4vw;
        padding: 1.6em
    }
}

#main .custom-suteki-footer h3,
#main .custom-suteki-footer figure {
    margin: auto
}

#main .custom-4features h2 {
    margin-top: 0
}

#main .custom-4features h2 .span1 {
    display: inline-block;
    vertical-align: -4%;
    margin: -.16em 0
}

@media screen\0 {
    #main .custom-4features h2 .span1 {
        margin-top: 0
    }
}

#main .custom-4features-list {
    width: 352px;
    max-width: 48%;
    margin: .533em 0
}

#main .custom-4features-list h3 {
    font-size: 1.625rem;
    margin: 0 auto .8em;
    background: #F8F2C7;
    padding: 1.143em 0;
    border-radius: .2em;
    position: relative
}

@media (max-width: 730px) {
    #main .custom-4features-list h3 {
        font-size: 88%
    }
}

#main .custom-4features-list h3::before,
#main .custom-4features-list h3::after {
    display: block;
    position: absolute
}

#main .custom-4features-list h3::before {
    counter-increment: num;
    content: counter(num, decimal-leading-zero);
    width: auto;
    height: auto;
    font-family: "Times New Roman", Times, "serif";
    font-style: italic;
    font-weight: normal;
    left: .2em;
    top: 0;
    transform: translateY(-50%);
    color: #FF9429;
    font-size: 160%
}

#main .custom-4features-list h3::after {
    border: .533em solid transparent;
    border-top-color: #F8F2C7;
    left: 50%;
    top: 100%;
    transform: translateX(-50%)
}

#main .custom-4features-list figure {
    margin: 0
}

@media (max-width: 730px) {
    #main .custom-4features-list figure {
        font-size: 72%
    }
}

#main .custom-4features-list-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    counter-reset: num
}

@media (max-width: 730px) {
    #main .custom-4features-list-wrap {
        margin: 0 -2vw
    }
}

@media (max-width: 730px) {
    #main .custom-innai {
        margin-right: -2vw;
        margin-left: -2vw
    }
}

#main .custom-innai h3 {
    font-size: 2.25rem;
    margin: .4em auto;
    background: #F8F2C7;
    padding: .667em 0;
    border-radius: .2em;
    position: relative
}

@media (max-width: 730px) {
    #main .custom-innai h3 {
        font-size: 128%
    }
}

#main .custom-innai h3::after {
    display: block;
    position: absolute;
    border: .457em solid transparent;
    border-top-color: #F8F2C7;
    left: 50%;
    top: 100%;
    transform: translateX(-50%)
}

#main .custom-innai-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1em auto .4em
}

#main .custom-innai-list figure {
    margin: .2em auto;
    max-width: 32.5%
}

#main .custom-flow h2 .span1 {
    display: block;
    font-weight: normal;
    margin-top: .267em
}

#main .custom-flow-list {
    width: 320px;
    max-width: 47%;
    margin-bottom: .8em
}

@media screen\0 {
    #main .custom-flow-list {
        margin-bottom: 1.6em
    }
}

#main .custom-flow-list h3 {
    font-size: 1.875rem;
    display: flex;
    align-items: center;
    min-height: 2.4em;
    margin: .2em 0;
    line-height: 1.2;
    position: relative;
    padding-left: 2.24em
}

@media (max-width: 730px) {
    #main .custom-flow-list h3 {
        font-size: 112%
    }
}

@media screen\0 {
    #main .custom-flow-list h3 {
        font-size: 1.75rem;
        display: table-cell;
        vertical-align: middle
    }
}

#main .custom-flow-list h3::before {
    content: counter(num);
    counter-increment: num;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-style: italic;
    font-family: "Times New Roman", Times, "serif";
    position: absolute;
    background: linear-gradient(-45deg, #FF7131, #FF9429, #FF7131);
    width: 1.185em;
    height: 1.185em;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    font-weight: normal;
    font-size: 160%;
    border: 1px solid #FF7131;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
    text-shadow: 0 0 .1em rgba(0, 0, 0, 0.4)
}

@media screen\0 {
    #main .custom-flow-list h3::before {
        top: 0;
        transform: translateY(0)
    }
}

#main .custom-flow-list figure {
    text-align: center;
    margin: 0
}

#main .custom-flow-list:nth-of-type(2n) figure {
    position: relative
}

#main .custom-flow-list:nth-of-type(2n) figure::before {
    content: '';
    position: absolute;
    background: url("../images/img-flow-1.png") no-repeat center/100%;
    width: 42px;
    height: 100%;
    right: 100%;
    top: 0;
    margin-right: 6px
}

@media (max-width: 730px) {
    #main .custom-flow-list:nth-of-type(2n) figure::before {
        width: 4.537vw;
        margin-right: .252vw
    }
}

#main .custom-flow-list-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 16px;
    counter-reset: num
}

@media (max-width: 730px) {
    #main .custom-flow-list-wrap {
        padding: 0;
        margin: 0 -2vw
    }
}

#main .custom-price th,
#main .custom-price td {
    border-color: #ccc;
    padding: 1em
}

@media (max-width: 730px) {
    #main .custom-price th,
    #main .custom-price td {
        padding: .8em
    }
}

#main .custom-price th {
    font-size: 1.25rem;
    background: #FFE47B;
    text-align: left
}

@media (max-width: 730px) {
    #main .custom-price th {
        font-size: 80%;
        white-space: nowrap
    }
}

#main .custom-price td {
    text-align: center;
    font-size: 1.5rem;
    background: #fff
}

@media (max-width: 730px) {
    #main .custom-price td {
        font-size: 120%
    }
}

#main .custom-price td small {
    display: inline-block
}

#main .custom-price-footer {
    margin: 3.2em auto 1.6em;
    border: 1px solid;
    padding: 0 1.6em .8em
}

@media (max-width: 730px) {
    #main .custom-price-footer {
        font-size: 88%
    }
}

#main .custom-price-footer h3 {
    font-size: 2rem;
    margin: 0 auto -.4em;
    display: table;
    background: #fff;
    padding: 0 .8em;
    transform: translateY(-50%)
}

@media (max-width: 730px) {
    #main .custom-price-footer h3 {
        font-size: 144%
    }
}

#main .custom-price-footer p {
    margin: 1em 0
}

#main .custom-access h3 {
    color: #fff;
    text-align: center;
    background: #FF7131 linear-gradient(#FF9800, #FF7131);
    font-size: 2rem;
    padding: 1em;
    border-radius: .267em;
    margin: .8em auto;
    width: 670px;
    max-width: 100%;
    line-height: 1.15
}

@media (max-width: 730px) {
    #main .custom-access h3 {
        font-size: 128%
    }
}

#main .custom-access h3.jsbtn {
    cursor: pointer;
    position: relative;
    transition: all 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955)
}

#main .custom-access h3.jsbtn::before,
#main .custom-access h3.jsbtn::after {
    display: block;
    position: absolute
}

#main .custom-access h3.jsbtn::before {
    width: calc(100% - 2px);
    height: 20%;
    left: 1px;
    top: 1px;
    border-radius: .267em .267em 0 0;
    font-size: 100%;
    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.6) inset;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0))
}

#main .custom-access h3.jsbtn::after {
    background: url("../images/img-up-1.svg") no-repeat center/100% 100%;
    right: .533em;
    top: 50%;
    transform: translateY(-50%) scale(-1, -1);
    width: 1.333em;
    height: 2.391em;
    transition: all 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955)
}

#main .custom-access h3.jsbtn:hover {
    box-shadow: 0 0 .8em rgba(0, 0, 0, 0.2) inset
}

#main .custom-access h3.jsbtn.show::after {
    transform: translateY(-50%) scale(1, 1)
}

#main .custom-access-toggle.jspanel {
    padding: .16em 0
}

#main .custom-access-toggle.jspanel>*:first-child {
    margin-top: 0
}

#main .custom-access-toggle.jspanel>*:last-child {
    margin-bottom: 0
}

#main .custom-ps {
    background: #F8F2C7;
    padding: 10px;
    font-size: 1.313rem;
    line-height: 1.8
}

@media (max-width: 730px) {
    #main .custom-ps {
        font-size: 100%;
        padding: 2.016vw;
        margin-right: -4vw;
        margin-left: -4vw
    }
}

#main .custom-ps h3 {
    font-size: 2.875rem;
    margin: .8em 0
}

@media (max-width: 730px) {
    #main .custom-ps h3 {
        font-size: 176%
    }
}

#main .custom-ps-in {
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 11px, #fff 12px) no-repeat center bottom/100% 50.1%, linear-gradient(-135deg, rgba(255, 255, 255, 0) 11px, #fff 12px) no-repeat center top/100% 50.1%;
    padding: .8em 1.6em;
    filter: drop-shadow(0 0 .08em rgba(0, 0, 0, 0.2))
}

@media (max-width: 730px) {
    #main .custom-ps-in {
        padding: .4em 1em
    }
}

#main .margin-no {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

#main .margin-no-top {
    margin-top: 0 !important
}

#main .margin-no-bottom {
    margin-bottom: 0 !important
}

#main .margin-half {
    margin-top: .8em !important;
    margin-bottom: .8em !important
}

#main .margin-half-top {
    margin-top: .8em !important
}

#main .margin-half-bottom {
    margin-bottom: .8em !important
}

#main .margin-quarter {
    margin-top: .4em !important;
    margin-bottom: .4em !important
}

#main .margin-quarter-top {
    margin-top: .4em !important
}

#main .margin-quarter-bottom {
    margin-bottom: .4em !important
}

#main .margin-over {
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

@media (max-width: 730px) {
    #main .margin-over {
        margin-left: -4vw;
        margin-right: -4vw
    }
}

#main .margin-over2 {
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

@media (max-width: 730px) {
    #main .margin-over2 {
        margin-right: -2vw;
        margin-left: -2vw
    }
}

#main .red {
    color: #BF1111
}

#main .blue {
    color: #0C66A5
}

#main .fz48 {
    font-size: 48%
}

#main .fz56 {
    font-size: 56%
}

#main .fz64 {
    font-size: 64%
}

#main .fz72 {
    font-size: 72%
}

#main .fz80 {
    font-size: 80%
}

#main .fz88 {
    font-size: 88%
}

#main .fz96 {
    font-size: 96%
}

#main .fz112 {
    font-size: 112%
}

#main .fz120 {
    font-size: 120%
}

#main .fz128 {
    font-size: 128%
}

#main .fz136 {
    font-size: 136%
}

#main .fz144 {
    font-size: 144%
}

#main .fz152 {
    font-size: 152%
}

#main .fz160 {
    font-size: 160%
}

#main .fz168 {
    font-size: 168%
}

#main .fz176 {
    font-size: 176%
}

#main .fz184 {
    font-size: 184%
}

#main .fz192 {
    font-size: 192%
}

#main .fz200 {
    font-size: 200%
}

#main .fz216 {
    font-size: 216%
}

#main .text-indent {
    display: block;
    padding-left: 1em;
    text-indent: -1em
}

#main .italic {
    font-style: italic
}

#main .italic2 {
    transform: skewX(-16deg);
    padding: 0 .1em
}

#main .underline {
    text-decoration: underline
}

#main .maker {
    background-image: linear-gradient(0deg, #FFE47B 32%, rgba(255, 228, 123, 0) 32%);
    padding-bottom: .1em
}

@media screen\0 {
    #main .maker {
        padding-bottom: 0;
        background-image: linear-gradient(0deg, rgba(255, 228, 123, 0) 20%, #FFE47B 20%, #FFE47B 48%, rgba(255, 228, 123, 0) 48%)
    }
}

@supports (-ms-ime-align: auto) {
    #main .maker {
        padding-bottom: 0
    }
}

#main .bold {
    font-weight: bolder
}

#main .normal {
    font-weight: normal
}

#main .glow {
    text-shadow: 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .16em #fff, 0 0 .16em #fff, 0 0 .16em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .4em #fff, 0 0 .4em #fff, 0 0 .4em #fff, 0 0 .8em #fff, 0 0 .8em #fff, 0 0 .8em #fff
}

#main .kenten {
    text-emphasis: filled;
    -webkit-text-emphasis: filled
}

#main .kenten.style-red {
    text-emphasis: filled #BF1111;
    -webkit-text-emphasis: filled #BF1111
}

#main .kenten-js {
    text-emphasis: none !important;
    -webkit-text-emphasis: none !important
}

#main .kenten-js>span {
    padding: .4em 0;
    background-repeat: repeat-x;
    background-size: 1em 0.5em;
    background-position: top left;
    background-image: radial-gradient(0.12em 0.12em at center center, currentColor 50%, transparent 60%)
}

#main .kenten-js.style-red>span {
    padding: .4em 0;
    background-repeat: repeat-x;
    background-size: 1em 0.5em;
    background-position: top left;
    background-image: radial-gradient(0.12em 0.12em at center center, #BF1111 50%, transparent 60%)
}

#main .grad-text-red,
#main .grad-text-red2 {
    display: inline-block;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none
}

.ie #main .grad-text-red,
.ie #main .grad-text-red2 {
    background-image: none
}

@media screen\0 {
    #main .grad-text-red,
    #main .grad-text-red2 {
        background: none !important
    }
}

#main .grad-text-red {
    color: #BF1111;
    background-image: linear-gradient(#BF1111 40%, #E91B1B, #BF1111 70%)
}

#main .grad-text-red2 {
    color: #BF1111;
    background-image: linear-gradient(#E91B1B 50%, #BF1111 51%)
}

#main .custom-text-note,
#main .custom-btn-mid a {
    display: flex;
    flex-wrap: wrap
}

#main .custom-btn-mid a {
    align-items: center;
    justify-content: center
}

#main .improve .sec-title {
    font-size: 3.0rem;
}

@media (max-width: 767px) {
    #main .improve .sec-title {
        font-size: 5.5vw;
    }
}

#main .symptoms {
    background: url(/wpcms/custom/images/back_img_01.png) no-repeat;
    background-size: 100% 100%;
    padding: .5em;
    margin: .8em auto;
}

#main .symptoms .title {
    font-size: 2.7rem;
    margin: .6em auto;
}

#main .symptoms .content {
    background: url(/wpcms/custom/images/back_img_02.png) no-repeat;
    background-size: 100% 100%;
    padding: .5em;
    margin-bottom: .8em;
}

#main .symptoms .content .sec-title {
    font-size: 3.0rem;
    border-bottom: 1px dashed #a5a5a5;
    margin: .4em .5em;
    text-align: center;
}

#main section figure {
    margin: .8em auto;
    text-align: center;
}

@media (max-width: 767px) {
    #main .symptoms .content .sec-title {
        font-size: 5.3vw;
    }
    #main .symptoms .title {
        font-size: 4.5vw;
    }
}

#main .result .sec-title {
    position: relative;
}

#main .result .sec-title:after {
    content: "";
    background: url(/wpcms/custom/images/icon_tips.png) no-repeat;
    background-size: 100%;
    width: 14%;
    height: 50%;
    position: absolute;
    top: -17%;
    left: 1%;
    display: block;
}

#main .result .content {
    padding: .4em .8em;
    background: #fffdef;
    -moz-box-shadow: 0px 0px 10px 3px rgba(255, 234, 213, 0.8);
    -webkit-box-shadow: 0px 0px 10px 3px rgba(255, 234, 213, 0.8);
    -ms-box-shadow: 0px 0px 10px 3px rgba(255, 234, 213, 0.8);
    box-shadow: 0px 0px 10px 3px rgba(255, 234, 213, 0.8);
}

#main .caption {
    font-size: 80%;
    text-align: right;
    margin: .3em auto;
}

#main .why .sec-title {
    position: relative;
    font-size: 2.8rem;
}

#main .why .sec-title:after {
    content: "";
    background: url(/wpcms/custom/images/icon_tips_02.png) no-repeat;
    background-size: 100%;
    width: 14%;
    height: 60%;
    position: absolute;
    top: -17%;
    left: 1%;
    display: block;
}

#main .why .title {
    font-size: 2.5rem;
    margin: .8em auto;
    text-align: center;
}

#main .why .content {
    background: url(/wpcms/custom/images/back_img_03.png) no-repeat;
    background-size: 100% 100%;
    margin: .8em auto;
    padding: .5em 0;
}

#main .why .content .block-title {
    font-size: 3.0rem;
    text-align: center;
    margin: 1.0em auto;
}

#main .why .content .flex .photo {
    width: 45%;
    margin: .4em;
}

@media (max-width: 767px) {
    #main .why .sec-title {
        font-size: 5.5vw;
    }
    #main .why .title,
    #main .why .content .block-title {
        font-size: 5.0vw;
    }
}

#main .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: .8em auto;
}

#main .cust-voice .sec-title {
    background: url(/wpcms/custom/images/back_img_05.png) no-repeat center bottom;
    background-size: 100%;
    font-size: 2.5rem;
}


#main .custom .cust-voice .block {
    margin: .5em auto;
}

#main .custom .cust-voice .block .photo {
    width: 20%;
}

#main .custom .cust-voice .block .text {
    width: 65%;
    position: relative;
    display: inline-block;
    margin: .8em auto;
    padding: 7px 10px;
    background: #fff;
    border: solid 2px #feaa00;
    border-radius: 5px;
    box-sizing: border-box;
}

#main .custom .cust-voice .block .text:before {
    content: "";
    position: absolute;
    top: 40%;
    left: -33px;
    margin-top: -12px;
    border: 11px solid transparent;
    border-right: 24px solid #FFF;
    z-index: 2;
}

#main .custom .cust-voice .block .text:after {
    content: "";
    position: absolute;
    top: 40%;
    left: -39px;
    margin-top: -14px;
    border: 13px solid transparent;
    border-right: 26px solid #feaa00;
    z-index: 1;
}

#main .custom .cust-voice .block .text .explain {
    font-size: 1.5rem;
    margin: .8em auto;
}


@media (max-width: 767px) {
    #main .cust-voice .sec-title {
        font-size: 4.0vw;
    }
    #main .custom .cust-voice .block .text .explain {
        font-size: 4.0vw;
    }
}

#main .arrow {
    width: 55%;
    margin: .4em auto;
    text-align: center;
}
