
.t-title{
    margin-bottom: 30px;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
    color: #775540
}
@media only screen and (max-width: 520px) {
    .t-title {
        margin-bottom: 25px;
        font-size: 1.8rem
    }
}
.t-title span {
    display: inline-block;
    padding: 20px 20px 25px;
    border-radius: 100px;
    min-width: 410px;
    background-color: #fff
}
@media only screen and (max-width: 520px) {
    .t-title span {
        padding: 14px 20px 25px;
        min-width: inherit !important;
        width: 100%;
        max-width: 335px;
        line-height: 2
    }
}
.t-title em {
    padding-bottom: 5px;
    display: inline;
    font-style: normal;
    position: relative;
    background: url("../../../lib/images/common/dot.png") 0 bottom/auto 3px repeat-x
}
.t-title02 {
    padding: 8px 0;
    border-top: 2px solid #ef7c0a;
    border-bottom: 2px solid #ef7c0a;
    margin-bottom: 30px;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    color: #775540
}
@media only screen and (max-width: 520px) {
    .t-title02 {
        margin-bottom: 15px;
        font-size: 1.8rem
    }
}
.t-title03 {
    margin-bottom: 10px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 20px;
    position: relative;
    color: #775540
}
@media only screen and (max-width: 520px) {
    .t-title03 {
        font-size: 1.6rem
    }
}
.t-title03::before {
    content: " ";
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #ef7c0a;
    position: absolute;
    top: 1.5em;
    left: 0;
    margin-top: -20px
}
.t-title04 {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-bottom: 20px;
    font-weight: 700;
    color: #775540
}
@media only screen and (max-width: 520px) {
    .t-title04 {
        display: block
    }
}
.t-title04 .label {
    font-size: 1.6rem;
    border: 1px solid #775540;
    padding: 0.3em;
    margin-right: 10px;
    border-radius: 7px
}
@media only screen and (max-width: 520px) {
    .t-title04 .label {
        display: inline-block;
        border-radius: 3em;
        padding: 0.3em 1em
    }
}
.t-title04 .title {
    font-size: 2rem
}
@media only screen and (max-width: 520px) {
    .t-title04 .title {
        margin-top: 5px;
        display: block
    }
}
.c-text_highlighter {
    padding: 0 3px;
    margin-left: -3px;
    background: linear-gradient(transparent 15%, #fff100 15% 93%, transparent 93%)
}
.c-text_highlighter02 {
    padding: 0 3px;
    margin-left: -3px;
    background: linear-gradient(transparent 65%, #fff100 65% 93%, transparent 93%)
}
.c-text_dot {
    padding-bottom: 3px;
    font-weight: 700;
    background: url("../../../lib/images/common/dot.png") 0 bottom/auto 3px repeat-x
}
@media only screen and (max-width: 520px) {
    .c-text_dot {
        padding-bottom: 2px;
        background-size: auto 2px
    }
}
.c-text_wavy {
    padding-bottom: 6px;
    background: url("../../../lib/images/common/wavy.png") 0 bottom/auto 6px repeat-x
}
.c-text_link {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.6
}
.c-text_link a {
    display: inline-block;
    padding-left: 24px;
    text-decoration: underline;
    color: #231815;
    -webkit-text-decoration-color: #bbaa9f;
    text-decoration-color: #bbaa9f;
    position: relative
}
.c-text_link a::before {
    content: " ";
    display: block;
    width: 16px;
    height: 16px;
    background: url("../../../lib/images/common/icon_text_link.svg") 0 0 no-repeat;
    position: absolute;
    top: 1.6em;
    left: 0;
    margin-top: -18px
}
@media only screen and (min-width: 521px) {
    .c-text_link a:hover {
        text-decoration: none
    }
}
.c-text_link02 {
    font-weight: 700;
    line-height: 1.5
}
.c-text_link02 a {
    display: inline-block;
    padding-left: 21px;
    text-decoration: none;
    color: #775540;
    position: relative
}
.c-text_link02 a::before {
    content: " ";
    display: block;
    width: 16px;
    height: 16px;
    background: url("../../../lib/images/common/icon_text_link02.svg") 0 0 no-repeat;
    position: absolute;
    top: 1.6em;
    left: 0;
    margin-top: -21px
}
@media only screen and (min-width: 521px) {
    .c-text_link02 a:hover {
        text-decoration: underline
    }
}
.t-mv picture,
.t-mv img {
    display: block;
    width: 100%;
}
.t-situation {
    padding: 40px 0 35px
}
@media only screen and (max-width: 520px) {
    .t-situation {
        padding: 20px 0 25px
    }
}
.t-situation .textbody {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: flex-start
}
@media only screen and (max-width: 520px) {
    .t-situation .textbody {
        text-align: center
    }
}
.t-situation .textbody .text01 {
    margin-bottom: 30px;
    font-size: 3.2rem;
    font-weight: 700;
    color: #775540;
    text-align: center
}
@media only screen and (max-width: 520px) {
    .t-situation .textbody .text01 {
        margin-bottom: 20px;
        font-size: 2.4rem
    }
}
.t-situation .textbody .text02 {
    margin-bottom: 20px;
    font-weight: 700
}
@media only screen and (max-width: 520px) {
    .t-situation .textbody .text02 {
        margin-bottom: 25px
    }
}
.t-situation .textbody .attention {
    margin-top: 15px;
    font-size: 1.2rem;
    padding-left: 1em;
    text-indent: -1em;
    text-align: left
}
.t-about {
    padding: 42px 0 77px;
    margin-bottom: 40px;
    background-color: #fff;
    position: relative;
    z-index: 1
}
@media only screen and (max-width: 520px) {
    .t-about {
        padding: 35px 0 72px;
        margin-bottom: 60px
    }
}
.t-about::before, .t-about::after {
    content: " ";
    display: block;
    width: 100%;
    height: 70px;
    background: url("../images/about_bg.png") 0 0/100% 100% no-repeat;
    position: absolute;
    left: 0;
    z-index: -1
}
@media only screen and (max-width: 520px) {
    .t-about::before, .t-about::after {
        height: 50px;
        background-image: url("../images/about_bg_sp.png")
    }
}
.t-about::before {
    top: 0
}
.t-about::after {
    bottom: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}
.t-about h2 {
    margin-bottom: 20px;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    color: #775540
}
.t-about ul {
    max-width: 744px;
    margin: 0 auto;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap
}
@media only screen and (max-width: 520px) {
    .t-about ul {
        display: block
    }
}
.t-about ul li {
    border: 2px solid #ef7c0a;
    border-radius: 10px;
    padding: 18px 22px 16px
}
@media only screen and (min-width: 521px) {
    .t-about ul li {
        width: 48.6559139785%;
        margin: 20px 2.688172043% 0 0
    }
    .t-about ul li:nth-child(2n) {
        margin-right: 0
    }
    .t-about ul li:nth-child(-n+2) {
        margin-top: 0
    }
}
@media only screen and (max-width: 520px) {
    .t-about ul li {
        margin-bottom: 12px
    }
    .t-about ul li:last-child {
        margin-bottom: 0
    }
}
.t-about ul li h3 {
    margin-bottom: 27px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500
}
.t-about ul li h3 span {
    display: inline-block;
    padding: 5px 5px 6px;
    min-width: 140px;
    border-radius: 100px;
    background-color: #fad8b5
}
.t-about ul li figure {
    margin-bottom: 17px;
    text-align: center
}
.t-feel {
    padding-top: 40px;
    margin-bottom: 40px
}
@media only screen and (max-width: 520px) {
    .t-feel {
        padding-top: 20px;
        margin-bottom: 60px
    }
}
.t-feel .lead {
    margin-bottom: 30px;
    font-size: 2.0rem;
    font-weight: 700;
    color: #775540;
    text-align: center
}
@media only screen and (max-width: 520px) {
    .t-feel .lead {
        font-size: 1.8rem
    }
}
.t-feel .bubble {
    padding: 24px 33px 30px;
    border: 2px solid #ef7c0a;
    border-radius: 10px;
    margin-bottom: 55px;
    background-color: #fff;
    position: relative
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble {
        padding: 20px 20px 22px;
        margin-bottom: 40px
    }
}
.t-feel .bubble::before {
    content: " ";
    display: block;
    width: 45px;
    height: 26px;
    background: url("../images/feel_bubble.png") 0 0/45px 26px no-repeat;
    position: absolute;
    bottom: -26px;
    left: 50%;
    margin-left: -22px
}
.t-feel .bubble h3 {
    margin-bottom: 25px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #775540;
    text-align: center
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble h3 {
        margin-bottom: 15px;
        font-size: 1.8rem;
        line-height: 1.5
    }
}
.t-feel .bubble .img {
    position: absolute;
    top: -22px;
    right: -22px
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble .img {
        position: static;
        max-width: 196px;
        margin: 0 auto 27px
    }
}
.t-feel .bubble .column {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble .column {
        display: block
    }
}
.t-feel .bubble .column dl {
    width: 48.6784140969%
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble .column dl {
        width: auto;
        margin-bottom: 25px
    }
    .t-feel .bubble .column dl:last-child {
        margin-bottom: 0
    }
}
.t-feel .bubble .column dl dt {
    display: inline-block;
    padding: 15px 18px 5px;
    border-radius: 10px 10px 0 0;
    font-size: 2.0rem;
    font-weight: 700
}
@media only screen and (max-width: 520px) {
    .t-feel .bubble .column dl dt {
        padding: 10px 18px 0;
        font-size: 1.6rem
    }
}
.t-feel .bubble .column dl dd {
    padding: 15px 18px 15px;
    border-radius: 0 10px 10px 10px
}
.t-feel .bubble .column dl dd li {
    padding-left: 12px;
    margin-bottom: 10px;
    font-weight: 500;
    position: relative
}
.t-feel .bubble .column dl dd li:last-child {
    margin-bottom: 0
}
.t-feel .bubble .column dl dd li::before {
    content: " ";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    top: 1em;
    left: 0;
    margin-top: -8px
}
.t-feel .bubble .column dl:nth-child(1) dt, .t-feel .bubble .column dl:nth-child(1) dd {
    background-color: #fad8b5
}
.t-feel .bubble .column dl:nth-child(1) li::before {
    background-color: #ef7c0a
}
.t-feel .bubble .column dl:nth-child(2) dt, .t-feel .bubble .column dl:nth-child(2) dd {
    background-color: #dff2fc
}
.t-feel .bubble .column dl:nth-child(2) li::before {
    background-color: #337ec2
}
.t-feel .conjunction {
    font-size: 2.4rem;
    font-weight: 700;
    color: #775540;
    text-align: center
}
@media only screen and (max-width: 520px) {
    .t-feel .conjunction {
        margin-bottom: 20px;
        font-size: 2.0rem
    }
}
.t-feel #contact-sec {
    padding-top: 30px
}
.t-feel .contact {
    padding: 24px;
    border-radius: 22px;
    margin-bottom: 70px;
    background-color: #ef7c0a
}
@media only screen and (max-width: 520px) {
    .t-feel .contact {
        margin: 0 -20px 33px
    }
}
.t-feel .contact .top {
    padding: 40px 20px 10px;
    border-radius: 20px;
    margin-bottom: 32px;
    background-color: #fff;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .top {
        padding: 20px 25px 20px;
        border-radius: 20px 20px 0 0;
        margin-bottom: 0;
        display: block
    }
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .top .img {
        margin: 0 -8px;
        text-align: center
    }
}
.t-feel .contact .attention {
    margin-top: 15px;
    font-size: 1.2rem;
    text-align: left;
    list-style-type: none
}
.t-feel .contact .attention li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 5px;
    list-style-type: none
}
.t-feel .contact .attention li:last-child {
    margin-bottom: 0
}
.t-feel .contact .attention li::marker {
    display: none
}
.t-feel .contact .flow {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .flow {
        display: block
    }
}
.t-feel .contact .flow>li {
    width: 33.3333%;
    padding: 18px 15px 0;
    margin-right: 49px;
    border-radius: 20px;
    background-color: #fff;
    text-align: center;
    position: relative
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .flow>li {
        padding: 18px 25px 20px;
        width: auto;
        margin-right: 0;
        margin-bottom: 60px
    }
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .flow>li:nth-child(1) {
        border-radius: 0 0 20px 20px
    }
}
.t-feel .contact .flow>li:last-child {
    margin-right: 0
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .flow>li:last-child {
        margin-bottom: 0
    }
}
.t-feel .contact .flow>li:last-child::before {
    display: none
}
.t-feel .contact .flow>li::before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border: 13px solid transparent;
    border-left: 15px solid #fff;
    position: absolute;
    right: -45px;
    top: 50%;
    margin-top: -15px
}
@media only screen and (max-width: 520px) {
    .t-feel .contact .flow>li::before {
        width: 0;
        height: 0;
        border: 18px solid transparent;
        border-top: 20px solid #fff;
        right: inherit;
        top: inherit;
        left: 50%;
        bottom: -58px;
        margin: 0;
        margin-left: -18px
    }
}
.t-feel .contact .flow>li .text {
    font-size: 2.0rem;
    font-weight: 700;
    color: #775540;
    line-height: 1.6
}
.t-feel .conjunction02 {
    margin-bottom: 75px;
    font-size: 3.2rem;
    font-weight: 700;
    color: #775540;
    text-align: center
}
@media only screen and (max-width: 520px) {
    .t-feel .conjunction02 {
        margin-bottom: 45px;
        font-size: 2.4rem
    }
}
.t-feel .links {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}
@media only screen and (max-width: 520px) {
    .t-feel .links {
        display: block
    }
}
.t-feel .links .item {
    width: 47.9591836735%
}
@media only screen and (max-width: 520px) {
    .t-feel .links .item {
        width: auto
    }
}
@media only screen and (max-width: 520px) {
    .t-feel .links .voice {
        margin-bottom: 75px
    }
}
.t-feel .links .voice .box {
    padding-bottom: 85.1063829787%;
    border: 2px solid #ef7c0a;
    border-radius: 10px;
    position: relative
}
.t-feel .links .voice .box h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    font-size: 2.4rem;
    font-weight: 700;
    color: #775540;
    text-align: center;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}
