@charset "utf-8";
/* CSS Document */

h2.img_ttl {
    text-align: center;
    margin-bottom: 5rem;
}

@media only screen and (max-width: 768px) {
h2.img_ttl {
    margin-bottom: 7rem;
}
}


/* #topmain
----------------------------------------- */
#topmain {
	height: 100vh;
    /*min-height: 76.5rem;*/
    
    background: url("../images/topmain_bg.jpg") no-repeat center top;
    background-size: cover;
}

#topmain .inner {
	max-width: none;
	height: 100%;
    position: relative;
}

#topmain .ttl_wrap {
    position: absolute;
    top: 50%;
    left: 5.714vw;
    transform: translateY(-50%);
}
#topmain .ttl_wrap h2 {
}
#topmain .ttl_wrap .price {
    margin-top: 4rem;
}
#topmain .ttl_wrap .point {
    margin-top: 4rem;
}

#topmain .fukidashi {
    width: 12rem;
    position: absolute;
    top: 6rem;
    right: 4.286vw;
}

@media only screen and (max-width: 768px) {
#topmain {
	height : 100vh;
    height : calc(var(--vh, 1vh) * 100);
    min-height: inherit;
    
    background: url("../images/topmain_bg_sp.jpg") no-repeat center top;
    background-size: cover;
}
#topmain .inner {
	width: 100%;
	max-width: none;
	height: 100%;
}

#topmain .ttl_wrap {
    position: relative;
    top: auto;
    left: auto;
    transform: translateY(0);
    width: 100%;
    height: 100%;
}
#topmain .ttl_wrap h2 {
    width: 53rem;
    position: absolute;
    top: 6rem;
    left: 4rem;
}
#topmain .ttl_wrap .price {
     margin-top: 0;
     width: 21rem;
     position: absolute;
    bottom: 6rem;
    left: 4rem;
}
#topmain .ttl_wrap .point {
    width: 41rem;
     position: absolute;
    bottom: 6rem;
    right: 4rem;
}

#topmain .fukidashi {
    width: 18rem;
    position: absolute;
    top: 6rem;
    right: 2rem;
}
    
}




/* #onayami
----------------------------------------- */
#onayami {    
    background: url("../images/onayami_bg.png") no-repeat center bottom;
    background-size: cover;
    position: relative;
    z-index: 3;
}

#onayami .inner {
	max-width: none;
	padding-top: 10rem;
    text-align: center;
}

#onayami .lead {
    font-size: 2.8rem;
    line-height: 1;
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 2.5rem;
}
#onayami .fukidashi {
    margin-top: 3rem;
}

@media only screen and (max-width: 768px) {
#onayami {    
    background: url("../images/onayami_bg_sp.png") no-repeat center bottom;
    background-size: cover;
}
#onayami .inner {
	padding-top: 8rem;
}
    
#onayami .lead {
    font-size: 3.6rem;
    line-height: calc(63/36);
    margin-bottom: 2.5rem;
}
#onayami .img_ttl {
    width: 72rem;
    margin: auto;
}
#onayami .fukidashi {
    width: 69rem;
    margin: auto;
    margin-top: 4rem;
}
}



/* #remote
----------------------------------------- */
#remote {    
    position: relative;
    z-index: 2;
}
#remote::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/remote_bg.jpg") no-repeat center bottom;
    background-size: cover;
    position: absolute;
    top: -12.5vw;
    left: 0;
    z-index: -1;
}
#remote .inner {
	padding-top: 7rem;
}

#remote .txt_wrap {
    display: inline-block;
    margin-right: auto;
}
#remote .txt_wrap h2.img_ttl {
    margin-bottom: 2.5rem;
}
#remote .txt_wrap .lead {
    font-size: 3rem;
    line-height: calc(53/30);
    letter-spacing: 0.05em;
    color: #8c643c;
    text-align: center;
}
#remote .txt_wrap .txt {
    max-width: 54.5rem;
    margin: auto;
    margin-top: 3rem;
}

