@charset "utf-8";

/*-----------------------------------------------
Tub・SP
-----------------------------------------------*/

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

/*レイアウト*/
.container{
    width: 95%;
    box-sizing: border-box;
}

.wrap{
    width: 95%;
}

body .pc-item {
    display: none; 
}

body .sp-item {
    display: block; 
}

/*ボディコピー*/
.body-copy{
    font-size: 1.8rem;
}

/*PC改行なし*/
.br-sp {
    display: block;
}

/*PC改行*/
.br-pc {
    display: none;
}

body  {
    font-size: 1.6rem;
    line-height: 1.4;
}

/*-----------------------------------------------
ここからコンテンツ
-----------------------------------------------*/

/*FV*/
.target-bg{
    padding: 1.5rem 0;
}

.target-copy{
    font-size: 2.2rem;
    line-height: 1.2;
}

.fv-bg{
    background: none;
    padding: 2rem 0;
}

.fv-img{
    max-width: 100%;
    margin: auto;
}

/*CTA*/
.cta-bg{
    padding: 6rem 0;
}

.cta-box{
    padding: 2rem 1rem;
}

.cta-title{
    max-width: 95%;
}

.warning{
    font-size: 1.4rem;
}

.from{
    padding: 2rem 0;
}

.email-txt{
    font-size: 1.7rem;
}

.age-txt{
    font-size: 1.7rem;
}

.required{
    font-size: 1.4rem;
    padding: 0.2rem 1rem;
}

::placeholder {
    font-size: 2.4rem;
    text-align: center;
}

/*お客様の声01*/
.voice-cotent01{
    padding: 4rem 0;
}

.voice-title01{
    max-width: 95%;
    margin: auto;
}

.voice-joint{
    padding: 2rem 0 4rem 0;
    max-width: 100%;
    margin: auto;
}

.voice-box01{
    border: 4px solid #CA512F;
    padding: 1.5rem;
    margin-bottom: 6rem;
}

.voice-box01__h3{
    background-color: #CA512F;
    padding: 2rem 3rem;
}

.voice-box01__h3 h3{
    font-size: 1.8rem;
}

.text-line-left:before {
	margin-left: 1rem;
    margin-right: 1rem;
	background: #333333;
}

.name{
    font-size: 1.3rem;
}

/*悩み*/
.nayami-bg{
    padding: 4rem 0;
}

.nayami-title{
    max-width: 85%;
    padding-bottom: 2rem;
}

/*原因*/
.cause-title{
    padding: 2rem 0;
    font-size: 3rem;
    line-height: 1.2;
}

.small-txt{
    font-size: 2rem;
}

.cause-bg{
    padding: 4rem 0;
}

.cause-box{
    flex-direction: column;
    padding: 2rem 0;
}

.cause-box:last-child{
    flex-direction: column-reverse;
}

.cause-item01{
    width: 95%;
    margin: auto;
    padding-bottom: 2rem;
}

.cause-item02{
    width: 95%;
}

.cause-title__h3 span img{
    vertical-align: middle;
    margin-right: 0.5rem;
}

.cause-title__h3{
    font-size: 2.6rem;
}

/*解決策*/
.solution-title{
    padding: 2rem 0;
    font-size: 3rem;
}

.solution-bg{
    padding: 4rem 0;
}

.solution-img01{
    padding-bottom: 2rem;
}

.solution-img01 img{
    width: 100%;
    height: auto;
}

.solution-img02{
    padding-bottom: 4rem;
}

.solution-img03{
    padding: 2rem 0;
}

.solution-img04{
    padding-bottom: 2rem;
}

.solution-txt{
    padding-top: 2rem;
}

/*改善に必要な3ステップ*/
.voice-bg02{
    background-color: #fff;
}

.step-bg{
    padding: 4rem 0;
}

.step-title{
    max-width: 95%;
}

.step-img{
    padding: 3rem 0;
}

.step-box{
    flex-direction: column;
    padding: 3rem 1.5rem;
    margin-bottom: 3rem;
}

