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

/* 
	for SP
	
*****************************************************/
@media screen and (max-width:800px){
	
	section .box_txt {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.1em; font-feature-settings: "pkna"; -moz-font-feature-settings: "pkna"; -webkit-font-feature-settings: "pkna"; text-align: justify; font-variant-ligatures:none;}
	.pcbr {display: none;}
	
	/* HOME
	------------------*/
	#home #container01 {height: 100vh; position: relative; background: #fff;}
	#home #container01 h1 {width: 93.75vw; margin: 0 auto 0; padding-top: 36vh;}
	#home #container01 .next_arrow {width: 12.03125vw; height: 12.03125vw; position: absolute; bottom: 40vw; left: 50%; margin-left: -5.78125vw;}
	#home #container01 .next_arrow a {width: 12.03125vw; height: 12.03125vw; display: block; border:1px solid #004892; border-radius:6.015625vw; position: relative;}
	#home #container01 .next_arrow a:after {content: ""; width: 11.875vw; height: 11.875vw; display: block; background: url(../images/home/arrow_bl.png) top center; background-size: 11.875vw auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container02 {background: #004892 url(../images/home/bg01.png) top center no-repeat; background-size: 150vw auto; padding: 15.625vw 0;}
	#home #container02 h1 {background: url(../images/home/find01_sp.png) top left no-repeat; background-size: 52.96875vw auto; width: 52.96875vw; height: 15.625vw; margin: 0 auto;}
	#home #container02 h2 {font-size: 4.6875vw; line-height: 7.03125vw; letter-spacing: 0.1em; font-weight: bold; text-align: center; color: #fff; margin: 7.8125vw 0;}
	#home #container02 p {color: #fff; padding: 0 4.6875vw;}
	#home #container02 .btn {width: 54.6875vw; margin: 7.8125vw auto;}
	#home #container02 .btn a {font-size: 3.4375vw; font-weight: bold; color: #fff; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:3.59375vw 0 0 2.5vw; text-align: center; border:1px solid #fff; border-radius:5.46875vw; position: relative;}
	#home #container02 .btn a:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_wh.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
	#home #container02 .next_arrow {width: 12.03125vw; height: 12.03125vw; margin: 0 auto;}
	#home #container02 .next_arrow a {width: 12.03125vw; height: 12.03125vw; display: block; border:1px solid #fff; border-radius:6.015625vw; position: relative;}
	#home #container02 .next_arrow a:after {content: ""; width: 11.875vw; height: 11.875vw; display: block; background: url(../images/home/arrow_wh.png) top center; background-size: 11.875vw auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container03 {background:#ededed url(../images/home/bg02.png) top center no-repeat; background-size: 260vw auto; padding: 15.625vw 0;}
	#home #container03 h1 {background: url(../images/home/find02.png) no-repeat; background-size:48.515625vw auto; width: 48.515625vw; height: 15.546875vw; margin: 0 auto;}
	#home #container03 .lead {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.12em; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; text-align: center; padding: 7.8125vw 4.6875vw;}
	#home #container03 .lead strong {color: #004892; font-weight: bold;}
	#home #container03 .inner {width: 90.625vw; margin: 0 auto;}
	#home #container03 .inner dl dt {font-size: 6.25vw; line-height: 7.8125vw; letter-spacing: 0.1em; font-weight: bold; margin-bottom: 3.5vw}
	#home #container03 .inner dl dd {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.1em; text-align: justify;}
	#home #container03 .inner dl dd strong {color: #004892;}
	#home #container03 .btn {width: 54.6875vw; margin: 7.8125vw auto 0;}
	#home #container03 .btn a {font-size: 3.4375vw; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:3.59375vw 0 0 2.5vw; text-align: center; border:1px solid #004892; border-radius:5.46875vw; position: relative;}
	#home #container03 .btn a:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
	/* SECOND BASE
	------------------*/
	#container01 .inner {padding-top: 25vw;}
	#container01 .inner h2 {font-size: 3.125vw; letter-spacing: 0.35em; font-weight: bold; position: relative; text-align: center; margin-bottom: 12.5vw; z-index: 1;}
	#container01 .inner h2:after {content: ""; display: block; height: 2.34375vw; margin: -1.09375vw auto 0; background: #0092d7; position: relative; z-index: -1;}
	/* ABOUT
	------------------*/
	#about #container01 {background:#f3f3f3 url(../images/about/bg_txt.png) top left no-repeat; background-size: 45vw auto; padding:0 0 15.625vw;}
	#about #container01 .inner h1 {width: 38.515625vw; margin: 0 auto 4.6875vw;}
	#about #container01 .inner h2:after {width: 32.8125vw;}
	#about #container01 dl {width: 90.625vw; margin: 0 auto;}
	#about #container01 dl dt {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.15em; font-weight: bold; color: #004892;}
	#about #container01 dl dt,#about #container01 dl dd {padding: 0;}
	#about #container01 dl dd {border-bottom: 1px solid #004892; padding-bottom: 3.125vw; margin-bottom: 3.125vw;}
	#about #container01 dl dd:last-child {margin-bottom: 0;}
	#about #container01 dl dd ul {padding-left: 1em; margin-bottom: 2.34375vw;}
	#about #container01 dl dd ul li {list-style: disc; letter-spacing: 0.1em;}
    #about #container01 dl dd .membership01:after {content: ""; display:block; background: url("../images/about/logo_sportinlife.png") no-repeat; width: 23.125vw; height: 4.53125vw; background-size: 100%; }
	#about #container02 .inner {position: relative; padding-top: 125vw;}
	#about #container02 figure {width: 75vw; position: absolute; top:15.625vw; left: 50%; margin-left: -37.5vw; z-index: 0;}
	#about #container02 h1 {width: 13.90625vw; position: absolute; top: 7.8125vw; right: 2.65625vw; z-index: 0;}
	#about #container02 h2 {background: url(../images/about/name_sp.png) top center no-repeat; background-size: 13.75vw auto; width: 13.75vw; height: 44.84375vw; position: absolute; top: 25.78125vw; right: 19.84375vw; z-index: 1;}
	#about #container02 .profile_txt p {color: #fff; width: 90.625vw; margin: 0 auto; padding-bottom: 15.625vw;}
	#about #container02 .achievement h3 {width: 13.5vw; margin: 0 auto;}
	#about #container02 .achievement p {color: #fff; padding: 5vw 0 0; width: 90.625vw; margin: 0 auto;}
	#about #container02 .achievement p + p {padding: 14vw 0 15.625vw; position: relative;}
	#about #container02 .achievement p + p:before {content: ""; display: block; background-color: #fff; width: 10vw; height: 1px; position: absolute; top: 7vw; left: 50%; margin-left: -5vw;}
	/* CONCEPT
	------------------*/
	#concept #container01 {background:#1c2936 url(../images/concept/bg_txt.png) top left no-repeat; background-size: 45vw auto; padding:0 0 15.625vw;}
	#concept #container01 .inner h1 {width: 52.8125vw; margin: 0 auto 4.6875vw;}
	#concept #container01 .inner h2 {color: #fff;}
	#concept #container01 .inner h2:after {width: 39.84375vw;}
	#concept #container01 h3 {width: 90.625vw; margin: 0 auto 10.15625vw;}
	#concept #container01 p {width: 90.625vw; margin: 0 auto; font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.15em; color: #fff; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; text-align: justify;}
	#concept #container02 {padding: 15.625vw 0;}
	#concept #container02 h1 {width: 45.703125vw; margin: 0 auto 15.625vw; position: relative;}
	#concept #container02 h1:after {content: ""; display: block; width: 3.75vw; height: 2px; background: #1c2936; position: absolute; top: 13.28125vw; left: 50%; margin-left: -1.875vw;}
	#concept #container02 .logo_container {width: 90.625vw; margin: 0 auto; background: #fff; padding: 6.25vw;}
	#concept #container02 .logo_container figure {padding-bottom: 5.46875vw; margin-bottom: 5.46875vw; border-bottom: 1px solid #ccc;}
	#concept #container02 .logo_container p {font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	/* SERVICE
	------------------*/
	#service .wrap_wh strong {color: #004892;}
	#service #container01 {background:#f3f3f3 url(../images/service/bg_txt.png) top left no-repeat; background-size: 45vw auto; padding:0 0 15.625vw;}
	#service #container01 .inner h1 {width: 48.515625vw; margin: 0 auto 4.6875vw;}
	#service #container01 .inner h2:after {width: 32.8125vw;}
	#service #container01 .catch {width: 19.53125vw; position: absolute; top: 24vw; left: 50%; margin-left: 27.34375vw;}
	#service #container01 .inner_wrap {width: 65.625vw; margin-left: 4.6875vw;}
	#service #container01 .inner_wrap .tagline {font-size: 3.5vw; line-height: 5vw; letter-spacing: 0.1em; font-weight: bold; color: #004892; text-align: justify;}
	#service #container01 .inner_wrap h3 {font-size: 7vw; font-weight: bold; color: #0092d7; margin: 5vw 0;}
	#service #container02 {padding: 15.625vw 0; position: relative; color: #fff;}
	#service #container02 figure.device {width: 90.625vw; position: absolute; top: -7.8125vw; left: 4.6875vw;}
	#service #container02 .lead {width: 84.375vw; margin: 0 auto; padding: 46.875vw 0 0;}
	#service #container02 .lead h4 {font-size: 6.25vw; line-height: 7.8125vw; letter-spacing: 0.15em; font-weight: bold;}
	#service #container02 .lead p {padding:6.25vw 0 15vw; text-align: justify;}
	#service #container02 .flow {width: 90.625vw; margin: 0 auto 20vw; display: flex; flex-wrap: wrap; justify-content: space-between;}
	#service #container02 .flow li {width: 40vw; margin-bottom: 9vw; position: relative;}
	#service #container02 .flow li dl {font-size: 3.2vw; line-height: 5vw; letter-spacing: 0.05em; text-align: justify; padding: 0 3vw;}
	#service #container02 .flow li dl dt {font-size: 4vw; font-weight: bold; text-align: center; padding: 4vw 0 2vw;}
	#service #container02 .flow li:first-child:after,
	#service #container02 .flow li:nth-child(3):after {content: ""; display: block; background: url("../images/service/arrow.png") no-repeat; width: 7.65625vw; height: 9.84375vw; background-size: 100%; position: absolute; top: 18vw; left: 42.5vw;}
	#service #container02 .flow li:last-child {margin-left: 10vw;}
	#service #container02 h5 {font-size: 6.25vw; letter-spacing: 0.1em; font-weight: bold; position: relative; z-index: 0; margin-left: 4.6875vw;}
	#service #container02 .price h5:after {content: ""; display: block; background: url("../images/service/h5_txt_price.png") no-repeat; width: 23.984375vw; height: 8.4375vw; background-size: 100%; position: absolute; top: -6.25vw; left: -2vw; z-index: -1;}
	#service #container02 .price p {width: 90.625vw; margin: 0 auto; padding: 6.25vw 0;}
	#service #container02 .price table {font-size: 3.2vw; letter-spacing: 0.08em; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 90.625vw; margin: 0 auto;}
	#service #container02 .price table tr:nth-child(odd) {background-color: #283848;}
	#service #container02 .price table td {padding: 1.5625vw 3.125vw; border-bottom: 1px solid #fff; border-right: 1px solid #fff; line-height: 5vw;}
	#service #container02 .price table td span {font-size: 2.8vw; font-weight: bold; color: #0f98d9; padding: 0 3.125vw; position: relative; z-index: 0;}
	#service #container02 .price table td span:before {content: ""; display: block; background: #fff; border-radius: 1.7vw; width: 100%; height: 3.4vw; position: absolute; top: -0.5vw; left: 0; z-index: -1;}
	#service #container02 .price ul {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.05em; text-indent: -1em; padding-left: 1em; padding-top: 4.5vw; width: 90.625vw; margin: 0 auto;}
	#service #container02 .contact_txt {font-size: 4.5vw; line-height: 7vw; letter-spacing: 0.05em; font-weight: bold; text-align: center; padding-top: 15.625vw;}
	#service #container02 .btn {width: 54.6875vw; margin: 7.8125vw auto;}
	#service #container02 .btn a {font-size: 3.4375vw; font-weight: bold; color: #fff; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:3.59375vw 0 0 2.5vw; text-align: center; border:1px solid #fff; border-radius:5.46875vw; position: relative;}
	#service #container02 .btn a:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_wh.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
	#service #container03 {padding: 15.625vw 0;}
	#service #container03 h4 {background: url(../images/service/sec03_catch_sp.png) no-repeat; background-size:100%; width: 88.90625vw; height: 21.25vw; margin: 0 auto 10vw;}
	#service #container03 .trainer_wrap {width: 90.625vw; margin: 0 auto 10vw;}
	#service #container03 .trainer_wrap figure {width: 23.4375vw; float: left; margin-right: 5vw;}
	#service #container03 dl dt {font-size: 5vw; font-weight: bold; letter-spacing: 0.2em; color: #004892; margin-bottom: 4vw;}
	#service #container03 dl dt + dd {font-size: 4vw; letter-spacing: 0.1em; color: #0f98d9; padding-bottom: 3vw; position: relative;}
	#service #container03 dl dt + dd:before {content: ""; display: block; width: 3vw; height: 0.78125vw; background: #0f98d9; position: absolute; top:1.5vw; left: 23.4375vw;}
	#service #container03 dl dd + dd {font-size: 3.5vw; line-height: 6vw; text-align: justify;}
	#service #container03 .btn {width: 54.6875vw; margin: 15.625vw auto 0;}
	#service #container03 .btn a {font-size: 3.4375vw; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:3.59375vw 0 0 2.5vw; text-align: center; border:1px solid #004892; border-radius:5.46875vw; position: relative;}
	#service #container03 .btn a:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
	/* RECRUIT
	------------------*/
	/* CONTACT
	------------------*/
	#contact #container01 {background:#f3f3f3 url(../images/about/bg_txt.png) top left no-repeat; background-size: 45vw auto; padding:0 0 15.625vw;}
	#contact #container01 .inner h1 {width: 52.8125vw; margin: 0 auto 4.6875vw;}
	#contact #container01 .inner h2:after {width: 32.8125vw;}
	#contact #container01 dl {width: 90.625vw; margin: 0 auto;}
	#contact #container01 dl dt {font-size: 3.5vw; line-height: 6vw; letter-spacing: 0.15em; font-weight: bold; color: #1c2936;}
	#contact #container01 dl dt,#contact #container01 dl dd {padding: 0;}
	#contact #container01 dl dd {border-bottom: 1px solid #ccc; padding-bottom: 3.125vw; margin-bottom: 3.125vw;}
	#contact #container01 dl dd:last-child {margin-bottom: 0;}
	#contact #container01 dl dd input {border: 1px solid #ccc; background-color: #fff; width: 100%; height: 7.8125vw; padding: 0 1.5625vw; font-size: 4.0625vw;}
	#contact #container01 .form dl dd textarea {border: 1px solid #ccc; background-color: #fff; width: 100%; height: 46.875vw; padding: 0.78125vw 1.5625vw; font-size: 4.0625vw;}
	#contact #container01 .form .privacy {width: 90.625vw; margin: 0 auto;}
	#contact #container01 .form .privacy h3 {font-size: 5.46875vw; font-weight: bold; color: #004892; text-align: center; padding: 6.25vw 0 3.125vw;}
	#contact #container01 .form .privacy p + h4 {font-size: 4.0625vw; font-weight: bold; margin: 4.6875vw 0 2vw; padding-left: 0.7em; position: relative;}
	#contact #container01 .form .privacy h4:before {content: ""; display: block; width: 0.625vw; height: 4.6875vw; background: #0092d7; position: absolute; top: -0.46875vw; left: 0;}
	#contact #container01 .form .privacy p {line-height: 5vw; letter-spacing: 0.05em;}
	#contact #container01 .form .agree {border-bottom: 1px solid #ccc; font-size: 4.0625vw; letter-spacing: 0.1em; font-weight: bold; text-align: center; padding: 5.46875vw 0; color: #004892; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#contact #container01 .form .agree {border-bottom: 1px solid #ccc; font-size: 3.4375vw; letter-spacing: 0.05em; font-weight: bold; text-align: center; padding: 10.9375vw 0; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#contact #container01 .form .agree .label-checkbox {border: 1px solid #004892; padding: 2.96875vw 4.6875vw; border-radius: 6.25vw;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]{display: none;}
	#contact #container01 .form .agree .label-checkbox {cursor: pointer; position: relative;}
	#contact #container01 .form .agree .label-checkbox .lever:before{content:""; display: block; width: 4.375vw; height: 4.375vw; border: 1px solid #ccc; color: #1c2936; border-radius: 3.125vw; position: absolute; top: 2.1875vw; left:2.34375vw;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever{color: #004892;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever:before{content:""; display: block; width: 4.375vw; height: 4.375vw; border: 1px solid #004892; color: #004892; border-radius: 3.125vw; position: absolute; top: 2.1875vw; left:2.34375vw;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever:after{content:""; display: block; width: 2.8125vw; height: 2.8125vw; border: 1px solid #004892; background-color: #004892; color: #004892; border-radius: 3.90625vw; position: absolute; top: 2.96875vw; left: 3.125vw;}
	#contact #container01 .form .btn_area {width: 54.6875vw; margin: 0 auto;}
	#contact #container01 .form .btn-send {width: 54.6875vw; margin-top: 7.8125vw; position: relative; }
	#contact #container01 .form .btn-send input {font-size: 3.4375vw; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:0 0 0 16px; text-align: center; border:1px solid #004892; border-radius:35px; position: relative; z-index: 2;}
	#contact #container01 .form .btn-send:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
	#contact.thanks #container01 {min-height: 90vh;}
	#contact.thanks #container01 p {font-size: 4.6875vw; letter-spacing: 0.15em; font-weight: bold; text-align: center; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#contact.thanks #container01 .btn  {width: 54.6875vw; margin: 15.625vw auto 0;}
	#contact.thanks #container01 .btn a {font-size: 3.4375vw; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 54.6875vw; height: 10.9375vw; display: block; padding:3.59375vw 0 0 2.5vw; text-align: center; border:1px solid #004892; border-radius:5.46875vw; position: relative;}
	#contact.thanks #container01 .btn a:after {content: ""; width: 5.625vw; height: 5.625vw; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 5.625vw auto; position: absolute; top: 2.8125vw; left: 2.8125vw;}
}