#remote .voice_wrap {
    margin-top: 6rem;
    padding: 6rem;
    padding-right: 5rem;
    position: relative;
    z-index: 1;
}
#remote .voice_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    border-radius: 0.6rem;
}
#remote .voice_wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(250,172,165);
    background: linear-gradient(90deg, rgba(250,172,165,1) 0%, rgba(255,221,166,1) 100%);
    position: absolute;
    bottom: -0.5rem;
    right: -0.5rem;
    z-index: -2;
    border-radius: 0.6rem;
}
#remote .voice_wrap .point {
    position: absolute;
    top: 0;
    right: 5rem;
    transform: translateY(-65%);
    z-index: 2;
}
#remote .voice_wrap .layout {
    align-items: center;
}
#remote .voice_wrap .layout .img {
    width: 30rem;
}
#remote .voice_wrap .layout .txt {
    width: calc(100% - 34rem);
}
#remote .voice_wrap .layout .txt .fukidashi {
    width: 100%;
    background-color: #fff0d7;
    border-radius: 0.6rem;
    padding: 2rem 2.5rem;
    position: relative;
    z-index: 1;
}
#remote .voice_wrap .layout .txt .fukidashi::before {
    content: '';
    display: block;
    width: 6.1rem;
    height: 8.2rem;
    background: url("../images/sankaku.svg") no-repeat;
    position: absolute;
    z-index: -1;
    bottom: 1rem;
    left: -2rem;
    transform: rotate(-90deg) scale(-1, 1);
}
#remote .voice_wrap .layout .txt .fukidashi .voice {
    font-size: 2rem;
    line-height: 1.4;
}
#remote .voice_wrap .layout .txt .fukidashi .voice span {
    font-size: 2.5rem;
}
#remote .voice_wrap .layout .txt .fukidashi .voice span.large {
    font-size: 3rem;
}
#remote .voice_wrap .layout .txt .fukidashi .name {
    font-size: 1.3rem;
    margin-top: 1.5rem;
    text-align: right;
}

#remote .voice_wrap .message {
    text-align: center;
    margin-top: 2.5rem;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    color: #8c643c;
    font-weight: bold;
}


@media only screen and (max-width: 768px) {
#remote {    
}
#remote::before {
    background: url("../images/remote_bg_sp.jpg") no-repeat center top;
    background-size: 100%;
    top: -20rem;
}
#remote .inner {
	padding-top: 7rem;
}

#remote .txt_wrap {
    display: block;
    margin: auto;
}
#remote .txt_wrap h2.img_ttl {
    width: 56rem;
    margin: auto;
    margin-bottom: 2.5rem;
}
#remote .txt_wrap .lead {
    font-size: 3.8rem;
    line-height: calc(68/38);
}
#remote .txt_wrap .txt {
    max-width: 63rem;
    margin: auto;
    margin-top: 3rem;
}

#remote .voice_wrap {
    width: 70rem;
    margin: auto;
    margin-top: 18rem;
    padding: 13rem 4rem 6rem 4rem;
    padding-right: 4rem;
}
#remote .voice_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    border-radius: 0.6rem;
}
#remote .voice_wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(250,172,165);
    background: linear-gradient(90deg, rgba(250,172,165,1) 0%, rgba(255,221,166,1) 100%);
    position: absolute;
    bottom: -0.8rem;
    right: -0.8rem;
    z-index: -2;
    border-radius: 0.6rem;
}
#remote .voice_wrap .point {
    width: 59rem;
    position: absolute;
    top: 0;
    right: 50%;
    transform: translate(50%,-65%);
}
#remote .voice_wrap .point img {
    width: 100%;
}
#remote .voice_wrap .layout {
    align-items: center;
    justify-content: center;
}
#remote .voice_wrap .layout .img {
    width: 48rem;
}
#remote .voice_wrap .layout .txt {
    width: 100%;
}
#remote .voice_wrap .layout .txt .fukidashi {
    padding: 4rem 4rem;
    margin-top: 4rem;
}
#remote .voice_wrap .layout .txt .fukidashi::before {
    background: url("../images/sankaku.svg") no-repeat;
    position: absolute;
    bottom: auto;
    top: -1rem;
    left: auto;
    right: 1rem;
    transform: none;
}
#remote .voice_wrap .layout .txt .fukidashi .voice {
    font-size: 3.2rem;
    line-height: 1.4;
}
#remote .voice_wrap .layout .txt .fukidashi .voice span {
    font-size: 4rem;
}
#remote .voice_wrap .layout .txt .fukidashi .voice span.large {
    font-size: 4.8rem;
}
#remote .voice_wrap .layout .txt .fukidashi .name {
    font-size: 2rem;
    margin-top: 2rem;
}

