@charset "utf-8";/* CSS Document */@import url(//fonts.googleapis.com/css?family=Ubuntu:700);@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);@import url(//fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;1,600&display=swap);@font-face {  font-family: Yu Gothic;  src: local("Yu Gothic Medium");  font-weight: 400;}@font-face {  font-family: Yu Gothic;  src: local("Yu Gothic Bold");  font-weight: 700;}*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #333;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  font-feature-settings: "pkna"1;  overflow-x: hidden;    line-height: 1.6;}a {  text-decoration: none;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}a {    text-decoration: none;    transition: all 0.4s;}a:hover{    transition: all 0.4s;    opacity: .6;}#page-top {  position: fixed;  right: 10px;  bottom:10px;  z-index: 2;    /*はじめは非表示*/  opacity: 0;  transform: translateX(100px);}img{    max-width: 100%;}/*　左の動き　*/#page-top.LeftMove{  animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{  animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {    opacity: 1;  transform: translateX(0);  }  to {    opacity: 1;  transform: translateX(200px);  }}/* fadeUp */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.8s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeUpTrigger{    opacity: 0;}/*-----------------------------------------------------------------*//*------------------------PC--------------------------*/@media screen and (min-width: 960px) {	/* 960px以上に適用されるCSS（PC用） */    #header    {        position: relative;        background: url("../images/mv.jpg") no-repeat center;        background-size: cover;        height: 100vh;        background-attachment: fixed;    }.h_inner    {        max-width: 1200px;        margin: 0 auto;        display: flex;        justify-content: space-between;        align-items: center;        padding: 2rem 0;    }    .catch    {        position: absolute;        top: 50%;        left: 50%;        font-size: 3.8rem;        color: #FFFFFF;        text-align: center;        transform: translate(-50%,-50%);        font-weight: 600;        line-height: 1.4;        letter-spacing: 0.2rem;        width: 100%;    }    .container    {        max-width: calc(1000px + 10%);        margin: 0 auto;        padding: 5rem 0;    }    .worries    {        background: url("../images/contents_bg01.jpg") no-repeat center;        background-size: cover;    }    .worrieslist    {        padding: 4rem;    }    .h2_ttl    {        font-size: 3.8rem;        text-align: center;        font-weight: 600;        padding: 3rem;    }    .worrieslist li    {        font-size: 2.4rem;        font-weight: 600;        padding: 2rem 0;        position: relative;        padding-left: 5rem;    }    .worrieslist li::after    {        content: "";        position: absolute;        top: 50%;        left: 0;        width: 26px;        height: 22px;        background: url("../images/Icon feather-user-check.png") no-repeat center;        background-size: cover;        transform: translateY(-50%);    }    .under    {        width: 50%;        margin: 0 auto;    }    .under img    {        text-align: center;        max-width: 100%;    }    .concept    {        background: url("../images/concept_bg.jpg") center no-repeat;        background-size: cover;        background-attachment: fixed;    }    .concept_box    {        padding: 5rem 0rem 10rem;        background-color: rgba(255,255,255,0.8);        margin: 10rem auto;        width: calc(100% - 10rem);    }    .h3_ttl    {        font-size: 3.8rem;        padding: 3rem 0;        text-align: center;        font-weight: 600;    }    .concept_subttl    {        font-size: 2rem;        font-weight: 600;        margin-bottom: 5rem;        text-align: center;        line-height: 1.4;    }    .concept_txt    {        font-size: 1.8rem;        line-height: 1.6;        letter-spacing: 0.1rem;        width: calc(100% - 18rem);        margin: 0 auto;    }    .merit    {        background: url("../images/merit_bg.jpg") center repeat-y;        background-size: cover;        padding: 3rem 0;    }    .merit_subttl    {        font-size: 1.6rem;        font-weight: 600;        text-align: center;    }    .flex_m    {        display: flex;        align-items: center;        justify-content: center;        background: #DDFFE3;        max-width: 1100px;        margin: 0 auto;    }    .img    {        width: 50%;    }    .txt    {        width: 50%;        font-size: 3rem;        font-weight: 900;        text-align: center;        color: #005103;        display: flex;        align-items: center;        justify-content: center;    }    .reverse    {        flex-direction: row-reverse;    }    .contact    {        background: url("../images/contact_bg.jpg") no-repeat center;        background-size: cover;        padding: 5rem 0;        background-attachment: fixed;    }    .com_box    {        width: 50%;        padding: 3rem;    }    .con_box p    {        font-size: 1.8rem;        color: #FFFFFF;        font-weight: 600;        text-align: center;    }    .greeting    {        background: url("../images/greeting_bg.jpg") no-repeat center;        background-size: cover;    }    .greeting_box    {        background: #FFFFFF;        padding: 5rem 5rem 8rem;    }    .flex    {        display: flex;        justify-content: space-between;        align-items: center;    }    .greeting_subttl    {        font-size: 1.8rem;        font-weight: 600;        text-align: center;    }    .g_txt    {        font-size: 1.8rem;        padding: 0 2rem;        width: 50%;        padding-left: 3rem;    }    .contact_wrap    {        max-width:  calc(1000px - 5%);        margin: 0 auto;    }    .name span    {        font-size: 2rem;        font-weight: 600;        padding: 0 2rem;    }    .name    {        padding-top: 5rem    }    .training    {        background: url("../images/Muscle Training_bg.jpg") no-repeat center;        background-size: cover;        padding: 0 0 5rem;    }    .training_box    {        background: rgba(255,255,255,.8);        padding: 5rem 5rem 8rem;    }    .t_ttl    {        text-align: center;        font-size: 3.4rem;        font-weight: 600;        padding: 2rem 0;    }    .t_ttl span    {        font-size: 5rem;        color: #299C2D    }    .training p    {        font-size: 1.8rem;        padding: 3rem;    }    .reason    {        background: url("../images/reason_bg.jpg") no-repeat center;        background-size: cover;    }    .reason_ttl    {        font-size: 3.4rem;        text-align: center;        font-weight: 600;        padding: 5rem;    }    .reason_ttl span    {        font-size: 5rem;        color: #C49600;        position: relative;    }    .reason_ttl span::after    {        content: "・";        position: absolute;        top: -5rem;        left: 50%;        color: #333333;        transform: translateX(-50%)    }    .reason_box    {        width: 32%;        font-size: 1.6rem;        padding: 1rem    }    .mt20    {        margin-top: 2rem;    }    .mt40    {        margin-top: 4rem;    }    .box_ttl    {        font-size: 2.8rem;    padding: 1rem;    font-weight: 600;    }    .reason_txt p    {        font-size: 1.6rem;        padding: 2rem;    }    .reason_txt    {        padding: 5rem;    }    .copy    {        background: #299C2D;        padding: 2rem;        text-align: center;        color: #FFFFFF;    }}/*------------------------tablet--------------------------*/@media screen and (max-width: 959px) and (min-width:481px) {	/* 959px以下に適用されるCSS（タブレット用） */    #header    {        position: relative;        background: url("../images/mv.jpg") no-repeat center;        background-size: cover;        height: 50vh;        background-attachment: fixed;    }.h_inner    {        max-width: 960px;        margin: 0 auto;        display: flex;        justify-content: space-between;        align-items: center;        padding: 2rem;    }    .catch    {        position: absolute;        top: 50%;        left: 50%;        font-size: 2.4rem;        color: #FFFFFF;        text-align: center;        transform: translate(-50%,-50%);        font-weight: 600;        line-height: 1.4;        letter-spacing: 0.2rem;     }    .container    {        max-width: calc(940px + 10%);        margin: 0 auto;        padding: 5rem 0;    }    .worries    {        background: url("../images/contents_bg01.jpg") no-repeat center;        background-size: cover;    }    .worrieslist    {        padding: 4rem;    }    .h2_ttl    {        font-size: 3.8rem;        text-align: center;        font-weight: 600;        padding: 3rem;    }    .worrieslist li    {        font-size: 2.4rem;        font-weight: 600;        padding: 2rem 0;        position: relative;        padding-left: 5rem;    }    .worrieslist li::after    {        content: "";        position: absolute;        top: 50%;        left: 0;        width: 26px;        height: 22px;        background: url("../images/Icon feather-user-check.png") no-repeat center;        background-size: cover;        transform: translateY(-50%);    }    .under    {        width: 50%;        margin: 0 auto;    }    .under img    {        text-align: center;        max-width: 100%;    }    .concept    {        background: url("../images/concept_bg.jpg") center no-repeat;        background-size: cover;        background-attachment: fixed;    }    .concept_box    {        padding: 5rem 0rem 10rem;        background-color: rgba(255,255,255,0.8);        margin: 10rem auto;        width: calc(100% - 10rem);    }    .h3_ttl    {        font-size: 3.8rem;        padding: 3rem 0;        text-align: center;        font-weight: 600;    }    .concept_subttl    {        font-size: 2rem;        font-weight: 600;        margin-bottom: 5rem;        text-align: center;        line-height: 1.4;    }    .concept_txt    {        font-size: 1.8rem;        line-height: 1.6;        letter-spacing: 0.1rem;        width: calc(100% - 18rem);        margin: 0 auto;    }    .merit    {        background: url("../images/merit_bg.jpg") center repeat-y;        background-size: cover;        padding: 3rem 0;    }    .merit_subttl    {        font-size: 1.6rem;        font-weight: 600;        text-align: center;    }    .flex_m    {        display: flex;        align-items: center;        justify-content: center;        background: #DDFFE3;        max-width: 960px;        margin: 0 auto;    }    .img    {        width: 50%;    }    .txt    {        width: 50%;        font-size: 2.6rem;        font-weight: 900;        text-align: center;        color: #005103;        display: flex;        align-items: center;        justify-content: center;    }    .reverse    {        flex-direction: row-reverse;    }    .contact    {        background: url("../images/contact_bg.jpg") no-repeat center;        background-size: cover;        padding: 5rem 0;        background-attachment: fixed;    }    .com_box    {        width: 50%;        padding: 3rem;    }    .con_box p    {        font-size: 1.8rem;        color: #FFFFFF;        font-weight: 600;        text-align: center;    }    .greeting    {        background: url("../images/greeting_bg.jpg") no-repeat center;        background-size: cover;    }    .greeting_box    {        background: #FFFFFF;        padding: 5rem 5rem 8rem;    }    .flex    {        display: flex;        justify-content: space-between;        align-items: center;    }    .greeting_subttl    {        font-size: 1.8rem;        font-weight: 600;        text-align: center;    }    .g_txt    {        font-size: 1.8rem;        padding: 0 2rem;        width: 50%;    }    .contact_wrap    {        max-width:  calc(860px - 10%);        margin: 0 auto;    }    .name span    {        font-size: 2rem;        font-weight: 600;        padding: 0 2rem;    }    .name    {        padding-top: 5rem    }    .training    {        background: url("../images/Muscle Training_bg.jpg") no-repeat center;        background-size: cover;    }    .training_box    {        background: rgba(255,255,255,.8);        padding: 5rem;    }    .t_ttl    {        text-align: center;        font-size: 3.4rem;        font-weight: 600;        padding: 2rem 0;    }    .t_ttl span    {        font-size: 5rem;        color: #299C2D    }    .training p    {        font-size: 1.8rem;        padding: 3rem;    }    .reason    {        background: url("../images/reason_bg.jpg") no-repeat center;        background-size: cover;    }    .reason_ttl    {        font-size: 3.4rem;        text-align: center;        font-weight: 600;        padding: 5rem;    }    .reason_ttl span    {        font-size: 5rem;        color: #C49600;        position: relative;    }    .reason_ttl span::after    {        content: "・";        position: absolute;        top: -5rem;        left: 50%;        color: #333333;        transform: translateX(-50%)    }    .reason_box    {        width: 32%;        font-size: 1.6rem;        padding: 1rem    }    .mt20    {        margin-top: 2rem;    }    .mt40    {        margin-top: 4rem;    }    .box_ttl    {        font-size: 2rem;    padding: 1rem;    font-weight: 600;    }    .reason_txt p    {        font-size: 1.6rem;        padding: 2rem;    }    .reason_txt    {        padding: 5rem;    }    .copy    {        background: #299C2D;        padding: 2rem;        text-align: center;        color: #FFFFFF;    }}/*------------------------SP--------------------------*/@media screen and (max-width: 480px) {	/* 480px以下に適用されるCSS（スマホ用） */    #header    {        position: relative;        background: url("../images/mv_sp.jpg") no-repeat center;        background-size: cover;        height: 40vh;    }.h_inner    {        max-width: 960px;        margin: 0 auto;        display: flex;        justify-content: space-between;        align-items: center;    }    .logo    {        padding: 1rem;    }    .reserve    {        padding: 1rem;    }    .catch    {        position: absolute;        top: 50%;        left: 50%;        font-size: 2rem;        color: #FFFFFF;        text-align: center;        transform: translate(-50%,-50%);        font-weight: 600;        line-height: 1.4;        letter-spacing: 0.2rem;        width: 100%    }    .container    {        max-width: calc(940px + 10%);        margin: 0 auto;        padding: 3rem 0;    }    .worries    {        background: url("../images/contents_bg01.jpg") no-repeat center;        background-size: cover;    }    .worrieslist    {        padding: 2rem;    }    .h2_ttl    {        font-size: 2rem;        text-align: center;        font-weight: 600;        padding: 3rem;    }    .worrieslist li    {        font-size: 1.6rem;        font-weight: 600;        padding: 1rem 0;        position: relative;        padding-left: 3rem;    }    .worrieslist li::after    {        content: "";        position: absolute;        top: 80%;        left: 0;        width: 26px;        height: 22px;        background: url("../images/Icon feather-user-check.png") no-repeat center;        background-size: cover;        transform: translateY(-50%);    }    .under    {        width: 80%;        margin: 0 auto;    }    .under img    {        text-align: center;        max-width: 100%;    }    .concept    {        background: url("../images/concept_bg.jpg") center no-repeat;        background-size: cover;        background-attachment: fixed;    }    .concept_box    {        padding: 2rem 0rem 4rem;        background-color: rgba(255,255,255,0.8);        margin: 4rem auto;        width: calc(100% - 4rem);    }    .h3_ttl    {        font-size: 2rem;        padding: 2rem 0;        text-align: center;        font-weight: 600;    }    .h3_ttl img    {        width: 50%;    }    .concept_subttl    {        font-size: 1.6rem;        font-weight: 600;        margin-bottom: 5rem;        text-align: center;        line-height: 1.4;    }    .concept_txt    {        font-size: 1.6rem;        line-height: 1.4;        letter-spacing: 0.1rem;        width: calc(100% - 4rem);        margin: 0 auto;    }    .merit    {        background: url("../images/merit_bg.jpg") center repeat-y;        background-size: cover;        padding: 3rem 0;    }    .merit_subttl    {        font-size: 1.6rem;        font-weight: 600;        text-align: center;    }    .flex_m    {        display: flex;        align-items: center;        justify-content: center;        background: #DDFFE3;        max-width: 960px;        margin: 0 auto;        flex-direction: column;    }    .img    {        width: 100%;    }    .txt    {        width: 100%;        font-size: 2rem;        font-weight: 900;        text-align: center;        color: #005103;        display: flex;        align-items: center;        justify-content: center;        height: 300px    }    .reverse    {        flex-direction: column;    }    .contact    {        background: url("../images/contact_bg.jpg") no-repeat center;        background-size: cover;        padding: 5rem 0;        background-attachment: fixed;    }    .com_box    {        width: 50%;        padding: 3rem;    }    .con_box p    {        font-size: 1.8rem;        color: #FFFFFF;        font-weight: 600;        text-align: center;    }    .greeting    {        background: url("../images/greeting_bg.jpg") no-repeat center;        background-size: cover;    }    .greeting_box    {        background: #FFFFFF;        padding: 3rem 3rem 6rem;    }    .flex    {        display: flex;        justify-content: space-between;        align-items: center;        flex-direction: column;    }    .con_box    {        padding: 2rem;    }    .greeting_subttl    {        font-size: 1.8rem;        font-weight: 600;        text-align: center;    }    .g_txt    {        font-size: 1.6rem;        width: 100%;    }    .contact_wrap    {        max-width:  calc(390px - 10%);        margin: 0 auto;    }    .name span    {        font-size: 2rem;        font-weight: 600;        padding: 0 2rem;    }    .name    {        padding-top: 5rem    }    .training    {        background: url("../images/Muscle Training_bg.jpg") no-repeat center;        background-size: cover;    }    .training_box    {        background: rgba(255,255,255,.8);        padding: 2rem;    }    .t_ttl    {        text-align: center;        font-size: 2.6rem;        font-weight: 600;        padding: 1rem 0;    }    .t_ttl span    {        font-size: 3rem;        color: #299C2D    }    .training p    {        font-size: 1.6rem;        padding: 1rem;    }    .reason    {        background: url("../images/reason_bg.jpg") no-repeat center;        background-size: cover;    }    .reason_ttl    {        font-size: 2.6rem;        text-align: center;        font-weight: 600;        padding: 1rem;    }    .reason_ttl span    {        font-size: 3rem;        color: #C49600;        position: relative;    }    .reason_ttl span::after    {        content: "・";        position: absolute;        top: -5rem;        left: 50%;        color: #333333;        transform: translateX(-50%)    }    .reason_box    {        width: 80%;        font-size: 1.6rem;    }    .mt20    {        margin-top: 2rem;    }    .mt40    {        margin-top: 4rem;    }    .box_ttl    {        font-size: 1.8rem;    padding: 1rem;    font-weight: 600;    }    .reason_txt p    {        font-size: 1.6rem;        padding: 1rem;    }    .reason_txt    {        padding: 2rem;    }    .copy    {        background: #299C2D;        padding: 2rem;        text-align: center;        color: #FFFFFF;    }    #page-top img    {        width: 60%;    }    #page-top     {        text-align: right;    }}