@media only screen and (max-width: 520px) {
    .t-feel .links .voice .box h3 {
        font-size: 2.0rem
    }
}
.t-feel .links .voice .box h3 span {
    display: inline-block;
    padding: 0 5px;
    background-color: #fffbcb
}
.t-feel .links .voice .box .coming {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}
@media only screen and (max-width: 520px) {
    .t-feel .links .movie {
        margin: 0 -20px
    }
}
.t-feel .links .movie h3 {
    margin-bottom: 10px;
    font-size: 2.25rem;
    font-weight: 700;
    color: #775540;
    text-align: center;
    position: relative;
    z-index: 1
}
@media only screen and (max-width: 520px) {
    .t-feel .links .movie h3 {
        font-size: 1.8rem
    }
}
.t-feel .links .movie h3::before {
    content: " ";
    display: block;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background-color: #fff100;
    position: absolute;
    top: -25px;
    left: 50%;
    margin-left: -150px;
    z-index: -1
}
@media only screen and (max-width: 520px) {
    .t-feel .links .movie h3::before {
        width: 240px;
        height: 240px;
        top: -22px;
        margin-left: -120px
    }
}
.t-feel .links .movie .box {
    position: relative;
    z-index: 2;
    padding: 22px 35px 20px;
    background: url("../images/feel_movie_bg_btm.png") 0 bottom no-repeat, url("../images/feel_movie_bg_top.png") 0 0 no-repeat, url("../images/feel_movie_bg_mid.png") 0 0 repeat-y;
    background-size: 100% auto
}
@media only screen and (max-width: 520px) {
    .t-feel .links .movie .box {
        padding: 16px 28px 16px
    }
}
.t-feel .links .movie .box .img {
    margin-top: 13px;
    background-color: #fad8b5;
    position: relative
}
.t-feel .links .movie .box .img .coming {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}
.t-feel .links .coming {
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    color: #775540
}
.t-feel .intro-movie {
    max-width: 744px;
    margin: 0 auto
}
@media only screen and (max-width: 520px) {
    .t-feel .intro-movie {
        margin: 0 -20px
    }
}
.t-feel .intro-movie h3 {
    margin-bottom: 10px;
    font-size: 2.25rem;
    font-weight: 700;
    color: #775540;
    text-align: center;
    position: relative;
    z-index: 1
}
@media only screen and (max-width: 520px) {
    .t-feel .intro-movie h3 {
        font-size: 1.8rem
    }
}
.t-feel .intro-movie h3::before {
    content: " ";
    display: block;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background-color: #fff100;
    position: absolute;
    top: -25px;
    left: 50%;
    margin-left: -150px;
    z-index: -1
}
@media only screen and (max-width: 520px) {
    .t-feel .intro-movie h3::before {
        width: 240px;
        height: 240px;
        top: -22px;
        margin-left: -120px
    }
}
.t-feel .intro-movie .box {
    position: relative;
    z-index: 2;
    padding: 22px 35px 20px;
    background: url("../images/feel_movie_bg_btm.jpg") 0 bottom no-repeat, url("../images/feel_movie_bg_top.jpg") 0 0 no-repeat, url("../images/feel_movie_bg_mid.jpg") 0 0 repeat-y;
    background-size: 100% auto
}
@media only screen and (max-width: 520px) {
    .t-feel .intro-movie .box {
        padding: 16px 28px 16px;
        background: url("../images/feel_movie_bg_btm_sp.png") 0 bottom no-repeat, url("../images/feel_movie_bg_top_sp.png") 0 0 no-repeat, url("../images/feel_movie_bg_mid_sp.png") 0 0 repeat-y;
        background-size: 100% auto
    }
}
.t-feel .intro-movie .box .top {
    max-width: 390px;
    margin: 0 auto
}
.t-feel .intro-movie .box .img {
    margin-top: 13px;
    position: relative;
    padding: 0 20px 20px
}
@media only screen and (max-width: 520px) {
    .t-feel .intro-movie .box .img {
        padding: 0
    }
}
.t-feel .intro-movie .box .img .coming {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}
.t-consultation {
    padding-top: 40px;
    margin-bottom: 30px;
    color: #775540;
    font-weight: bold;
}
@media only screen and (max-width: 520px) {
    .t-consultation {
        padding-top: 20px;
        padding-bottom: 50px
    }
}