#remote .voice_wrap .message {
    margin-top: 3rem;
    font-size: 3.6rem;
    line-height: calc(63/36);
}

}





/* #omoi
----------------------------------------- */
#omoi {    
    position: relative;
    z-index: 1;
}
#omoi::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/omoi_bg.jpg") no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#omoi .inner {
	padding-top: 20rem;
    padding-bottom: 8.5rem;
}

#omoi .txt_wrap {
}


@media only screen and (max-width: 768px) {
#omoi {    
}
#omoi::before {
    background: url("../images/omoi_bg_sp.jpg") no-repeat center top;
    background-size: cover;
    top: 0;
}
#omoi .inner {
	padding-top: 12rem;
    padding-bottom: 12rem;
}
    
#omoi .txt_wrap {
    width: 71rem;
    margin: auto;
}

}




/* #flow
----------------------------------------- */
#flow {    
    position: relative;
    z-index: 1;
    background-color: #fffaf5;
}
#flow .inner {
    max-width: none;
	padding-top: 7rem;
}

#flow .lead {
    font-size: 2.5rem;
    line-height: calc(44 / 25);
    letter-spacing: 0.05em;
    text-align: center;
}

#flow .step_wrap {
    margin-top: 4rem;
    padding-top: 7rem;
    padding-bottom: 7rem;
    background: url("../images/flow_bg.svg") no-repeat center top;
    background-size: cover;
}
#flow .step_wrap .step_lead {
    font-size: 1.8rem;
    line-height: calc(32 / 18);
    font-weight: bold;
    text-align: center;
}
#flow .step_wrap .step_list {
    width: 100%;
    max-width: 108rem;
    margin: auto;
    margin-top: 6rem;
    position: relative;
    z-index: 1;
}
#flow .step_wrap .step_list::before {
    content: '';
    display: block;
    width: calc(100% - calc(360/1080*100%));
    height: 0.7rem;
    background-color: #ffebdb;
    position: absolute;
    top: calc(21.4rem / 2);
    left: 50%;
    transform: translate(-50%,50%);
    z-index: -1;
}


#flow .step_wrap .step_list > li {
    width: calc(360/1080*100%);
    text-align: center;
}
#flow .step_wrap .step_list > li img {
    width: 21.4rem;
    margin: auto;
}
#flow .step_wrap .step_list > li .ttl {
    font-size: 2.1rem;
    color: #8c643c;
    margin-top: 2rem;
    text-align: center;
}
#flow .step_wrap .step_list > li .txt {
    text-align: center;
    margin-top: 1rem;
}


#flow .step_wrap .step_txt {
    width: 100%;
    max-width: 108rem;
    margin: auto;
    margin-top: 6rem;
    position: relative;
    z-index: 1;
}

#flow .step_wrap .step_txt > li:not(:last-child) {
    margin-bottom: 3.5rem;
}
#flow .step_wrap .step_txt > li .ttl {
    font-size: 2.1rem;
    color: #8c643c;
}
#flow .step_wrap .step_txt > li .txt {
    margin-top: 1rem;
}

