@charset "UTF-8";

@font-face { font-display: swap }

/* ============================================================ */
/* RESET */
* { outline: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;font: inherit;font-size: 100%;vertical-align: baseline;}
strong { font-weight: bold }
html { line-height: 1 }
ol, ul {list-style: none;}
table { border-collapse: collapse; border-spacing: 0 }
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle }
q, blockquote { quotes: none }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none }
a img { border: none; -webkit-transition: .6s; -o-transition: .6s; transition: .6s }
a:hover { text-decoration: none }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block }
body { word-break: break-all }
img {vertical-align: top;}
body > span[style*="visibility: hidden"] { display: none !important }
main { display: block }
button { background: none; border: none }
button:focus { outline: none }
input[type="submit"],
input[type="button"],
button { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; background: none }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration { display: none }
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus { outline-offset: -2px }
b { font-weight: bold }
select { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; background: none transparent; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: content-box }
select::-ms-expand { display: none }
@-moz-document url-prefix() { .form select { -moz-appearance: none; text-indent: 0.01px; text-overflow: '' } }
img { max-width: 100%; height: auto }
/* /RESET */
/* ============================================================ */

.noto, .form .form_btn { font-family: 'Noto Sans JP', meiryo, 'hiragino kaku gothic pro', 'ms pgothic', helvetica, arial, sans-serif !important }
.yugo, .form .required::before, .form input[type="text"] {font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "hiragino kaku gothic pro", "メイリオ", meiryo, helvetica, arial, sans-serif !important;font-weight: 500;}
.os, .list_numsections section > .head::before, .hd_withen .en, .list_numsections2 .head::before, .list_flow > li > .inner::after, .list_flow > li > .inner::before, .list_flow2 > li > .inner::after, .list_flow2 > li > .inner::before, .faq dt::before, .faq dd::before { font-family: "Oswald", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "hiragino kaku gothic pro", "メイリオ", meiryo, helvetica, arial, sans-serif !important }
.rb { font-family: "Roboto Condensed", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "hiragino kaku gothic pro", "メイリオ", meiryo, helvetica, arial, sans-serif !important }
.ar, .copyright { font-family: arial, "Oswald", "Roboto Condensed", helvetica, sans-serif; }