/* 
	for PC
	
*****************************************************/
@media screen and (min-width:801px){
	
	section .box_txt {font-size: 16px; line-height: 30px; letter-spacing: 0.1em; font-feature-settings: "pkna"; -moz-font-feature-settings: "pkna"; -webkit-font-feature-settings: "pkna"; text-align: justify; font-variant-ligatures:none;}
	.spbr {display: none;}
	
	/* HOME
	------------------*/
	#home section {position: relative;}
	#home #container01 {width: 100vw; height: 800px; background: #fff;}
	#home #container01 h1 {width: 725.2px; height: 252.8px; position: absolute; top: 50%; left: 50%; margin-top: -126.4px; margin-left: -362.6px;}
	#home #container01 .next_arrow {width: 77px; position: absolute; bottom: 30px; left: 50%; margin-left: -38px; z-index: 11;}
	#home #container01 .next_arrow a {width: 77px; height: 77px; display: block; border:1px solid #004892; border-radius:38.5px; position: relative;}
	#home #container01 .next_arrow a:after {content: ""; width: 76px; height: 76px; display: block; background: url(../images/home/arrow_bl.png) top center; background-size: 76px auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container01 .next_arrow a:hover:after {content: ""; width: 76px; height: 76px; display: block; background: url(../images/home/arrow_wh.png) top center; background-size: 76px auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container02 {height: 800px; background: #004892 url(../images/home/bg01.png) top center no-repeat; background-size: cover;}
	#home #container02 .inner {width: 720px; height: 456px; position: absolute; left: 50%; top: 50%; margin:-228px 0 0 -360px;}
	#home #container02 h1 {background: url(../images/home/find01.png) top left no-repeat; background-size: 99px auto; width: 99px; height: 338px; float: left;}
	#home #container02 h2 {font-size: 32px; line-height: 45px; letter-spacing: 0.1em; font-weight: bold; color: #fff; margin: 0 0 15px 125px;}
	#home #container02 p {color: #fff; width: 595px; margin: 0 0 0 125px;}
	#home #container02 .btn {width: 350px; margin: 35px auto 0; position: relative; z-index: 11;}
	#home #container02 .btn a {font-size: 20px; font-weight: bold; color: #fff; letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:23px 0 0 16px; text-align: center; border:1px solid #fff; border-radius:35px; position: relative; z-index: 11;}
	#home #container02 .btn a:after {content: ""; width: 36px; height: 36px; display: block; background: url(../images/common/btn_arrow_wh.png) no-repeat; background-size: 36px auto; position: absolute; top: 18px; left: 18px; z-index: 12;}
	#home #container02 .next_arrow {width: 77px; position: absolute; bottom: 30px; left: 50%; margin-left: -38px; z-index: 11;}
	#home #container02 .next_arrow a {width: 77px; height: 77px; display: block; border:1px solid #fff; border-radius:38.5px; position: relative;}
	#home #container02 .next_arrow a:after {content: ""; width: 76px; height: 76px; display: block; background: url(../images/home/arrow_wh.png) top center; background-size: 76px auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container02 .next_arrow a:hover:after {content: ""; width: 76px; height: 76px; display: block; background: url(../images/home/arrow_bl.png) top center; background-size: 76px auto; position: absolute; top: 0; left: 0; z-index: 13;}
	#home #container03 {background: url(../images/home/bg02.png) top center no-repeat; background-size: cover; padding-top: 125px;}
	#home #container03 h1 {background: url(../images/home/find02.png) no-repeat; background-size:310.5px auto; width: 310.5px; height: 99.5px; margin: 0 auto 20px;}
	#home #container03 .lead {font-size: 16px; line-height: 28px; letter-spacing: 0.2em; text-align: center; margin-bottom: 40px; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#home #container03 .lead strong {color: #004892; font-weight: bold;}
	#home #container03 .inner {padding-bottom: 100px;}
	
	#home #container03 .inner figure {width: 495px; position: absolute; top: 345px; left: 50%; margin-left: -450px;}
	#home #container03 .inner dl {width: 100%; height: 410px; position: relative;}
	#home #container03 .inner dl dt {font-size: 36px; line-height: 50px; font-weight: bold; position: absolute; top: 25px; left: 50%; margin-left: 80px;}
	#home #container03 .inner dl dd {font-size: 16px; line-height: 28px; position: absolute; top: 140px; left: 50%; margin-left: 80px; width: 340px;}
	#home #container03 .inner dl dd strong {color: #004892;}
	
	#home #container03 .btn {width: 350px; margin: 35px auto 0; position: relative; z-index: 11;}
	#home #container03 .btn a {font-size: 20px; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:23px 0 0 16px; text-align: center; border:1px solid #004892; border-radius:35px; position: relative; z-index: 11;}
	#home #container03 .btn a:after {content: ""; width: 36px; height: 36px; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 36px auto; position: absolute; top: 18px; left: 18px; z-index: 12;}
	/* SECOND BASE
	------------------*/
	#container01 .inner {padding: 160px 0 120px;}
	#container01 .inner h1 {margin-left: 60px; float: left;}
	#container01 .inner h2 {font-size: 20px; letter-spacing: 0.35em; font-weight: bold; position: relative; float: left; margin: 40px 0 0 60px; z-index: 1;}
	#container01 .inner h2:after {content: ""; display: block; height: 15px; background: #0092d7; position: relative; z-index: -1;}
	/* ABOUT
	------------------*/
	#about #container01 {background:#f3f3f3 url(../images/about/bg_txt.png) top left no-repeat; background-size: 288px auto; padding-bottom: 100px;}
	#about #container01 .inner h1 {width: 246.5px;}
	#about #container01 .inner h2:after {width: 160px; position: absolute; top: 12px; left: -25px;}
	#about #container01 dl {width: 740px; margin: 0 auto; border-bottom: 1px solid #004892;}
	#about #container01 dl,#about #container01 dl dt,#about #container01 dl dd {box-sizing: border-box;}
	#about #container01 dl dt {font-size: 16px; line-height: 30px; letter-spacing: 0.15em; font-weight: bold; color: #004892; width: 120px; float: left;}
	#about #container01 dl dt,#about #container01 dl dd {padding: 20px 0; border-top: 1px solid #004892;}
	#about #container01 dl dt:nth-child(1),#about #container01 dl dd:nth-child(2) {padding: 0 0 20px; border-top: none;}
	#about #container01 dl dd {margin-left: 120px;}
	#about #container01 dl dd ul {padding-left: 1em; margin-bottom: 15px;}
	#about #container01 dl dd ul li {list-style: disc;}
    #about #container01 dl dd .membership01:after {content: ""; display:inline-block; background: url("../images/about/logo_sportinlife.png") no-repeat; width: 109px; height: 21px; background-size: 100%; margin-left: 10px; margin-bottom: -3px;}
	#about #container02 {background:#1c2936 url(../images/about/bg01.jpg) left top no-repeat; background-size: cover;}
	#about #container02 .inner {position: relative; padding-top: 135px;}
	#about #container02 figure {width: 481px; position: absolute; top:100px; left: 50%; margin-left: -40vw; z-index: 0;}
	#about #container02 h1 {width: 89px; position: absolute; top: 75px; left: 50%; margin-left: 30vw; z-index: 0;}
	#about #container02 .profile_txt {width: 800px; margin: 0 auto; padding-left: 250px;}
	#about #container02 h2 {background: url(../images/about/name_pc.png) top center no-repeat; background-size: 185.5px auto; width: 490px; height: 262.5px; position: relative; z-index: 2;}
	#about #container02 .box_txt {color: #fff; width: 550px; letter-spacing: 0.1em; position: relative; z-index: 1; padding: 45px 0 100px; font-size:15px; line-height:28px;}
	#about #container02 .achievement h3 {width: 59px; margin: 0 auto;}
	#about #container02 .achievement p {color: #fff; letter-spacing: 0.1em; font-size: 15px; line-height: 28px; width: 800px; margin: 0 auto; padding: 35px 0 0;}
	#about #container02 .achievement p + p {padding: 70px 0 100px; position: relative;}
	#about #container02 .achievement p + p:before {content: ""; display: block; background-color: #fff; width: 36px; height: 1px; position: absolute; top: 35px; left: 50%; margin-left: -18px;}
	/* CONCEPT
	------------------*/
	#concept #container01 {background: #1c2936 url(../images/concept/bg_txt.png) top left no-repeat; background-size: 288px auto; padding-bottom: 100px;}
	#concept #container01 .inner h1 {width: 338px;}
	#concept #container01 .inner h2 {color:#fff;}
	#concept #container01 .inner h2:after {width: 255px; position: absolute; top: 12px; left: -25px;}
	#concept #container01 h3 {width: 769px; margin: 0 auto 65px;}
	#concept #container01 p {font-size: 18px; line-height: 40px; letter-spacing: 0.2em; color: #fff; text-align: center; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#concept #container02 {padding: 100px 0;}
	#concept #container02 h1 {width: 292.5px; margin: 0 auto 100px; position: relative;}
	#concept #container02 h1:after {content: ""; display: block; width: 24px; height: 2px; background: #1c2936; position: absolute; top: 85px; left: 50%; margin-left: -12px;}
	#concept #container02 .logo_container {width: 800px; margin: 0 auto; background: #fff; padding: 40px;}
	#concept #container02 .logo_container figure {width: 430px; float: left; padding-right: 35px; margin-right: 35px; border-right: 1px solid #ccc;}
	#concept #container02 .logo_container p {font-size: 14px; letter-spacing: 0.025em; line-height: 23.5px;}
	/* SERVICE
	------------------*/
	#service section {position: relative;}
	#service section .inner_wrap {width: 800px; margin: 0 auto;}
	#service .wrap_wh strong {color: #004892;} 
	#service #container01 {background: #f3f3f3 url(../images/service/bg_txt.png) top left no-repeat; background-size: 288px auto; padding-bottom: 160px;}
	#service #container01 .inner h1 {width: 310.5px;}
	#service #container01 .inner h2:after {width: 210px; position: absolute; top: 12px; left: -25px;}
	#service #container01 .catch {width: 138px; height: 844.5px; position: absolute; top: 0; left: 50%; margin-left: 265px;}
	#service #container01 .catch:before {content: ""; display: block; height: 194px; width: 1px; background: #1c2936; position: absolute; top: 0; left: 109px;}
	#service #container01 .inner_wrap .tagline {font-size: 23px; line-height: 35px; letter-spacing: 0.05em; color: #004892; font-weight: bold; margin-bottom: 25px;}
	#service #container01 .inner_wrap h3 {font-size: 50px; color: #0092d7; font-weight: bold; margin-bottom: 30px;}
	#service #container01 .inner_wrap p {width: 600px; text-align: justify;}
	#service #container02 {padding: 100px 0; color: #fff;}
	#service #container02 figure.device {width: 528px; position: absolute; top: -66px; left: 50%; margin-left: -500px;}
	#service #container02 .lead h4 {font-size: 35px; line-height: 50px; letter-spacing: 0.1em; font-weight: bold; padding:20px 0 0 475px;}
	#service #container02 .lead p { letter-spacing: 0.05em; padding:35px 0 80px 475px;}
	#service #container02 .flow {width: 820px; margin: 0 auto 150px; display: flex; justify-content: space-between;}
	#service #container02 .flow li {width: 182px; position: relative;}
	#service #container02 .flow li dl {font-size: 14px; line-height: 24px; letter-spacing: 0.05em; text-align: justify; padding: 0 12px;}
	#service #container02 .flow li dl dt {font-size: 16px; font-weight: bold; text-align: center; padding: 15px 0;}
	#service #container02 .flow li:after {content: ""; display: block; background: url("../images/service/arrow.png") no-repeat; width: 24.5px; height: 31.5px; background-size: 100%; position: absolute; top: 86px; left: 185px;}
	#service #container02 .flow li:last-child:after {content: ""; display: none;}
	#service #container02 h5 {font-size: 30px; font-weight: bold; position: relative; z-index: 0;}
	#service #container02 .price h5:after {content: ""; display: block; background: url("../images/service/h5_txt_price.png") no-repeat; width: 153.5px; height: 54px; background-size: 100%; position: absolute; top: -40px; left: -40px; z-index: -1;}
	#service #container02 .price p {padding: 30px 0;}
	#service #container02 .price table {font-size: 16px; letter-spacing: 0.08em; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 100%;}
	#service #container02 .price table tr:nth-child(odd) {background-color: #283848;}
	#service #container02 .price table td {padding: 10px 30px; border-bottom: 1px solid #fff; border-right: 1px solid #fff;}
	#service #container02 .price table td span {font-size: 14px; font-weight: bold; color: #0f98d9; padding: 0 20px; position: relative; z-index: 0;}
	#service #container02 .price table td span:before {content: ""; display: block; background: #fff; border-radius: 12.5px; width: 100%; height: 25px; position: absolute; top: -7px; left: 0; z-index: -1;}
	#service #container02 .price ul {font-size: 16px; line-height: 28px; letter-spacing: 0.05em; text-indent: -1em; padding-left: 1em; padding-top: 30px;}
	#service #container02 .contact_txt {font-size: 20px; font-weight: bold; text-align: center; padding-top: 100px;}
	#service #container02 .btn {width: 350px; margin: 35px auto 0; position: relative; z-index: 11;}
	#service #container02 .btn a {font-size: 20px; font-weight: bold; color: #fff; letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:23px 0 0 16px; text-align: center; border:1px solid #fff; border-radius:35px; position: relative; z-index: 11;}
	#service #container02 .btn a:after {content: ""; width: 36px; height: 36px; display: block; background: url(../images/common/btn_arrow_wh.png) no-repeat; background-size: 36px auto; position: absolute; top: 18px; left: 18px; z-index: 12;}
	#service #container03 {padding: 100px 0;}
	#service #container03 h4 {background: url(../images/service/sec03_catch_pc.png) no-repeat; background-size:100%; width: 131px; height: 716.5px; position: absolute; top: 0; left: 50%; margin-left: 269px;}
	#service #container03 .trainer_wrap {width: 800px; margin: 0 auto 50px;}
	#service #container03 .trainer_wrap figure {width: 240px; float: left;}
	#service #container03 dl {padding-left: 270px;}
	#service #container03 dl dt {font-size: 25px; font-weight: bold; letter-spacing: 0.2em; color: #004892; margin-bottom: 25px;}
	#service #container03 dl dt + dd {font-size: 16px; letter-spacing: 0.1em; color: #0f98d9; padding-bottom: 25px; position: relative;}
	#service #container03 dl dt + dd:before {content: ""; display: block; width: 20px; height: 5px; background: #0f98d9; position: absolute; top: 6px; left: -30px;}
	#service #container03 dl dd + dd {font-size: 14px; letter-spacing: 0.03em; line-height: 24px; text-align: justify;}
	#service #container03 .trainer_wrap.top dl dd + dd {padding-right: 220px;}
	#service #container03 .btn {width: 350px; margin: 100px auto 0; position: relative; z-index: 11;}
	#service #container03 .btn a {font-size: 20px; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:23px 0 0 16px; text-align: center; border:1px solid #004892; border-radius:35px; position: relative; z-index: 11;}
	#service #container03 .btn a:after {content: ""; width: 36px; height: 36px; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 36px auto; position: absolute; top: 18px; left: 18px; z-index: 12;}
	
	/* RECRUIT
	------------------*/
	/* CONTACT
	------------------*/
	#contact #container01 {background: #f3f3f3 url(../images/contact/bg_txt.png) top left no-repeat; background-size: 288px auto; padding-bottom: 100px;}
	#contact #container01 .inner h1 {width: 338px;}
	#contact #container01 .inner h2:after {width: 210px; position: absolute; top: 12px; left: -25px;}
	#contact #container01 .form {width: 800px; margin: 0 auto;}
	#contact #container01 .form dl {border-bottom: 1px solid #ccc;}
	#contact #container01 .form dl,#contact #container01 .form dl dt,#contact #container01 .form dl dd {box-sizing: border-box;}
	#contact #container01 .form dl dt {font-size: 16px; line-height: 30px; letter-spacing: 0.15em; font-weight: bold; width: 230px; float: left;}
	#contact #container01 .form dl dt,#contact #container01 .form dl dd {padding: 15px 0; border-top: 1px solid #ccc;}
	#contact #container01 .form dl dt:nth-child(1),#contact #container01 .form dl dd:nth-child(2) {border-top: none;}
	#contact #container01 .form dl dd input {border: 1px solid #ccc; background-color: #fff; width: 570px; height: 30px; padding: 0 10px; font-size: 16px;}
	#contact #container01 .form dl dd textarea {border: 1px solid #ccc; background-color: #fff; width: 570px; height: 200px; padding: 5px 10px; font-size: 16px;}
	#contact #container01 .form .privacy h3 {font-size: 24px; font-weight: bold; color: #004892; text-align: center; padding: 30px 0 20px;}
	#contact #container01 .form .privacy p + h4 {font-size: 16px; font-weight: bold; margin: 25px 0 10px; padding-left: 0.7em; position: relative;}
	#contact #container01 .form .privacy h4:before {content: ""; display: block; width: 4px; height: 20px; background: #0092d7; position: absolute; top: -2px; left: 0;}
	#contact #container01 .form .agree {border-bottom: 1px solid #ccc; font-size: 16px; letter-spacing: 0.2em; font-weight: bold; color: #004892; text-align: center; padding: 50px 0; font-feature-settings: "palt"; -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";}
	#contact #container01 .form .agree .label-checkbox {border: 1px solid #004892; padding: 19px 30px; border-radius: 40px;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]{display: none;}
	#contact #container01 .form .agree .label-checkbox {cursor: pointer; position: relative;}
	#contact #container01 .form .agree .label-checkbox .lever:before{content:""; display: block; width: 28px; height: 28px; border: 1px solid #ccc; color: #1c2936; border-radius: 20px; position: absolute; top: 13px; left:15px;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever{color: #004892;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever:before{content:""; display: block; width: 28px; height: 28px; border: 1px solid #004892; color: #004892; border-radius: 20px; position: absolute; top: 13px; left:15px;}
	#contact #container01 .form .agree .label-checkbox input[type="checkbox"]:checked + .lever:after{content:""; display: block; width: 18px; height: 18px; border: 1px solid #004892; background-color: #004892; color: #004892; border-radius: 20px; position: absolute; top: 18px; left: 20px;}
	#contact #container01 .form .btn_area {width: 350px; margin: 0 auto;}
	#contact #container01 .form .btn-send {width: 350px; margin-top: 50px; position: relative;}
	#contact #container01 .form .btn-send input {letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:0 0 0 16px; text-align: center; border:1px solid #004892; border-radius:35px; position: relative; z-index: 2;}
	#contact #container01 .form .btn-send:after {content: ""; width: 197px; height: 36px; display: block; background: url(../images/contact/btn_send.png) no-repeat; background-size: 197px auto; position: absolute; top: 18px; left: 18px; z-index: 1;}
	#contact #container01 .form .btn-send:hover:after {content: ""; width: 197px; height: 36px; display: block; background: url(../images/contact/btn_send_ov.png) no-repeat; background-size: 197px auto; position: absolute; top: 18px; left: 18px; z-index: 1;}
	#contact.thanks #container01 {min-height: 100vh;}
	#contact.thanks #container01 p {font-size: 30px; letter-spacing: 0.15em; font-weight: bold; text-align: center;}
	#contact.thanks #container01 .btn {width: 350px; margin: 100px auto 0; position: relative; z-index: 11;}
	#contact.thanks #container01 .btn a {font-size: 20px; font-weight: bold; color: #004892; letter-spacing: 0.25em; width: 350px; height: 70px; display: block; padding:23px 0 0 16px; text-align: center; border:1px solid #004892; border-radius:35px; position: relative; z-index: 11;}
	#contact.thanks #container01 .btn a:after {content: ""; width: 36px; height: 36px; display: block; background: url(../images/common/btn_arrow_bl.png) no-repeat; background-size: 36px auto; position: absolute; top: 18px; left: 18px; z-index: 12;}
}