@media only screen and (max-width: 768px) {
#flow {    
}
#flow .inner {
	padding-top: 9rem;
}
#flow h2.img_ttl {
    width: 39.8rem;
    margin: auto;
    margin-bottom: 5rem;
}
#flow .lead {
    font-size: 3.2rem;
    line-height: calc(56 / 32);
}

#flow .step_wrap {
    margin-top: 6rem;
    padding-top: 12rem;
    padding-bottom: 9rem;
    background: url("../images/flow_bg_sp.svg") no-repeat center top;
    background-size: cover;
}
#flow .step_wrap .step_lead {
    font-size: 2.8rem;
    line-height: calc(49 / 28);
}
#flow .step_wrap .step_list {
    max-width: 67rem;
    margin-top: 6rem;
}
#flow .step_wrap .step_list::before {
    display: none;
}
    
#flow .step_wrap .step_list > li {
    width: 100%;
    text-align: center;
}
#flow .step_wrap .step_list > li:not(:last-child) {
    margin-bottom: 6rem;
}
#flow .step_wrap .step_list > li img {
    width: 33rem;
    margin: auto;
}
#flow .step_wrap .step_list > li .ttl {
    font-size: 3.2rem;
    margin-top: 2rem;
}
#flow .step_wrap .step_list > li .txt {
    text-align: center;
    margin-top: 1rem;
}
    
#flow .step_wrap .step_txt {
    max-width: 68.5rem;
    margin-top: 8rem;
}

#flow .step_wrap .step_txt > li:not(:last-child) {
    margin-bottom: 5rem;
}
#flow .step_wrap .step_txt > li .ttl {
    text-align: center;
    font-size: 3.2rem;
}
#flow .step_wrap .step_txt > li .txt {
    text-align: center;
    margin-top: 1rem;
}
}



/* #results
----------------------------------------- */
#results {    
    position: relative;
    z-index: 1;
    background: url("../images/results_bg2.jpg") no-repeat center top;
    background-size: cover;
}
#results .inner {
	padding-top: 10rem;
    padding-bottom: 24.286vw;
}

#results .results_list {
    margin-top: 6rem;
    margin-bottom: -8rem;
}
#results .results_list > li {
    width: calc(475/1080*100%);
    margin-bottom: 8rem;
}
#results .results_list > li .img_wrap {
    position: relative;
    z-index: 1;
}
#results .results_list > li .img_wrap .icon {
    position: absolute;
    top: -2rem;
    left: -5rem;
}

#results .results_list > li .txt {
    text-align: center;
    margin-top: 1rem;
    font-size: 2.5rem;
    line-height: calc(44 / 25);
    letter-spacing: 0;
}

@media only screen and (max-width: 768px) {
#results {
    background: url("../images/results_bg2_sp.jpg") no-repeat center top;
    background-size: cover;
}
#results .inner {
    max-width: 68.5rem;
	padding-top: 7rem;
    padding-bottom: 25.333vw;
}
    
#results h2.img_ttl {
    width: 57rem;
    margin: auto;
    margin-bottom: 5rem;
}

#results .results_list {
    margin-top: 10rem;
    margin-bottom: -8rem;
}
#results .results_list > li {
    width: 100%;
    margin-bottom: 8rem;
}
#results .results_list > li .img_wrap {
    width: 62rem;
    margin-left: auto;
    position: relative;
    z-index: 1;
}
#results .results_list > li .img_wrap img {
    width: 100%;
}
#results .results_list > li .img_wrap .icon {
    width: 13.2rem;
    position: absolute;
    top: -2.5rem;
    left: -6.5rem;
}

#results .results_list > li .txt {
    width: 62rem;
    margin-left: auto;
    margin-top: 1rem;
    font-size: 3.2rem;
    line-height: calc(56 / 32);
}

}