.step-title__box{
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

.step-item01{
    max-width: 560px;
}

.step-title__h3{
    font-size: 2.6rem;
    line-height: 1.2;
}

.step-img__h3{
    margin-right: 1rem;
}

.step-item02{
    max-width: 95%;
    margin: auto;
    padding-bottom: 2rem;
}

/*お客さまの声02*/
.voice-title02{
    padding-top: 4rem;
    padding-bottom: 0rem;
}

.voice-title02__h3{
    font-size: 1.9rem;
    padding: 3rem 0 2rem 0;
}

.voice02-photo{
    padding: 4rem 0;
}

/*オファー＋特典紹介*/
.ofer-img01{
    padding: 0 0 4rem 0;
}

.tokuten-hukidashi{
    max-width: 190px;
    padding-bottom: 2rem;
}

.tokuten-title{
    max-width: 95%;
    margin: auto;
}

.tokuten-box{
    margin: 4rem auto;
    padding: 1.5rem;
}

.tokuten-line{
    border: 5px solid #E6C993;
    padding: 2rem;
}

.tokuten-img{
    max-width: 100%;
    margin: 0;
    padding: 3rem 0;
    border-bottom: 2px solid #E6C993;
}

.tokuten-img:last-child{
    border-bottom: 0px solid #E6C993;
}

.tokuten-img img{
    width: 100%;
    height: auto;
}

.ofer-tunagi{
    padding-bottom: 6rem;
}

.ofer-tunagi img{
    width: 100vw;
    height: auto;
}

/*オファー紹介*/
.ofer-title02{
    padding:2rem 0;
    font-size: 3rem;
}

.ofer-bg{
    background-color: #fff;
}

.ofer-contets{
    padding: 4rem 0;
}

.ofer-box{
    width: 100%;
    flex-direction: column;
    padding-bottom: 6rem;
}

.ofer-item01{
    max-width: 95%;
}

.day{
    font-size: 1.6rem;
}

.ofer-item01 h3{
    font-size: 2.6rem;
    padding-bottom: 1rem;
}

.ofer-item02{
    max-width: 95%;
}

.ofer-day-img{
    padding-bottom: 2rem;
}

.ofer-day04-08{
    max-width: 95%;
    margin: auto;
}

/*おすすめ*/
.osusume-title {
    padding: 2rem 0;
    font-size: 3rem;
}

.osusume-title:after {
    bottom: -30px;
    border-width: 40px 40px 0 40px;
}

.osusume-bg{
    padding: 6rem 0;
}

.osusume-box{
    background-color: #fff;
    padding: 4rem 2rem;
}

.osusume-list{
    max-width: 95%;
    margin: auto;
}

/*講師プロフィール*/
.profile-title{
    padding: 2rem 0;
    font-size: 3rem;
}

.profile-bg{
    padding: 4rem 0;
}

.profile-wrap{
    border: 5px solid #EBE5DC;
    padding: 4rem 2rem;
}

.profile-box{
    display: flex;
    flex-direction: column;
    padding-bottom: 2rem;
    border-bottom: 5px solid #EBE5DC;
}

.profile-item01{
    max-width: 90%;
    margin: auto;
    padding-bottom: 4rem;
}

.profile-item02{
    max-width: 100%;
}

.profile-item02 .method{
    font-size: 2rem;
}

.profile-item02 .katagaki{
    font-size: 2.4rem;
}

.profile-item02 h3{
    font-size: 4rem;
    font-weight: 800;
}

.profile-item02 .alphabet{
    font-size: 3rem;
}

.profile-txt{
    padding-top: 2rem;
}

.sikaku-list{
    padding-top: 4rem;
}

/*追伸*/
.tuishin-title{
    padding: 2rem 0;
    font-size: 3rem;
}

.tuishin-contents{
    padding: 4rem 1rem;
}

.keiko {
    font-size: 2rem;
    font-weight: bold;
    background: linear-gradient(transparent 60%, #ff6 60%);
}

/*フッター*/
footer{
    background-color: #009DE7;
    padding: 3rem 0;
    color: #fff;
    text-align: center;
}

.footer_link {
    font-size: 17px;
    padding: 10px 0;
}

.footer_link a {
    color: #fff;
    text-decoration: none;
}

.copy {
    font-size: 15px;
}

}

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

/*フッター*/
footer{
    padding: 2rem 0;
}

.footer_link {
    font-size: 1.2rem;
    padding: 10px 0;
}

.copy {
    font-size: 1.2rem;
}

}

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

/*CTA*/
.email-txt{
    font-size: 1.45rem;
}

/*フッター*/
.footer_link {
    font-size: 1rem;
    padding: 10px 0;
}

.copy {
    font-size: 1rem;
}

}