.t-consultation .t-title02 {
    margin-bottom: 50px;
    padding: 24px;
    line-height: 2;
    font-size: 2.4rem;
}
@media only screen and (max-width: 520px) {
    .t-consultation .t-title02 {
        margin-bottom: 30px;
        padding: 30px 0;
    }
}
.t-consultation .consultation_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5%;
    width: 100%;
    margin-bottom: 40px;
    padding: 45px 30px;
    border-radius: 20px;
    background-color: #fff;
    font-size: 2.4rem;
}
@media only screen and (max-width: 520px) {
    .t-consultation .consultation_box {
        display: block;
        padding: 30px 30px 23px;
    }
}

.t-consultation .consultation_box_text p {
    width: max-content;
    max-width: 100%;
    padding: 9px 20px;
    border-radius: 100vw;
    background-color: #fff100;
    line-height: 1;
}
@media only screen and (max-width: 520px) {
    .t-consultation .consultation_box_text p {
        margin: 0 auto;
    }
}

.t-consultation .consultation_box_text ul li {
    position: relative;
    margin-top: 16px;
    padding-left: 20px;
}

.t-consultation .consultation_box_text ul li::before {
    content: '';
    display: block;
    aspect-ratio: 1;
    width: 8px;
    border-radius: 100vw;
    background-color: #ef7b0a;
    position: absolute;
    top: 0.85em;
    left: 0;
}
@media only screen and (max-width: 520px) {
    .t-consultation .consultation_box_img {
        text-align: center;
    }
}
.t-consultation .consultation_section02 {
    text-align: center;
}
.t-consultation h3{
    font-size: 3.2rem;
    line-height: 2;
}
@media only screen and (max-width: 520px) {
    .t-consultation h3{
        font-size: 2.4rem;
    }
}
.t-consultation .consultation_img02 {
    margin: 50px auto 70px;
    text-align: center;
}
@media only screen and (max-width: 520px) {
    .t-consultation consultation_img02{
        margin: 30px auto 40px;
    }
}
.t-consultation .consultation_section03 {
    text-align: center;
    padding-bottom: 100px;
}
@media only screen and (max-width: 520px) {
    .t-consultation .consultation_section03 {
        padding-bottom: 60px;
    }
}
.t-consultation .consultation_img03 {
    margin-top: 40px;
}