/* #results_closing
----------------------------------------- */
#results_closing {    
    position: relative;
    z-index: 2;
    margin-top: -21.429vw;
}
#results_closing::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/results_closing_bg.png") no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#results_closing .inner {
	padding-top: 21.429vw;
    padding-bottom: 6.429vw;
}

#results_closing .closing {
	display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 768px) {
#results_closing {    
    position: relative;
    z-index: 2;
    margin-top: -25.333vw;
}
#results_closing::before {
    background: url("../images/results_closing_bg_sp.png") no-repeat center top;
    background-size: cover;
}
#results_closing .inner {
	padding-top: 25.333vw;
    padding-bottom: 8vw;
}

#results_closing .closing {
	display: flex;
    align-items: center;
    justify-content: center;
}
    
#results_closing .closing img {
	width: 66.4rem;
    margin: auto;
}
    
}




/* #info
----------------------------------------- */
#info {    
    position: relative;
    background-color: #f09685;
}
#info .inner {
	padding-top: 6rem;
    padding-bottom: 7rem;
}

#info h2 {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    text-align: center;
}

#info .layout {
    align-items: center;
    margin-top: 2.5rem;
}
#info .layout > .info_con {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    border-radius: 0.6rem;
    width: calc(520/1080*100%);
    height: 16rem;
}
#info .layout > .info_con .ttl {
    font-size: 1.9rem;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1;
    color: #838281;
    text-align: center;
    margin-bottom: 1.5rem;
}
#info .layout > .info_con .link {
    align-items: center;
}
#info .layout > .info_con .link img {
    width: 5rem;
    margin-right: 2rem;
}
#info .layout > .info_con .sub {
    font-size: 1.3rem;
    letter-spacing: 0;
    text-align: center;
    height: 3rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

#info .layout > .info_con.tel .link span {
    font-size: 4.5rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
}
#info .layout > .info_con.mail .link span {
    font-size: 3.7rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
}

#info.bottom {    
    background: rgb(250,170,165);
    background: linear-gradient(130deg, rgba(250,170,165,1) 0%, rgba(255,220,170,1) 100%);
}
#info.bottom .inner {
	padding-top: 8rem;
    padding-bottom: 6rem;
}
#info.bottom .address {
    margin-top: 3rem;
    font-size: 1.7rem;
    text-align: center;
}
#info.bottom .address a {
    text-decoration: underline;
}
#info.bottom .att {
    margin-top: 1rem;
    font-size: 1.3rem;
    line-height: calc(23/13);
    text-align: center;
}

@media only screen and (max-width: 768px) {
#info {    
}
#info .inner {
	padding-top: 10rem;
    padding-bottom: 10rem;
}

#info h2 {
    font-size: 3.5rem;
}

#info .layout {
    width: 67rem;
    margin: auto;
    margin-top: 6rem;
}
#info .layout > .info_con {
    width: 100%;
    height: 22rem;
}
#info .layout > .info_con.tel {
    margin-bottom: 2rem;
}
#info .layout > .info_con .ttl {
    font-size: 2.7rem;
    margin-bottom: 2rem;
}

#info .layout > .info_con .link img {
    width: 6.8rem;
    margin-right: 3rem;
}
#info .layout > .info_con .sub {
    font-size: 2.1rem;
    height: 3rem;
}

#info .layout > .info_con.tel .link span {
    font-size: 6rem;
}
#info .layout > .info_con.mail .link span {
    font-size: 5rem;
}

#info.bottom {    
    background: rgb(250,170,165);
    background: linear-gradient(130deg, rgba(250,170,165,1) 0%, rgba(255,220,170,1) 100%);
}
#info.bottom .inner {
	padding-top: 10rem;
    padding-bottom: 7rem;
}
#info.bottom .inner h2 {
    width: 58.4rem;
    margin: auto;
}
#info.bottom .address {
    margin-top: 5rem;
    font-size: 2.7rem;
}
#info.bottom .att {
    margin-top: 2rem;
    font-size: 2.2rem;
    line-height: calc(38/22);
    text-align: center;
}
    
}