@media ( min-width: 769px ) {
/* ============================================================ */
/* Settings */
.sp-only, .sp2-only { display: none }
.invisible { display: none !important }
body {font-family: 'Noto Sans JP', meiryo, 'hiragino kaku gothic pro', 'ms pgothic', helvetica, arial, sans-serif;color: #000;font-size: 16px;line-height: 1.875;}
p { margin-bottom: 20px }
a { color: #0071AC }
a[href^="tel:"] { color: inherit; text-decoration: inherit }
/* /Settings */



/* ============================================================ */
/* Header */
#mainmovie { position: fixed; top: 0; left: 0; right: 0; z-index: -1; background: #000; overflow: hidden; height: 840px }
#mainmovie #player { position: absolute; top: -60px; left: 50%; transform: translateX(-50%) }
#mainmovie #topimg { display: none }
#mainmovie .overlay {position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, .6);z-index: 1;}
#mainmovie video { width: 100% }
.fv {height: 840px;text-align: center;position: relative;overflow: hidden;}
.fv .description {color: rgba(255, 255, 255, .8);background: rgba(0, 0, 0, .8);font-size: 11px;text-align: center;line-height: 30px;}
.fv_str { padding-top: 140px }
.fv .scroll {position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);color: #fff;font-size: 14px;padding-bottom: 40px;margin: 0;cursor: pointer;}
.fv .scroll::after { content: ""; display: block; position: absolute; left: 50%; bottom: 0; height: 30px; border-left: 1px solid }
/* /Header */



/* ============================================================ */
/* Footer */
.footer { background: #f1f1f1; text-align: center; padding: 40px 15px }
.list_sns img[alt*="Facebook"] { position: relative; top: 2px }
.list_sns img[alt*="Twitter"] { position: relative; top: 4px }
.list_sns img[alt*="Instagram"] { position: relative; top: 1px }
.copyright { color: #666; font-size: 11px; margin-top: 20px; display: block }
/* /Footer */



/* ============================================================ */
/* Content */
.mb0 { margin-bottom: 0 !important }
.mt40 { margin-top: 40px !important }
.mt60 { margin-top: 60px !important }
.pt20 { padding-top: 20px !important }

.fs20 { font-size: 20px !important }

.center { text-align: center !important }
.bold { font-weight: bold !important }
.ta-r { text-align: right !important }
span.ta-r { display: block }
.wn { white-space: nowrap !important }

.redline { outline: none; border: none; border-top: 6px solid #DF475E; margin: 50px 0 }

.block > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }
.block {padding: 100px 0;background: #fff;}
.block_gray { background: #F1F1F1; padding: 100px 0 }
.block_gray > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }
.block_redline { border-top: 6px solid #DF475E; margin-top: 60px; padding: 60px 20px 0 }
.block_redline > .voice { margin-left: -20px; margin-right: -20px }
.block_line { border-top: 1px solid #000; margin: 40px 20px 0; padding-top: 40px }
.block_staff { border-bottom: 1px solid; padding-bottom: 60px }
.block_staff + .block_staff { margin-top: 60px }
.block_staff .imgtxt { margin-bottom: 20px }
.block_staff .imgtxt .hd_bold3 { margin-bottom: 5px }
.block_staff > *:last-child { margin-bottom: 0 !important }
.block_menu { padding: 20px 30px; background: #fff; color: #333 }
.block_menu + .block_menu { margin-top: 40px }
.block_menu .red { color: #E1475E }
.block_menu .menu { position: relative; padding-left: 15px }
.block_menu .menu::before { content: ""; display: block; position: absolute; left: 0; top: calc( 50% - 4px ); width: 8px; height: 8px; line-height: .1; border-radius: 10px; background: #333 }
.block_menu .price2 { font-size: 24px; font-weight: bold }
.block_menu .notice { position: relative; padding-top: 20px }
.block_menu .notice::before { content: ""; position: absolute; top: 0; left: -30px; right: -30px; border-top: 1px solid #000 }
.block_menu .notice > li { position: relative; padding-left: 1.5em }
.block_menu .notice > li::before { content: "\00203b"; position: absolute; left: 0 }

.box_dquote {background: url(../img/icon-dquote2.png) 27px 27px #F1F1F1 no-repeat;color: #808080;padding: 54px 27px 30px 27px;}
.box_dquote .head { font-weight: bold; margin-bottom: 5px }
.box_dquote .txt > *:last-child { margin-bottom: 0 !important }
.box_white { background: #fff; color: #000; padding: 10px 30px }
.box_white > *:first-child { margin-top: 0 !important }
.box_white > *:last-child { margin-bottom: 0 !important }
.box_white strong { color: #e1475e; font-size: 22px }

.hd_big { font-size: 60px; font-weight: bold; text-align: center; letter-spacing: -6px; margin-bottom: 40px; line-height: 1.25 }
.hd_blackred { font-size: 36px; font-weight: bold; text-align: center; line-height: 1.3; margin-bottom: 40px }
.hd_blackred > span { display: block }
.hd_blackred > .red { font-size: 46px; color: #DF475E }
.hd_bold { font-size: 36px; font-weight: bold; text-align: center; line-height: 1.3; margin-bottom: 40px; letter-spacing: -2px }
.hd_bold2 { font-size: 36px; line-height: 1.3055555555555555555555555555556; font-weight: bold; margin-bottom: 25px }
.hd_bold3 {font-size: 22px;font-weight: bold;line-height: 1.5;margin-bottom: 20px;}
.hd_bold4 { font-size: 24px; font-weight: bold; text-align: center; margin-bottom: 30px }
.hd_bold4 small { font-size: 18px }
.hd_bold5 { font-size: 24px; font-weight: bold; line-height: 1.5; margin-bottom: 10px }
.hd_bold6 {font-size: 22px;font-weight: bold;margin: -20px -30px 20px;background: #000;color: #e1475e;position: relative;padding: 15px 20px 15px 40px;}
.hd_bold6::after {content: "";display: block;position: absolute;left: 20px;top: calc( 50% - 4px );border: 4px solid transparent;border-left: 3px solid #000;}
.hd_bold6::before { content: ""; display: block; position: absolute; left: 20px; top: calc( 50% - 8px ); border: 8px solid transparent; border-left: 9px solid }
.hd_withen { font-size: 54px; font-weight: bold; text-align: center; line-height: 1.25; margin-bottom: 60px }
.hd_withen .en { font-size: 16px; font-weight: 500; padding: 3px 20px; background: #DF475E; display: table; margin: 0 auto 10px; color: #fff }
.hd_withen .en + br { display: none }
.hd_withen .small { font-size: 30px; display: inline-block; vertical-align: top; padding-top: 6px }

.imgtxt > .img { float: left; margin-right: 20px }
.imgtxt > .txt { display: table }
.imgtxt { overflow: hidden }

.list_access .head.car {background: url(../img/icon-car.png) 0 4px no-repeat;padding: 4px 0 0 40px;}
.list_access .head.train {background: url(../img/icon-train.png) no-repeat;padding: 4px 0 0 40px;}
.list_check { font-size: 24px; line-height: 1.3 }
.list_check > li { position: relative; padding-left: 45px }
.list_check > li::before {content: "";background: url(../img/icon-check.png);display: block;width: 33px;height: 28px;position: absolute;left: 0;top: 4px;}
.list_check > li + li { margin-top: 20px }
.list_flow { margin-top: 60px; counter-reset: flow }
.list_flow > li { border: 2px solid #1A1A1A; padding: 35px 120px; counter-increment: flow; position: relative; background: #DF475E }
.list_flow > li:not(*:last-child)::after { content: ""; display: block; position: absolute; bottom: -10px; left: 50%; border: 2px solid #1a1a1a; width: 16px; height: 16px; border-top: none; border-left: none; transform: translateX(-50%) rotateZ(45deg); background: inherit; z-index: 1 }
.list_flow > li + li { border-top: none }
.list_flow > li > .inner { position: relative }
.list_flow > li > .inner::after { content: "0"counter(flow); display: block; white-space: nowrap; font-size: 54px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -80px; top: -6px; width: 60px; text-align: center }
.list_flow > li > .inner::before { content: "STEP"; display: block; white-space: nowrap; font-size: 26px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -80px; top: -20px; width: 60px; text-align: center }
.list_flow .title { font-size: 24px; font-weight: bold; line-height: 1.3; text-align: center; color: #000; margin-bottom: 10px }
.list_flow .benchpress .img {position: absolute;left: -122px;top: 84px;}
.list_flow .exp { text-align: center; font-size: 18px; margin-bottom: 0 }
.list_flow .squat .img { position: absolute; z-index: 1; right: 50px; top: -40px }
.list_flow2 { margin-top: 60px; counter-reset: flow }
.list_flow2 > li { border: 2px solid #1A1A1A; padding: 35px 120px; counter-increment: flow; position: relative; background: #DF645E }
.list_flow2 > li:not(*:last-child)::after { content: ""; display: block; position: absolute; bottom: -10px; left: 50%; border: 2px solid #1a1a1a; width: 16px; height: 16px; border-top: none; border-left: none; transform: translateX(-50%) rotateZ(45deg); background: inherit; z-index: 1 }
.list_flow2 > li + li { border-top: none }
.list_flow2 > li > .inner { position: relative }
.list_flow2 > li > .inner::after { content: "0"counter(flow); white-space: nowrap; font-size: 54px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -80px; top: -6px; display: block; width: 60px; text-align: center }
.list_flow2 > li > .inner::before { content: "STEP"; white-space: nowrap; font-size: 26px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -80px; top: -20px; display: block; text-align: center; width: 60px }
.list_flow2 .title { font-size: 24px; font-weight: bold; line-height: 1.3; text-align: center; color: #000; margin-bottom: 10px }
.list_flow2 .benchpress .img { position: absolute; left: 0; top: 0 }
.list_flow2 .chestpress img { position: absolute; top: -65px; right: -80px; z-index: 1 }
.list_flow2 .exp { text-align: center; font-size: 18px; margin-bottom: 0 }
.list_flow2 .squat .img { position: absolute; z-index: 1; right: 50px; top: -40px }
.list_flow2 .woman img { position: absolute; top: -55px; right: -85px; z-index: 1 }
.list_more { font-size: 18px; font-weight: bold; text-align: center; color: #DA4A4C }
.list_more > li { padding: 4px 15px; background: #fff }
.list_more > li + li { margin-top: 6px }
.list_numsections { font-size: 16px; line-height: 1.875; counter-reset: numsections }
.list_numsections > li { counter-increment: numsections }
.list_numsections > li + li { margin-top: 40px }
.list_numsections section > .head { background: #DF475E; color: #fff; text-align: center; font-size: 24px; font-weight: 600; position: relative; line-height: 1.4; padding: 5px 58px; margin-bottom: 20px }
.list_numsections section > .head::before { content: counter(numsections); display: block; position: absolute; left: 0; top: 0; width: 43px; line-height: 43px; text-align: center; background: rgba(0, 0, 0, .3) }
.list_numsections p { font-weight: 500; letter-spacing: -.8px }
.list_numsections2 { font-size: 18px; line-height: 1.5; font-weight: 500; counter-reset: numsections2 }
.list_numsections2 > li { border-top: 6px solid #DF475E; padding: 60px 20px 0; counter-increment: numsections2; min-height: 303px }
.list_numsections2 > li + li { margin-top: 60px }
.list_numsections2 > li > section { position: relative }
.list_numsections2 .head { font-size: 24px; font-weight: bold; line-height: 1.2916666666666666666666666666667; color: #DF475E; position: relative; padding-left: 50px; margin-bottom: 20px }
.list_numsections2 .head::before { content: counter(numsections2)"."; font-size: 56px; font-weight: bold; display: block; position: absolute; left: 0; top: 0; line-height: 1 }
.list_numsections2 .img { position: absolute; right: 0 }
.list_numsections2 small { font-size: 14px }
.list_access { overflow: hidden; position: relative; margin: 40px 20px }
.list_access > li { width: 50% }
.list_access > li:nth-child(2n) { float: right; padding-left: 35px }
.list_access > li:nth-child(2n+1) { float: left; clear: both; padding-right: 35px }
.list_access > li:nth-child(n+3) { margin-top: 30px; border-top: 1px solid #000; padding-top: 30px }
.list_access::after { content: ""; display: block; position: absolute; top: 0; left: 50%; bottom: 0; border-left: 1px solid #000 }
.list_access .head { font-size: 24px; font-weight: bold; line-height: 1.25; margin-bottom: 10px }
.list_facility { display: flex; justify-content: space-evenly }
_:-ms-input-placeholder, :root .list_facility { justify-content: center }
.list_facility > li { display: inline-block; border: 2px solid; text-align: center; max-width: 120px; width: 40% }
.list_fnavtokuten { text-align: center; letter-spacing: 5px }
.list_fnavtokuten > li { display: inline-block; font-size: 14.21px; line-height: 24px; letter-spacing: normal; color: #DF475E; background: #fff; min-width: 70px; padding: 0 5px }
.list_inside { overflow: hidden }
.list_inside > li { max-width: 49% }
.list_inside > li:nth-child(2n) { float: right }
.list_inside > li:nth-child(2n+1) { float: left }
.list_inside > li:nth-child(n+3) { margin-top: 20px }
.list_price { display: flex; justify-content: space-between }
.list_price > li { background: #fff; color: #000; font-size: 16px; font-weight: bold; text-align: center; width: calc( 100% * ( 300 / 940 ) ); border: 3px solid #000; padding-bottom: 15px }
.list_price .head { font-size: 22px; line-height: 1.25; font-weight: bold; color: #DF475E; background: #000; padding: 12px 10px 18px }
.list_price .facilityhead { margin-bottom: 5px }
.list_price .facility > *:last-child { margin-bottom: 0 }
.list_price .facility .notice { font-size: 14px }
.list_price .price2 { color: #E1475E; font-weight: bold; padding: 40px 10px 0 }
.list_price .pricehead { font-weight: bold; font-size: 20px }
.list_price .priceoption { color: #A5A5A5; display: table; margin: 9px auto 0; position: relative; line-height: 1.2 }
.list_price .priceoption::after { content: ""; display: block; position: absolute; left: -3px; right: -3px; top: 50%; border-bottom: 2px solid #000 }
.list_price .priceoption + .price2 { padding-top: 0 }
.list_price .priceoptionhead { font-size: 16px; font-weight: bold }
.list_price .priceoptiontail { font-size: 16px; font-weight: bold }
.list_price .priceoptionvalue { font-size: 24px }
.list_price .pricetail { font-size: 24px; font-weight: bold }
.list_price .value { font-size: 52px; white-space: nowrap }
.list_root .num { position: absolute; top: 0; left: 0; min-width: 30px; background: #000; text-align: center; line-height: 30px; padding: 0 5px }
.list_root { overflow: hidden; font-size: 17px; color: #fff }
.list_root > li { position: relative; float: left; width: calc( 100% * ( 220 / 940 ) ); margin-left: calc( 100% * ( 20 / 940 ) ) }
.list_root > li:nth-child(4n+1) { margin-left: 0; clear: both }
.list_root > li:nth-child(n+5) { margin-top: calc( 100% * ( 20 / 940 ) ) }
.list_sns { text-align: center; letter-spacing: 30px }
.list_sns > li { display: inline-block }
.list_point { display: flex; justify-content: center; margin: -10px auto 10px }
.list_point > li { border: 1px solid; padding: 0 15px; margin: 10px }
.hd_bold4 + .list_point { margin-top: -30px; margin-bottom: 30px }

.tbl_price { table-layout: fixed; width: 100%; color: #000; font-size: 18px; margin: 20px 0 }
.tbl_price tr > * { border: 3px solid #000; background: #fff; font-weight: bold; padding: 20px; line-height: 1.5 }
.tbl_price td { color: #E1475E !important; text-align: center }
.tbl_price .value { font-size: 24px; padding-right: 3px }
.tbl_price .value2 { padding-right: 3px }
.tbl_price2 { width: 100%; table-layout: fixed; font-size: 18px; color: #333; border-collapse: separate; border-spacing: 2px; margin: 30px auto }
.tbl_price2 caption {font-size: 22px;font-weight: bold;position: relative;padding: 15px 20px 15px 40px;background: #000;color: #e1475e;margin: 0 2px;}
.tbl_price2 caption::after {content: "";display: block;position: absolute;left: 20px;top: calc( 50% - 4px );border: 4px solid transparent;border-left: 3px solid #000;}
.tbl_price2 caption::before { content: ""; display: block; position: absolute; left: 20px; top: calc( 50% - 8px ); border: 8px solid transparent; border-left: 9px solid }
.tbl_price2 tr > * { background: #fff }
.tbl_price2 th { background: #efefef; padding: 0 20px; font-weight: bold }
.tbl_price2 td { padding: 10px 20px }
.tbl_price2 .price2 { color: #E1475E; font-weight: bold }
.tbl_price2 .value { font-size: 24px }
.tbl_price2 .msg_close {font-size: 90%;padding-left: 15px;font-weight: normal;}
.tbl_price2 .msg_close::before { content: "※" }

.txt_boldcenter { font-size: 18px; font-weight: bold; text-align: center }
.txt_hosoku { font-size: 24px; text-align: center; color: #D4485D }
.txt_hosoku2 { font-size: 24px; font-weight: 500; color: #DF475E; text-align: center; margin: -40px 0 40px }
.txt_hosoku3 { text-align: right; font-size: 14px; margin-top: -15px }
.txt_hosoku4 { color: #D4485D; font-size: 18px; margin: 20px 0 }
.txt_hosoku5 {font-size: 24px;color: #D4485D;display: table;margin: 20px auto;}
.txt_hosoku6 {font-size: 18px;margin: 20px auto;}
.txt_hosoku7 { font-size: 18px; display: table; margin: -30px auto 30px }
.txt_bigbold { font-size: 36px; font-weight: bold; text-align: center; line-height: 1.4 }
.txt_bigbold strong { font-size: 80px }
.txt_bigbold small { font-size: 70%; font-weight: normal }

.chance_logo {background: url(../img/chance-logo-bg.png) center;background-size: cover;text-align: center;padding: 246px 15px;}

.fv2 {background: url(../img/fv2-bg.png) center;background-size: cover;padding: 60px 15px;text-align: center;margin: 0;}

.faq { margin-top: -20px; border-bottom: 1px solid }
.faq dd { display: none }
.faq dd { padding: 10px 30px 30px 80px; color: #DF475E; font-size: 16px; position: relative }
.faq dd::before { content: "A."; display: block; position: absolute; left: 35px; top: 0; font-size: 24px; font-weight: bold }
.faq dt { padding: 20px 30px 20px 60px; position: relative; font-size: 18px; font-weight: 500; cursor: pointer }
.faq dd + dt { border-top: 1px solid }
.faq dt::after {content: "";background: url(../img/icon-close.png);position: absolute;right: 0;top: 50%;width: 15px;height: 10px;margin-top: -5px;}
.faq dt::before { content: "Q"; position: absolute; left: 0; top: 16px; font-size: 24px; font-weight: bold; background: #000; display: block; color: #fff; width: 36px; border-radius: 36px; text-align: center; line-height: 1; padding: 4px 0 8px }
.faq dt.opened::after { content: ""; background: url(../img/icon-open.png) }

.flow {background: url(../img/flow-bg.png) center;background-size: cover;padding: 100px 0;}
.flow > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto; color: #fff }

.message {padding: 100px 0;background: url(../img/message-bg.png) center #000 no-repeat;background-size: contain;color: #DF475E;text-align: center;font-size: 36px;line-height: 1.8571428571428571428571428571429;}

.method { position: relative }
.method .img { float: right; margin: -100px -20px 20px 20px; position: relative; padding-bottom: 25px }
.method p { margin-bottom: 35px; font-weight: 500 }
.method .name { color: #fff; background: #000; text-align: center; padding: 4px 5px; position: absolute; bottom: 0; left: 0; right: 0; margin: 0 }
.method .name .en { font-size: 18px }
.method .name .job { font-size: 16px; padding-right: 5px }
.method .name .namae { font-size: 21px; font-weight: bold }
.method .name .sep { font-size: 22px; font-weight: 500; vertical-align: top }
.method > *:last-child { margin-bottom: 0 !important }

.nayami { position: relative }
.nayami .img { position: absolute; top: -30px; right: 0 }

.price {background: url(../img/price-bg.png?20190530) center;background-size: cover;color: #fff;padding: 100px 0;}

.reasons {background: url(../img/reason-bg.png) center;background-size: cover;padding: 100px 0;color: #fff;}
.reasons > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }

.resdv {background: url(../img/resdv-bg.png) top center;background-size: cover;padding: 0 0 80px;color: #fff;}
.resdv > .inner { padding: 0 10px; max-width: 1000px; margin: 0 auto }
.resdv hr { border: none; height: 6px; background: #fff; margin: 40px 0 }
.resdv .address .address { font-size: 16px; margin-bottom: 0; font-weight: 300 }
.resdv .address .tel { font-size: 16px; font-weight: 300; margin-bottom: 0 }
.resdv .address { text-align: center }
.resdv .btn {margin: 0 auto;max-width: 940px;background: #000;color: #FFC55E;text-decoration: none;text-align: center;display: block;font-weight: 900;font-size: 37px;line-height: 1.4;padding: 20px 15px;border-radius: 100px;transition: .6s;}
.resdv .btn:hover { background-color: #79c39d }
.resdv .counter { margin-bottom: 40px }
.resdv .counter > .left { width: 50%; float: left; text-align: right; padding-right: 15px }
.resdv .counter > .left p .num { font-size: 78px; line-height: 1; display: inline-block; padding: 0 10px; position: relative; top: 12px }
.resdv .counter > .left p { font-size: 35px; font-weight: bold; line-height: 1.7; margin-bottom: 0 }
.resdv .counter > .right { width: 50%; float: right; padding: 21px 0 0 15px }
.resdv .counter > .right p .num { font-size: 77.01px; font-weight: bold; color: #FFC55E; display: inline-block; background: #000; width: 120px; line-height: 1; text-align: center; border-radius: 60px; padding: 19px 0 24px; vertical-align: super; margin: 0 15px }
.resdv .counter > .right p { font-size: 51.58px; font-weight: 900; color: #000; margin: 0 }
.resdv .counter::after { content: ""; display: block; clear: both }
.resdv .counter > .left p.resdv_v2 { font-size: 80px; padding: 22px 0 0 }
.resdv .head { font-size: 70.43px; font-weight: bold; text-align: center; line-height: 1.4; margin-bottom: 15px }
.resdv .head .small { font-size: 38.15px; font-weight: normal; display: block; line-height: 1.2 }
.resdv .head .small + br { display: none }
.resdv .headline { font-weight: bold; font-size: 34.5px; line-height: 1.4; text-align: center; display: table; padding: 5px 57px; background: #000; color: #DF475E; margin: 0 auto 80px }
.resdv .henkin {font-size: 22px;font-weight: 300;text-align: center;margin-bottom: 10px;}
.resdv .henkin_hosoku { text-align: center; font-size: 14px }
.resdv .present { position: relative }
.resdv .present .list_more { max-width: 480px; margin: 0 auto }
.resdv .present .more { font-size: 25px; line-height: 94px; font-weight: bold; background: #fff; color: #DA4A4C; text-align: center; width: 94px; height: 94px; border-radius: 94px; position: absolute; left: 50%; top: -10px; margin-left: -350px }
.resdv .present .more::after { content: ""; display: block; position: absolute; border: 8px solid transparent; border-top: 14px solid #fff; transform: rotateZ(-50deg); right: -4px; bottom: -1px }
.resdv .present .presenthead {text-align: center;font-size: 24px;font-weight: bold;margin-bottom: 10px;line-height: 1.3;}
.resdv .shopname { text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 0 }
.resdv .tokuten { font-size: 24px; font-weight: bold; text-align: center; line-height: 1 }
.resdv .tokuten > li { background: #fff; white-space: nowrap; display: inline-block; color: #DF475E; width: 124px; line-height: 40px; margin: 0 7px }

.voice { background: #F0E6E8; position: relative; padding: 40px 50px }
.voice::before {content: "";display: block;background: url(../img/icon-dquote.png);width: 90px;height: 74px;position: absolute;top: -20px;left: 50px;}
.voice + .voice { margin-top: 60px }
.voice .customername { text-align: center; font-size: 16px; font-weight: bold; color: #DF475E; margin-bottom: 30px }
.voice .head { text-align: center; font-size: 36px; line-height: 1.3055555555555555555555555555556; font-weight: bold; margin-bottom: 10px }
.voice .photo img {display: block;float: left;max-width: 49%;}
.voice .photo picture:nth-child(2n) img { float: right }
.voice .photo picture:nth-child(n+3) img { margin-top: 30px }
.voice .photo {overflow: hidden;margin-bottom: 15px;}
.voice .photo picture:nth-child(3n) img { clear: both }
.voice p { font-weight: 500; margin-bottom: 30px }
.voice > *:last-child { margin-bottom: 0 !important }
.voice-tag { font-size: 13px; text-align: right; margin: 15px 0 }
.voice-tag > li { display: inline-block; white-space: nowrap; background: #70434c; color: #fff; padding: 0 5px; position: relative }
.voice-tag > li + li { margin-left: 10px }
.voice-tag > li::before { content: ""; display: block; position: absolute; right: 100%; top: 0; bottom: 0; width: 0; height: 0; border: 12px solid transparent; border-right: 5px solid #70434c }
.voice-menu { border: 1px solid #70434c; padding: 5px 15px; background-color: rgba(255, 255, 255, 0.6) }

.child_list .num { font-size: 20px; padding: 0 4px }
.child_list .time { color: #DF475E }
.child_list > li + li { margin-top: 4px }
.child_list > li { position: relative; padding-left: 1em }
.child_list > li::before { content: ""; display: block; position: absolute; top: 50%; left: 0; width: 6px; height: 6px; margin-top: -3px; border-radius: 6px; background: #000 }
.child_list {font-size: 16px;line-height: 1.25;font-weight: bold;}

.facility { position: relative; padding-top: 15px }
.facility::before { content: ""; display: block; position: absolute; left: 30px; right: 30px; top: 0; border-top: 1px solid #000 }

.fnav { width: 298px; height: 260px; background: rgba(223, 71, 94, .9); color: #fff; font-size: 18px; font-weight: bold; text-align: center; position: fixed; right: -260px; top: 50%; margin-top: -130px; padding: 0 0 0 38px; white-space: nowrap; transition: .6s }
.fnav.opened, .fnav.fstopened { right: 0 }
.fnav .btn {background: url(../img/fnavi-btn.png);width: 38px;height: 260px;text-indent: -1000vw;position: absolute;left: 0;top: 0;cursor: pointer;transition: .6s;}
.fnav.opened .btn, .fnav.fstopened .btn {background-position: -38px 0;}
.fnav .body { padding: 12px 0 0 }
.fnav .head { border-bottom: 3px solid #fff; display: table; margin: 0 auto }
.fnav .counter { color: #000; font-size: 22px; margin-bottom: 12px }
.fnav .counter .num { color: #FFC55E; font-size: 34px; display: inline-block; background: #000; line-height: 54px; width: 54px; height: 54px; text-align: center; border-radius: 54px; position: relative; top: -5px; margin: 0 6px }
.fnav .countlimit { font-size: 16px; margin-bottom: 0 }
.fnav .countlimit strong { font-size: 20px }
.fnav .countlimit strong .rb { font-size: 26px; padding: 0 5px }
.fnav .countlimit.countlimit_v2 { margin: 5px 0 10px }
.fnav .btn2 { display: inline-block; color: #FFC55E; background: #000; text-decoration: none; line-height: 43px; width: 200px; text-align: center; border-radius: 43px; transition: .6s }
.fnav .btn2:hover { background-color: #79c39d }

.form .formrow { border-top: 1px solid #000; border-bottom: 1px solid #000; margin-top: -1px; padding: 40px 0; font-size: 18px; font-weight: bold }
.form .label { position: relative; margin-bottom: 30px }
.form .required::before { content: "必須"; font-size: 14px; font-weight: bold; color: #fff; background: #DF475E; display: inline-block; min-width: 40px; text-align: center; margin-right: 10px }
.form input[type="text"], .form textarea { border: none; font-size: 18px; width: 100%; line-height: 1.75; height: 5.25em }
.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder { color: #949494 }
.form input::-ms-input-placeholder, .form textarea::-ms-input-placeholder { color: #949494 }
.form input::placeholder, .form textarea::placeholder { color: #949494 }
.form .formbtn { margin-top: 60px; text-align: center }
.form .form_btn {background: #000;color: #fff;font-size: 20px;line-height: 1.25;font-weight: bold;text-align: center;min-width: 500px;padding: 17px 10px;border-radius: 64px;margin-bottom: 10px;transition: .6s;}
.form .form_btn:hover { background-color: #79c39d }
.form .formbtn .notice { font-size: 12px; color: #666 }
.form .formbtn > *:last-child { margin-bottom: 0 !important }
.form .mw_wp_form .error { font-size: 16px; font-weight: normal; border: 1px solid; display: table; padding-left: .7em }
.form .thanks {border: 2px solid #0a6a2e;padding: 20px;font-size: 18px;display: table;margin: 60px auto;}
.form .thanks > *:last-child { margin-bottom: 0 !important }
.form .thanks .head { font-size: 20px; font-weight: bold; color: #0a6a2e; text-align: center; border-bottom: 2px solid; padding-bottom: 10px; margin-bottom: 20px }
.form .thanks .contact { border: 1px dotted; display: table; padding: 5px 20px; margin: 20px auto; border-radius: 6px }
.form .mwform-tel-field input { width: 6em !important; padding: 0 10px; text-align: center }

.gmap { margin: 60px 0 }

.message > .inner { max-width: 1000px; margin: 0 auto; padding: 0 10px }
.message .messagejob {font-size: 16px;color: #fff;display: block;margin-top: 12px;}
.message .messagejob + br { display: none }
.message .messagenamae { color: #fff; font-size: 26px; display: block; line-height: 1; white-space: nowrap }
.message > .inner > *:last-child { margin-bottom: 0 !important }

.price > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }
.price .hd_withen .small { font-size: 18px; display: block }
/* /Content */
.box_img_studio{position: relative;}
.img_studio{    position: absolute; right: -10px; width: 300px;}

}
/* /769px ～ */










/* ============================================================ */
/* 1501px ～ */
@media ( min-width: 1501px ) {
#mainmovie #player {width: 100%;height: calc( 100vw * ( 1080 / 1920 ) );}
}
/* /1501px ～ */










/* ============================================================ */
/* 769 ～ 1500px */
@media ( min-width: 769px ) and ( max-width: 1600px ) {
#mainmovie #player { width: 1600px; height: 900px }
}
/* /769 ～ 1500px */











/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ～ 768px */
@media (max-width: 768px) {

/* ============================================================ */
/* Settings (SMP) */
.pc-only { display: none }
body {font-family: 'Noto Sans JP', meiryo, 'hiragino kaku gothic pro', 'ms pgothic', helvetica, arial, sans-serif;color: #000;font-size: 12px;line-height: 1.875;}
p { margin-bottom: 20px }
a { color: #0071AC }
a[href^="tel:"] { color: inherit; text-decoration: inherit }
/* /Settings (SMP) */



/* ============================================================ */
/* Header (SMP) */
#mainmovie { display: none }
.fv {background: url(../img/fv-bg_sp.png) top center;background-size: cover;text-align: center;position: relative;overflow: hidden;}
.fv .description {color: rgba(255, 255, 255, .8);background: rgba(0, 0, 0, .8);font-size: 10px;text-align: center;line-height: 23px;padding: 0 15px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}
.fv_str {padding-top: 160px;padding: 160px 20px 60px;}
.fv .scroll {display: none;}
.fv .scroll::after { content: ""; display: block; position: absolute; left: 50%; bottom: 0; height: 30px; border-left: 1px solid }
.fv .fv_str img { width: 100% }
/* /Header (SMP) */



/* ============================================================ */
/* Footer (SMP) */
.footer {background: #f1f1f1;text-align: center;padding: 25px 15px 15px;}
.list_sns img[alt*="Facebook"] { position: relative; top: 2px }
.list_sns img[alt*="Twitter"] { position: relative; top: 4px }
.list_sns img[alt*="Instagram"] { position: relative; top: 1px }
.copyright {color: #666;font-size: 10px;margin-top: 20px;display: block;}
/* /Footer (SMP) */



/* ============================================================ */
/* Content (SMP) */
.invisible { display: none !important }
.smb0 { margin-bottom: 0 !important }
.sfs15 { font-size: 15px !important }
.sfs20 { font-size: 20px !important }
.swn { white-space: nowrap !important }
.sp-justify { text-align: justify !important }

.center { text-align: center !important }
.bold { font-weight: bold !important }
.ta-r { text-align: right !important }
span.ta-r { display: block }
.wn { white-space: nowrap !important }

.redline {outline: none;border: none;border-top: 4px solid #DF475E;margin: 30px 0;}

.block > .inner {max-width: 1000px;padding: 0 15px;margin: 0 auto;}
.block {padding: 50px 0;background: #fff;}
.block_gray {background: #F1F1F1;padding: 50px 0;}
.block_gray > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }
.block_redline {border-top: 4px solid #DF475E;margin-top: 30px;padding: 30px 15px 0;}
.block_redline > .voice {margin-left: -15px;margin-right: -15px;}
.block_redline > *:last-child { margin-bottom: 0 !important }
.block_line {border-top: 1px solid #000;margin: 30px 0 0;padding-top: 30px;}
.block_staff + .block_staff {border-top: 1px solid;padding-top: 60px;}
.block_staff + .block_staff { margin-top: 60px }
.block_staff .imgtxt { margin-bottom: 20px }
.block_staff .imgtxt .hd_bold3 { margin-bottom: 5px }
.block_staff > *:last-child { margin-bottom: 0 !important }
.block_staff p { font-size: 12px }
.block_menu {padding: 10px 15px;background: #fff;color: #333;}
.block_menu + .block_menu {margin-top: 30px;}
.block_menu .red { color: #E1475E }
.block_menu .menu {position: relative;padding-left: 10px;}
.block_menu .menu::before {content: "";display: block;position: absolute;left: 0;top: 9px;width: 4px;height: 4px;line-height: .1;border-radius: 10px;background: #333;}
.block_menu p { margin-bottom: 10px }
.block_menu .price2 {font-size: 20px;font-weight: bold;}
.block_menu .notice {position: relative;padding-top: 10px;}
.block_menu .notice::before {content: "";position: absolute;top: 0;left: -15px;right: -15px;border-top: 1px solid #000;}
.block_menu .notice > li { position: relative; padding-left: 1.5em }
.block_menu .notice > li::before { content: "\00203b"; position: absolute; left: 0 }

.box_dquote {background: url(../img/icon-dquote2_sp.png) 15px 15px #F1F1F1 no-repeat;background-size: 21px 18.5px;color: #808080;padding: 35px 20px 20px;font-size: 12px;margin-top: 20px;}
.box_dquote .head {font-size: 12px;font-weight: bold;margin-bottom: 5px;}
.box_dquote .txt > *:last-child { margin-bottom: 0 !important }
.box_dquote .imgtxt > .img { float: left; margin-right: 15px }
.box_white { background: #fff; color: #000; padding: 10px 30px }
.box_white > *:first-child { margin-top: 0 !important }
.box_white > *:last-child { margin-bottom: 0 !important }
.box_white strong {color: #e1475e;font-size: 18px;}

.hd_big {font-size: 35px;font-weight: bold;text-align: center;letter-spacing: -3px;margin-bottom: 20px;line-height: 1.25;}
.hd_blackred {font-size: 27px;font-weight: bold;text-align: center;line-height: 1.3;margin-bottom: 30px;}
.hd_blackred > span { display: block }
.hd_blackred > .red {font-size: 34px;color: #DF475E;}
.hd_bold {font-size: 27px;font-weight: bold;text-align: center;line-height: 1.3;margin-bottom: 20px;letter-spacing: -2px;}
.hd_bold2 {font-size: 24px;line-height: 1.3055555555555555555555555555556;font-weight: bold;margin-bottom: 20px;text-align: justify;}
.hd_bold3 {font-size: 16.5px;font-weight: bold;line-height: 1.5;margin-bottom: 20px;}
.hd_bold4 {font-size: 18px;font-weight: bold;text-align: center;margin-bottom: 30px;}
.hd_bold4 small {display: block;font-size: 13.5px;line-height: 1.3;}
.hd_bold5 {font-size: 18px;font-weight: bold;line-height: 1.5;margin-bottom: 15px;}
.hd_bold6 {font-size: 18px;line-height: 1.3;font-weight: bold;margin: -10px -15px 0;position: relative;padding: 10px 10px 10px 23px;color: #e1475e;background: #000;}
.hd_bold6::before {content: "";display: block;position: absolute;left: 10px;top: 16px;border: 5px solid transparent;border-left: 6px solid;}
.hd_withen {font-size: 34px;font-weight: bold;text-align: center;line-height: 1.25;margin-bottom: 30px;}
.hd_withen .en {font-size: 12px;font-weight: 500;padding: 3px 15px;background: #DF475E;display: table;margin: 0 auto 10px;color: #fff;}
.hd_withen .en + br { display: none }
.hd_withen .small {font-size: 22px;display: inline-block;vertical-align: top;padding-top: 6px;}

.imgtxt { overflow: hidden }
.imgtxt > .img {text-align: center;margin-bottom: 20px;}
.imgtxt > .txt { display: table }
.imgtxt > .txt > *:last-child { margin-bottom: 0 }

.list_access .head.car {background: url(../img/icon-car_sp.png) 0 4px no-repeat;background-size: 23px 19.5px;padding-top: 4px;}
.list_access .head.train {background: url(../img/icon-train_sp.png) no-repeat;background-size: 18.5px 25px;padding-top: 4px;}
.list_check {font-size: 18px;line-height: 1.3;}
.list_check > li {position: relative;padding-left: 36px;}
.list_check > li::before {content: "";background: url(../img/icon-check_sp.png);background-size: cover;display: block;width: 24.5px;height: 20.5px;position: absolute;left: 0;top: 2px;}
.list_check > li + li { margin-top: 20px }
.list_facility > li:nth-child(-n+2) { width: 100% }
.list_flow { margin-top: 30px; counter-reset: flow }
.list_flow > li {border: 2px solid #1A1A1A;padding: 30px 60px;counter-increment: flow;position: relative;background: #DF475E;}
.list_flow > li:not(*:last-child)::after {content: "";display: block;position: absolute;bottom: -7px;left: 50%;border: 2px solid #1a1a1a;width: 10px;height: 10px;border-top: none;border-left: none;transform: translateX(-50%) rotateZ(45deg);background: inherit;z-index: 1;}
.list_flow > li + li { border-top: none }
.list_flow > li > .inner { position: relative }
.list_flow > li > .inner::after {content: "0"counter(flow);display: block;white-space: nowrap;font-size: 40.5px;font-weight: bold;color: #fff;opacity: .3;position: absolute;left: -60px;top: -8px;width: 60px;text-align: center;}
.list_flow > li > .inner::before {content: "STEP";display: block;white-space: nowrap;font-size: 19.5px;font-weight: bold;color: #fff;opacity: .3;position: absolute;left: -60px;top: -20px;width: 60px;text-align: center;}
.list_flow .title {font-size: 18px;font-weight: bold;line-height: 1.3;text-align: center;color: #000;margin-bottom: 10px;}
.list_flow .exp {font-size: 13.5px;margin: 0 auto;text-align: justify;display: table;}
.list_flow .squat .img {position: absolute;z-index: 1;right: -10px;top: -20px;}
.list_flow .benchpress + picture .img {position: absolute;left: -35px;bottom: -20px;}
.list_flow2 { margin-top: 30px; counter-reset: flow }
.list_flow2 > li { border: 2px solid #1A1A1A; padding: 30px 60px; counter-increment: flow; position: relative; background: #DF645E }
.list_flow2 > li:not(*:last-child)::after { content: ""; display: block; position: absolute; bottom: -7px; left: 50%; border: 2px solid #1a1a1a; width: 10px; height: 10px; border-top: none; border-left: none; transform: translateX(-50%) rotateZ(45deg); background: inherit; z-index: 1 }
.list_flow2 > li + li { border-top: none }
.list_flow2 > li > .inner { position: relative }
.list_flow2 > li > .inner::after { content: "0"counter(flow); white-space: nowrap; font-size: 40.5px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -60px; top: -8px; display: block; width: 60px; text-align: center }
.list_flow2 > li > .inner::before { content: "STEP"; white-space: nowrap; font-size: 19.5px; font-weight: bold; color: #fff; opacity: .3; position: absolute; left: -60px; top: -20px; display: block; text-align: center; width: 60px }
.list_flow2 .title { font-size: 18px; font-weight: bold; line-height: 1.3; text-align: center; color: #000; margin-bottom: 10px }
.list_flow2 .chestpress2 img {position: absolute;top: -20px;right: -25px;z-index: 1;}
.list_flow2 .exp {text-align: justify;font-size: 13.5px;margin: 0 auto;display: table;}
.list_flow2 .woman img {position: absolute;top: 40px;left: 100%;z-index: 1;}
.list_flow2 .exp br { display: none }
.list_more {font-size: 14px;font-weight: bold;text-align: center;color: #DA4A4C;}
.list_more > li {padding: 2px 15px;background: #fff;}
.list_more > li + li { margin-top: 6px }
.list_numsections {font-size: 12px;line-height: 1.875;counter-reset: numsections;}
.list_numsections > li { counter-increment: numsections }
.list_numsections > li + li {margin-top: 20px;}
.list_numsections section > .head {background: #DF475E;color: #fff;font-size: 16px;font-weight: 600;position: relative;line-height: 1.4;padding: 5px 15px 5px 40px;margin-bottom: 15px;}
.list_numsections section > .head::before {content: counter(numsections);display: block;position: absolute;left: 0;top: 0;width: 32px;line-height: 32px;text-align: center;background: rgba(0, 0, 0, .3);}
.list_numsections p { font-weight: 500; letter-spacing: -.8px }
.list_numsections2 { font-size: 18px; line-height: 1.5; font-weight: 500; counter-reset: numsections2 }
.list_numsections2 > li {border-top: 6px solid #DF475E;padding: 30px 0 0;counter-increment: numsections2;min-height: 303px;}
.list_numsections2 > li + li {margin-top: 30px;}
.list_numsections2 > li > section { position: relative }
.list_numsections2 .head {font-size: 18px;font-weight: bold;line-height: 1.2916666666666666666666666666667;color: #DF475E;position: relative;padding-left: 37px;margin-bottom: 15px;}
.list_numsections2 .head::before {content: counter(numsections2)".";font-size: 42px;font-weight: bold;position: absolute;left: 0;top: 0;line-height: 1;}
.list_numsections2 .img { display: block; margin: 0 auto 30px }
.list_numsections2 small { font-size: 14px }
.list_numsections2 p { font-size: 14px; margin-bottom: 15px }
.list_access {overflow: hidden;position: relative;margin: 30px 0;}
.list_access .head {font-size: 18px;font-weight: bold;line-height: 1.25;margin-bottom: 10px;padding-left: 31px;}
.list_access > li + li { border-top: 1px solid; padding-top: 30px; margin-top: 30px }
.list_facility {font-size: 12px;display: flex;justify-content: space-evenly;}
_:-ms-input-placeholder, :root .list_facility {justify-content: center;}
.list_facility > li { display: inline-block; border: 2px solid; text-align: center; max-width: 120px; width: 40% }
.list_fnavtokuten {display: none;}
.list_price { overflow: hidden }
.list_price > li {background: #fff;color: #000;font-size: 16px;font-weight: bold;text-align: center;border: 3px solid #000;padding-bottom: 15px;}
.list_price .head {font-size: 16.5px;line-height: 1.25;font-weight: bold;color: #DF475E;background: #000;padding: 11px 10px 13px;}
.list_price .facilityhead {margin-bottom: 5px;font-size: 12px;}
.list_price .facility > *:last-child { margin-bottom: 0 }
.list_price .facility .notice {font-size: 10.5px;}
.list_price .price2 {color: #E1475E;font-weight: bold;padding: 20px 10px 0;line-height: 1.3;margin-bottom: 15px;}
.list_price .pricehead {display: block;font-weight: bold;font-size: 15px;line-height: 1;}
.list_price .priceoption { color: #A5A5A5; display: table; margin: 9px auto 0; position: relative; line-height: 1.2 }
.list_price .priceoption::after { content: ""; display: block; position: absolute; left: -3px; right: -3px; top: 50%; border-bottom: 2px solid #000 }
.list_price .priceoption + .price2 { padding-top: 0 }
.list_price .priceoptionhead { font-size: 16px; font-weight: bold }
.list_price .priceoptiontail { font-size: 16px; font-weight: bold }
.list_price .priceoptionvalue { font-size: 24px }
.list_price .pricetail {font-size: 18px;font-weight: bold;}
.list_price .value {font-size: 39px;white-space: nowrap;}
.list_price > li:nth-child(-n+2) { width: calc( 100% * ( ( 425 - 20 ) / 850 ) ) }
.list_price > li:nth-child(1) { float: left }
.list_price > li:nth-child(2) { float: right; padding-bottom: calc( 1em + 18px ) }
.list_price > li:nth-child(n+3) { clear: both; float: left; margin-top: 20px; width: 100% }
.list_price li:nth-child(n+3) .pricehead { display: inline }
.list_root .num {position: absolute;top: 0;left: 0;min-width: 22px;background: #000;text-align: center;line-height: 22px;padding: 0 5px;}
.list_root {overflow: hidden;font-size: 12.75px;color: #fff;}
.list_root > li {position: relative;width: calc( 100% * ( ( 425 - 18 ) / 850 ) );}
.list_root > li img { width: 100% }
.list_root > li:nth-child(2n+1) { float: left; clear: both }
.list_root > li:nth-child(2n) { float: right }
.list_root > li:nth-child(n+3) { margin-top: 20px }
.list_sns { text-align: center; letter-spacing: 30px }
.list_sns > li { display: inline-block }
.list_point {display: flex;justify-content: center;margin: -10px auto 10px;flex-wrap: wrap;}
.list_point > li {border: 1px solid;padding: 8px 15px;margin: 10px;line-height: 1.3;}
.hd_bold4 + .list_point { margin-top: -30px; margin-bottom: 30px }

.tbl_price {table-layout: fixed;width: 100%;color: #000;font-size: 13.5px;margin: 20px 0;}
.tbl_price tr > * {border: 3px solid #000;background: #fff;font-weight: bold;padding: 15px;line-height: 1.5;}
.tbl_price td { color: #E1475E !important; text-align: center }
.tbl_price .value {font-size: 18px;padding-right: 3px;}
.tbl_price .value2 { padding-right: 3px }
.tbl_price2 {width: 100%;font-size: 14px;color: #333;margin: 30px auto;}
.tbl_price2 caption {font-size: 18px;line-height: 1.3;font-weight: bold;position: relative;padding: 10px 10px 10px 23px;margin: 0 2px;color: #e1475e;background: #000;}
.tbl_price2 caption::before {content: "";display: block;position: absolute;left: 10px;top: 16px;border: 5px solid transparent;border-left: 6px solid;}
.tbl_price2 tr > * { background: #fff }
.tbl_price2 th { background: #efefef; padding: 0 20px; font-weight: bold }
.tbl_price2 td {padding: 10px 10px;display: block;border: 1px solid #000;border-top: none;}
.tbl_price2 .price2 { color: #E1475E; font-weight: bold }
.tbl_price2 .value {font-size: 20px;}
.tbl_price2 .msg_close {font-size: 90%;display: block;margin-top: 8px;}
.tbl_price2 .msg_close::before { content: "※" }

.txt_boldcenter {font-size: 14px;font-weight: bold;text-align: center;}
.txt_hosoku {font-size: 18px;text-align: center;color: #D4485D;}
.txt_hosoku2 {font-size: 18px;font-weight: 500;color: #DF475E;text-align: center;margin: -12px 0 20px;line-height: 1.3;}
.txt_hosoku3 { text-align: right; font-size: 14px; margin-top: -15px }
.txt_hosoku4 { color: #D4485D; font-size: 18px; margin: 20px 0 }
.txt_hosoku5 {display: table;margin: 20px auto;font-size: 18px;color: #D4485D;}
.txt_hosoku6 {font-size: 14px;margin: 20px auto;}
.txt_hosoku7 { font-size: 16px; display: table; margin: -30px auto 30px }
.txt_bigbold {font-size: 27px;font-weight: bold;text-align: center;line-height: 1.4;}
.txt_bigbold strong {font-size: 38px;}
.txt_bigbold small { font-size: 70%; font-weight: normal }

.chance_logo {text-align: center;}

.fv2 {margin: 0;}
.fv2 img { width: 100% }

.faq { margin-top: -20px; border-bottom: 1px solid }
.faq dd { display: none }
.faq dd {padding: 10px 30px 15px 43px;color: #DF475E;font-size: 12px;position: relative;}
.faq dd::before {content: "A.";display: block;position: absolute;left: 20px;top: 0;font-size: 18px;font-weight: bold;}
.faq dt {padding: 10px 20px 10px 35px;position: relative;font-size: 13.5px;font-weight: 500;cursor: pointer;}
.faq dd + dt { border-top: 1px solid }
.faq dt::after {content: "";background: url(../img/icon-close_sp.png);background-size: 11px 7px;position: absolute;right: 0;top: 50%;width: 11px;height: 7px;margin-top: -5px;}
.faq dt::before {content: "Q";position: absolute;left: 0;top: 8px;font-size: 18px;font-weight: bold;background: #000;display: block;color: #fff;width: 27px;border-radius: 27px;text-align: center;line-height: 1;padding: 3px 0 6px;}
.faq dt.opened::after {content: "";background-image: url(../img/icon-open_sp.png);}

.flow {background: url(../img/flow-bg_sp.png) center;background-size: cover;padding: 50px 0;}
.flow > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto; color: #fff }

.message {padding: 50px 0;background: url(../img/message-bg_sp.png) center #000 no-repeat;background-size: contain;color: #DF475E;text-align: center;font-size: 24px;line-height: 1.8571428571428571428571428571429;}

.method { position: relative }
.method .img {position: relative;padding-bottom: 13px;text-align: center;margin-bottom: 20px;}
.method p {font-size: 12px;margin-bottom: 22px;font-weight: 500;}
.method .name {color: #fff;background: #000;text-align: center;padding: 4px 15px;position: absolute;bottom: 0;left: 50%;transform: translateX(-50%);display: table;margin: 0;}
.method .name .en {font-size: 14px;}
.method .name .job {font-size: 12px;padding-right: 5px;}
.method .name .namae {font-size: 16px;font-weight: bold;}
.method .name .sep {font-size: 17px;font-weight: 500;vertical-align: top;}
.method > *:last-child { margin-bottom: 0 !important }

.nayami {position: relative;}
.nayami .img {position: absolute;bottom: -50px;right: -15px;}
.nayami .list_check { padding-right: 60px }

.price {background: url(../img/price-bg_sp.png) center;background-size: cover;color: #fff;padding: 50px 0;}

.reasons {background: url(../img/reason-bg_sp.png) top center;background-size: cover;padding: 50px 0;color: #fff;}
.reasons > .inner {max-width: 1000px;padding: 0 15px;margin: 0 auto;}

.resdv {background: url(../img/resdv-bg_sp.png) top center;background-size: cover;padding: 0 0 40px;color: #fff;}
.resdv > .inner {padding: 0 15px;max-width: 1000px;margin: 0 auto;}
.resdv hr {border: none;height: 5px;background: #fff;margin: 30px 0;}
.resdv .address .address {font-size: 12px;margin-bottom: 0;font-weight: 300;}
.resdv .address .tel {font-size: 12px;font-weight: 300;margin-bottom: 0;}
.resdv .address { text-align: center }
.resdv .btn {margin: 0 auto;max-width: 350px;background: #000;color: #FFC55E;text-decoration: none;text-align: center;display: block;font-weight: 900;font-size: 17px;line-height: 1.4;padding: 18px 15px;border-radius: 100px;}
.resdv .counter {margin-bottom: 30px;}
.resdv .counter > .left {width: 50%;float: left;text-align: right;padding-right: 10px;}
.resdv .counter > .left p .num {font-size: 45px;line-height: 1;display: inline-block;padding: 0 6px;position: relative;top: 4px;}
.resdv .counter > .left p {font-size: 20px;font-weight: bold;line-height: 1.7;margin-bottom: 0;}
.resdv .counter > .right {width: 50%;float: right;padding: 11px 0 0 10px;}
.resdv .counter > .right p .num {font-size: 44px;font-weight: bold;color: #FFC55E;display: inline-block;background: #000;width: 69px;line-height: 1;text-align: center;border-radius: 60px;padding: 11px 0 14px;vertical-align: super;margin: 0 10px;}
.resdv .counter > .right p {font-size: 30px;font-weight: 900;color: #000;margin: 0;}
.resdv .counter::after { content: ""; display: block; clear: both }
.resdv .counter > .left p.resdv_v2 { font-size: 30px; padding: 20px 0 0 }
.resdv .head {font-size: 28px;font-weight: bold;text-align: center;line-height: 1.4;margin-bottom: 15px;}
.resdv .head .small {font-size: 16px;font-weight: normal;display: block;line-height: 1.2;}
.resdv .head .small + br { display: none }
.resdv .headline {font-weight: bold;font-size: 22px;line-height: 1.4;text-align: center;display: table;padding: 7px 0;background: #000;color: #DF475E;margin: 0 auto 40px;width: 320px;}
.resdv .henkin {font-size: 11px;font-weight: 300;text-align: center;margin-bottom: 5px;}
.resdv .henkin_hosoku {text-align: center;font-size: 11px;}
.resdv .present {position: relative;max-width: 400px;margin: 0 auto;}
.resdv .present .list_more {margin: 0 auto;}
.resdv .present .more {font-size: 14px;line-height: 44px;font-weight: bold;background: #fff;color: #DA4A4C;text-align: center;width: 44px;height: 44px;border-radius: 44px;position: absolute;left: 0;top: 0;}
.resdv .present .more::after {content: "";display: block;position: absolute;border: 5px solid transparent;border-top: 10px solid #fff;transform: rotateZ(-50deg);right: -3px;bottom: -1px;}
.resdv .present .presenthead {text-align: center;font-size: 16px;font-weight: bold;margin-bottom: 10px;line-height: 1.3;}
.resdv .shopname {text-align: center;font-size: 15px;font-weight: bold;margin-bottom: 0;}
.resdv .tokuten {font-size: 18px;font-weight: bold;text-align: center;line-height: 1;}
.resdv .tokuten > li {background: #fff;white-space: nowrap;display: inline-block;color: #DF475E;width: 93px;line-height: 30px;margin: 0 7px;}

.voice {background: #F0E6E8;position: relative;padding: 30px 20px;}
.voice::before {content: "";display: block;background: url(../img/icon-dquote_sp.png);width: 40.5px;height: 33px;background-size: cover;position: absolute;top: -10px;left: 10px;}
.voice + .voice { margin-top: 60px }
.voice .customername {text-align: center;font-size: 12px;font-weight: bold;color: #DF475E;margin-bottom: 20px;}
.voice .head {text-align: center;font-size: 24px;line-height: 1.3055555555555555555555555555556;font-weight: bold;margin-bottom: 5px;}
.voice .photo img {display: block;float: left;width: calc( 100% * ( ( 425 - 20 ) / 850 ) );}
.voice .photo picture:nth-child(2n) img { float: right }
.voice .photo picture:nth-child(n+3) img {margin-top: 20px;}
.voice .photo {overflow: hidden;margin-bottom: 10px;}
.voice .photo picture:nth-child(3n) img { clear: both }
.voice p {font-size: 12px;font-weight: 500;margin-bottom: 22.5px;}
.voice > *:last-child { margin-bottom: 0 !important }
.voice-tag {font-size: 10px;text-align: right;margin: 15px 0;line-height: 2.4;}
.voice-tag > li {display: inline-block;white-space: nowrap;background: #70434c;color: #fff;padding: 0 5px;position: relative;line-height: 1.875;}
.voice-tag > li + li { margin-left: 10px }
.voice-tag > li::before {content: "";display: block;position: absolute;right: 100%;top: 0;bottom: 0;width: 0;height: 0;border: 9px solid transparent;border-right: 5px solid #70434c;}
.voice-menu { border: 1px solid #70434c; padding: 5px 15px; background-color: rgba(255, 255, 255, 0.6) }

.child_list .num {font-size: 15px;padding: 0 4px;}
.child_list .time { color: #DF475E }
.child_list > li + li { margin-top: 4px }
.child_list > li { position: relative; padding-left: 1em }
.child_list > li::before {content: "";display: block;position: absolute;top: 50%;left: 0;width: 4px;height: 4px;margin-top: -2px;border-radius: 4px;background: #000;}
.child_list {font-size: 12px;line-height: 1.25;font-weight: bold;}

.facility {position: relative;padding: 15px 15px 0;}
.facility::before {content: "";display: block;position: absolute;left: 15px;right: 15px;top: 0;border-top: 1px solid #000;}

.fnav {width: 325px;background: rgba(223, 71, 94, .9);color: #fff;font-size: 12px;font-weight: bold;text-align: center;position: fixed;bottom: calc( -138px );left: 50%;transform: translateX(-50%);padding: 29px 0 0;white-space: nowrap;transition: .6s;z-index: 99999;}
.fnav.opened, .fnav.fstopened {bottom: 0;}
.fnav.hidden { bottom: -200px }
.fnav .btn {background: rgba(0, 0, 0, .9);font-size: 15.43px;color: #DF475E;text-align: center;line-height: 28px;position: absolute;left: 0;top: 0;right: 0;cursor: pointer;padding-bottom: calc( env(safe-area-inset-bottom) );transition: .6s;}
.fnav .btn::before { content: ""; display: block; position: absolute; right: 0; top: 0; height: 28px; width: 28px; background: rgba(255, 255, 255, .1) }
.fnav .btn::after {content: "";display: block;position: absolute;border: 2px solid #fff;width: 9px;height: 9px;transform: rotateZ(45deg);border-bottom: none;border-right: none;top: 15px;margin-top: -4.5px;right: 9px;transition: .6s;}
.fnav.opened .btn, .fnav.fstopened .btn { padding-bottom: 0 }
.fnav.opened .btn::after, .fnav.fstopened .btn::after {transform: rotateZ(225deg);top: 10px;}
.fnav .body {padding: 8px 0 calc( 15px + env(safe-area-inset-bottom) );height: calc( 137px + env(safe-area-inset-bottom) );overflow: hidden;}
.fnav .body > *:last-child { margin-bottom: 0 !important }
.fnav .head {font-size: 17.5px;border-bottom: 2px solid #fff;margin: 0 15px;}
.fnav .counter {color: #000;font-size: 15px;margin-bottom: 10px;text-align: left;padding-top: 8px;display: inline-block;}
.fnav .counter .num {color: #FFC55E;font-size: 18px;display: inline-block;background: #000;line-height: 28px;width: 28px;height: 28px;text-align: center;border-radius: 28px;margin: 0 3px;}
.fnav .countlimit {font-size: 12px;margin-bottom: 0;text-align: right;display: inline-block;margin-right: 10px;}
.fnav .countlimit strong {font-size: 15px;}
.fnav .countlimit strong .rb {font-size: 23px;padding: 0 3px;}
.fnav .btn2 {display: inline-block;color: #FFC55E;background: #000;text-decoration: none;line-height: 32px;width: 240px;text-align: center;border-radius: 32px;}

.form .formrow {border-top: 1px solid #000;border-bottom: 1px solid #000;margin-top: -1px;padding: 30px 0;font-size: 13.5px;font-weight: bold;}
.form .label {position: relative;margin-bottom: 20px;}
.form .required::before {content: "必須";font-size: 10.5px;font-weight: bold;color: #fff;background: #DF475E;display: inline-block;min-width: 30px;text-align: center;margin-right: 10px;}
.form input[type="text"], .form textarea {border: none;font-size: 13.5px;width: 100%;line-height: 1.75;height: 2em;}
.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder { color: #949494 }
.form input::-ms-input-placeholder, .form textarea::-ms-input-placeholder { color: #949494 }
.form input::placeholder, .form textarea::placeholder { color: #949494 }
.form .formbtn {margin-top: 30px;text-align: center;}
.form .form_btn {background: #000;color: #fff;font-size: 15px;line-height: 1.25;font-weight: bold;text-align: center;padding: 15px 10px;width: 100%;max-width: 500px;border-radius: 64px;margin-bottom: 10px;}
.form .form_btn:hover { background-color: #79c39d }
.form .formbtn .notice {font-size: 10px;color: #666;}
.form .formbtn > *:last-child { margin-bottom: 0 !important }
.form .mw_wp_form .error { font-size: 12px; font-weight: normal; border: 1px solid; display: table; padding-left: .7em }
.form .thanks {border: 2px solid #0a6a2e;padding: 20px;font-size: 18px;display: table;margin: 60px auto;}
.form .thanks > *:last-child { margin-bottom: 0 !important }
.form .thanks .head { font-size: 20px; font-weight: bold; color: #0a6a2e; text-align: center; border-bottom: 2px solid; padding-bottom: 10px; margin-bottom: 20px }
.form .thanks .contact { border: 1px dotted; display: table; padding: 5px 20px; margin: 20px auto; border-radius: 6px }
.form .mwform-tel-field input { width: 5em !important; padding: 0 10px; text-align: center }
.form textarea { height: 5.25em }

.gmap {margin: 30px 0;}
.gmap iframe { height: 100vw; max-height: 500px }

.message > .inner { max-width: 1000px; margin: 0 auto; padding: 0 10px }
.message .messagejob {font-size: 12px;color: #fff;display: block;margin-top: 10px;}
.message .messagejob + br { display: none }
.message .messagenamae {color: #fff;font-size: 20px;display: block;line-height: 1;white-space: nowrap;}
.message > .inner > *:last-child { margin-bottom: 0 !important }

.price > .inner { max-width: 1000px; padding: 0 10px; margin: 0 auto }
.price .hd_withen .small { font-size: 18px; display: block }

#gym_inside { margin-left: -15px; margin-right: -15px; margin-bottom: 30px !important }
#gym_inside .slick-arrow { background-size: 50px; width: 50px; height: 50px; z-index: 1 }
#gym_inside .slick-arrow::before,#gym_inside .slick-arrow::after { content: none }
#gym_inside .slick-arrow.slick-prev { background-image: url(../img/slide-prev_sp.png); left: -15px }
#gym_inside .slick-arrow.slick-next { background-image: url(../img/slide-next_sp.png); right: -15px }
#gym_inside img { width: 100% }
#gym_inside .slick-dots { bottom: -45px }
#gym_inside .slick-dots li button:before { font-size: 15px; color: #000; opacity: .2 }
#gym_inside .slick-dots li.slick-active button:before { color: #DD475E; opacity: 1 }
/* /Content (SMP) */

}
/* /～ 768px */











/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ～ 425px */
@media (max-width: 425px) {

/* ============================================================ */
/* Settings (425) */
/* /Settings (425) */



/* ============================================================ */
/* Header (425) */
/* /Header (425) */



/* ============================================================ */
/* Footer (425) */
/* /Footer (425) */



/* ============================================================ */
/* Content (425) */
/* /Content (425) */

}
/* /～ 425px */











/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* 375 ～ 768px */
@media ( min-width: 375px ) and ( max-width: 768px ) {
.sp2-only { display: none }
}
/* /375 ～ 768px */











/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ======================================================================================================================== */
/*.375 ～ 424 px */
@media ( min-width: 375px) and ( max-width: 424px ) {
.hd_blackred > .red { font-size: 30px }
.hd_blackred { font-size: 24px }
.hd_bold { font-size: 26px }
.hd_withen .small { font-size: 20px }
.hd_withen { font-size: 30px }
.resdv .head .small { font-size: 14px }
.flow .center br { display: none }
.flow .center { text-align: justify }
.voice .head br { display: none }
.voice .head { text-align: justify }
}











/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ======================================================================================================================== */
/* ～ 374px */
@media (max-width: 374px) {

/* ============================================================ */
/* Settings (374) */
/* /Settings (374) */



/* ============================================================ */
/* Header (374) */
/* /Header (374) */



/* ============================================================ */
/* Footer (374) */
/* /Footer (374) */



/* ============================================================ */
/* Content (374) */
.sp2-hidden { display: none !important }
.sp2-justify { text-align: justify !important }
.hd_big { font-size: 32px }
.hd_blackred > .red { font-size: 24px; text-align: justify }
.hd_blackred { font-size: 18px }
.hd_bold { font-size: 22px }
.hd_withen.sp2-long .small { font-size: 16px }
.hd_withen.sp2-long { font-size: 26px }
.list_check > li br { display: none }
.list_flow .img { width: 40px; left: auto !important; right: -20px !important; top: -10px !important }
.list_flow .title br { display: none }
.list_flow .title { text-align: justify }
.list_flow > li { padding: 15px 20px 15px 60px }
.list_flow2 .title br { display: none }
.list_flow2 .title { text-align: justify }
.list_flow2 .woman img { right: -40px !important; top: -40px !important }
.list_flow2 > li { padding: 15px 20px 15px 60px }
.list_flow2 img { right: -20px !important; left: auto !important; top: -10px !important; width: 40px !important }
.txt_bigbold strong { font-size: 28px }
.txt_bigbold { font-size: 24px }
.resdv .btn { font-size: 14px }
.resdv .counter > .left p .num { font-size: 34px }
.resdv .counter > .left p { font-size: 16px }
.resdv .counter > .right p .num { font-size: 34px; width: 60px }
.resdv .counter > .right p { font-size: 20px }
.resdv .counter > .right { padding-top: 7px }
.resdv .counter > .left p.resdv_v2 { font-size: 24px }
.resdv .head .small { white-space: nowrap; font-size: 13px }
.resdv .headline { width: 100% }
.resdv .present .more { display: none }
.fnav { width: 100vw }
.message { font-size: 18px }
.method .name .job { display: block; line-height: 1; padding-top: 5px }
.nayami .img { width: 30% }
.voice .head { text-align: justify }
/* /Content (374) */

}
/* /～ 374px */


/* /～ 930px */
@media (max-width: 930px) {
.img_studio{ position: inherit; margin:2% auto 5%;display: block;}

}
/* /～ 930px */