@media screen and (min-width:1200px){
	
	/* HOME
	------------------*/
	#home #container01 {height: 100vh;}
	#home #container01 h1 {width: 906.5px; height: 316px; position: absolute; top: 50%; left: 50%; margin-top: -158px; margin-left: -453.25px;}
	#home #container02 {height: 100vh;}
	/* SECOND BASE
	------------------*/
	#container01 .inner {width: 1200px; margin: 0 auto;}
	/* ABOUT
	------------------*/
	#about #container01 dl {width: 800px;}
	#about #container02 {min-height: 100vh;}
	#about #container02 figure {margin-left: -470px;}
	#about #container02 h1 {margin-left: 355px;}
	/* CONCEPT
	------------------*/
	#concept #container02 {min-height: 100vh;}
	#concept #container02 .logo_container {width: 880px; margin: 0 auto; background: #fff; padding: 40px;}
	#concept #container02 .logo_container figure {width: 465px; float: left; padding-right: 35px; margin-right: 35px; border-right: 1px solid #ccc;}
	#concept #container02 .logo_container p {font-size: 15px; letter-spacing: 0.05em; line-height: 28px;}
	/* SERVICE
	------------------*/
	#service #container02 figure.device {width: 528px; position: absolute; top: -66px; left: 50%; margin-left: -600px;}
	#service #container02 .lead h4 {font-size: 40px; line-height: 50px; letter-spacing: 0.1em; font-weight: bold; padding:20px 0 0 375px;}
	#service #container02 .lead p { letter-spacing: 0.05em; padding:35px 0 80px 375px;}
	#service #container02 .price h5:after {content: ""; display: block; background: url("../images/service/h5_txt_price.png") no-repeat; width: 153.5px; height: 54px; background-size: 100%; position: absolute; top: -40px; left: -80px; z-index: -1;}
	/* RECRUIT
	------------------*/
	/* CONTACT
	------------------*/
	#contact #container01 #mailform {width: 800px; margin: 0 auto; position: relative; z-index: 12;}
}

@media screen and (min-width:1367px){
	#home #container03 .inner figure {position: absolute; top: 345px; left: 50%; margin-left: -480px;}
	#home #container03 .inner dl {height: 457px;}
	#home #container03 .inner dl dt {position: absolute; top: 40px; left: 50%; margin-left: 80px;}
	#home #container03 .inner dl dd {position: absolute; top: 155px; left: 50%; margin-left: 80px; width: 400px;}
}