/* #voice
----------------------------------------- */
#voice {    
    position: relative;
    background: rgb(254,242,240);
    background: linear-gradient(180deg, rgba(254,242,240,1) 50%, rgba(255,255,255,1) 100%);
}
#voice .inner {
    max-width: 124rem;
	padding-top: 10rem;
    padding-bottom: 9rem;
}

#voice .voice_wrap {
    padding: 8rem;
    position: relative;
    z-index: 1;
}
#voice .voice_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    border-radius: 0.6rem;
}
#voice .voice_wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(250,172,165);
    background: linear-gradient(90deg, rgba(250,172,165,1) 0%, rgba(255,221,166,1) 100%);
    position: absolute;
    bottom: -0.5rem;
    right: -0.5rem;
    z-index: -2;
    border-radius: 0.6rem;
}

#voice .lead {
    font-size: 2rem;
    line-height: calc(35/20);
    letter-spacing: 0.07em;
    color: #643200;
    margin-bottom: 4rem;
}
#voice .lead span {
    font-size: 2.5rem; 
}
#voice .lead span.large {
    font-size: 3rem; 
}

#voice h3 {
    font-size: 2.5rem;
    line-height: calc(40/25);
    font-weight: bold;
    color: #f5828c;
    margin-bottom: 2rem;
}

#voice .txt {
    font-size: 1.5rem;
    line-height: calc(30/15);
    letter-spacing: 0;
}
#voice .txt span {
    font-size: 1.8rem;
    font-weight: bold;
}
#voice .txt span.large {
    font-size: 2.1rem; 
}
#voice .txt span.pink {
    color: #f5828c;
}
#voice .txt span.pink.large {
    font-size: 2.5rem;
    line-height: calc(40/25);
}

#voice .layout {
    align-items: center;
}
#voice .layout .txt {
    width: calc(735/1080*100%);
}
#voice .layout .img {
    width: calc(300/1080*100%);
}
#voice .name {
    font-size: 1.4rem;
    margin-top: 1.0rem;
    text-align: right;
}

#voice h3.img_ttl {
    padding-top: 7rem;
    padding-bottom: 4rem;
    text-align: center;
}

#voice .voice_list {
}
#voice .voice_list > li:not(:last-child) {
    margin-bottom: 2rem;
}
#voice .voice_list .voice_wrap {
    padding: 5rem 8rem;
}

@media only screen and (max-width: 768px) {
#voice {    
}
#voice .inner {
	padding-top: 8rem;
    padding-bottom: 14.5rem;
}

#voice h2.img_ttl {
    width: 39rem;
    margin: auto;
    margin-bottom: 7rem;
}
    
#voice .voice_wrap {
    width: 70rem;
    margin: auto;
    padding: 12rem 3rem 10rem;
}
#voice .voice_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    border-radius: 0.6rem;
}
#voice .voice_wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(250,172,165);
    background: linear-gradient(90deg, rgba(250,172,165,1) 0%, rgba(255,221,166,1) 100%);
    position: absolute;
    bottom: -0.5rem;
    right: -0.5rem;
    z-index: -2;
    border-radius: 0.6rem;
}

#voice .lead {
    font-size: 2.7rem;
    line-height: calc(48/27);
    text-align: center;
    margin-bottom: 6rem;
}
#voice .lead span {
    font-size: 3.5rem; 
}
#voice .lead span.large {
    font-size: 4.2rem; 
}

#voice h3 {
    font-size: 4rem;
    line-height: calc(80/40);
    margin-bottom: 3rem;
}
    
#voice .txt {
    font-size: 2.4rem;
    line-height: calc(48/24);
}
#voice .txt span {
    font-size: 2.8rem;
}
#voice .txt span.large {
    font-size: 3.4rem;
}
#voice .txt span.pink {
    font-size: 2.8rem;
    color: #f5828c;
}
#voice .txt span.pink.large {
    font-size: 4rem;
    line-height: calc(64/40);
}

#voice .layout {
    align-items: center;
}
#voice .layout .txt {
    width: 100%;
}
#voice .layout .img {
    width: 48rem;
    margin: auto;
    margin-top: 5rem;
}
#voice .name {
    font-size: 2.2rem;
    margin-top: 2rem;
}

#voice h3.img_ttl {
    width: 55.2rem;
    margin: auto;
    padding-top: 12rem;
    padding-bottom: 6rem;
}

#voice .voice_list {
}
#voice .voice_list > li:not(:last-child) {
    margin-bottom: 4rem;
}
#voice .voice_list .voice_wrap {
    padding: 8rem 3rem;
}
    
}




/* #price
----------------------------------------- */
#price {    
    position: relative;
    background-color: #fff0dc;
}
#price .inner {
	padding-top: 10rem;
    padding-bottom: 10rem;
}
#price .price_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#price .inner > .price_wrap {
	width: 35.94rem;
    margin: auto;
}

#price .price_list {
    margin-top: 6rem;
    align-items: center;
}
#price .price_list > li {
    width: calc(300/1080*100%);
}

#price .att {
    font-size: 1.2rem;
    margin-top: 2.0rem;
    text-align: right;
}

@media only screen and (max-width: 768px) {
#price {    
}
#price .inner {
	padding-top: 8.5rem;
    padding-bottom: 6rem;
}
#price h2.img_ttl {
	width: 22.3rem;
    margin: auto;
    margin-bottom: 9rem;
}
#price .inner > .price_wrap {
	width: 46.8rem;
    margin: auto;
}
#price .price_list {
    width: 48rem;
    margin: auto;
    margin-top: 9rem;
    align-items: center;
}
#price .price_list > li {
    width: 100%;
}
#price .price_list > li:not(:last-child) {
    margin-bottom: 5rem;
}

#price .att {
    width: 70rem;
    margin: auto;
    margin-top: 2rem;
    font-size: 2.2rem;
}
    
}




/* #message
----------------------------------------- */
#message {    
    position: relative;
}
#message .inner {
	padding-top: 9rem;
    padding-bottom: 9rem;
}

#message .layout {
    align-items: flex-start;
    
}
#message .layout .img {
    width: calc(420/1080*100%);
}
#message .layout .txt_wrap {
    width: calc(595/1080*100%);
}
#message .layout .txt_wrap h3 {
    font-size: 2.5rem;
    line-height: calc(50/25);
    color: #343333;
}
#message .layout .txt_wrap .txt {
    margin-top: 3rem;
}
#message .layout .txt_wrap .txt .pink {
    font-size: 1.8rem;
    font-weight: bold;
    color: #f5828c;
}
#message .layout .txt_wrap .name {
    margin-top: 3rem;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: right;
}
#message .layout .txt_wrap .name span {
    font-size: 2.3rem;
}

@media only screen and (max-width: 768px) {
#message {    
}
#message .inner {
	padding-top: 8rem;
    padding-bottom: 8rem;
}

#message h2.img_ttl {
	width: 22rem;
    margin: auto;
    margin-bottom: 7rem;
}
    
#message .layout {
    width: 67rem;
    margin: auto;
    align-items: flex-end;
}
#message .layout .img {
    width: 100%;
}
#message .layout .txt_wrap {
    width: 100%;
    margin-top: 6rem;
}
#message .layout .txt_wrap h3 {
    font-size: 4rem;
    line-height: calc(80/40);
}
#message .layout .txt_wrap .txt {
    margin-top: 6rem;
}
#message .layout .txt_wrap .txt .pink {
    font-size: 2.9rem;
}
#message .layout .txt_wrap .name {
    margin-top: 4rem;
    font-size: 2.9rem;
}
#message .layout .txt_wrap .name span {
    font-size: 3.6rem;
}
    
}

