@charset "utf-8";
/*
theme Name: REBEL LION専用テーマ
Author: MoooD
*/

/* PAGE NAME

　トップページ ----------------- index
　施術の流れ ------------------ /step
　施術内容 -------------------- /treatment
　アスリートコンディショニング ---- /athlete
　料金＆御予約 ----------------- /fee
　スピリット ------------------ /spirit
　お客様の声 ------------------ /customer
　会社概要＆アクセス ------------ /company
　お問い合わせ ----------------- /inquiry

*/


/* font
------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Oswald:wght@700&display=swap');

/* reset
------------------------------------------------------------*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
}

ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th {
	text-align: left;
}

q:before,
q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

body {
	font-family: '小塚ゴシック Pro', 'Kozuka Gothic Pro', sans-serif;
	font-weight: normal;
	font-size: 22px;
	line-height: 1.25;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	color: #222;
	background: #fff;
}

a {
	color: #0066ff;
	text-decoration: none;
}

a:hover,
.active {
	text-decoration: none;
	transition: all 1.2s ease 0s;
}

a:active,
a:focus,
input:active,
input:focus {
	outline: 0;
}

i.material-icons {
	font-size: 35px;
}

/* ヘッダー
------------------------------------------------------------*/

header {
	text-align: center;
	width: 100%;
	height: 210px;
	margin: 0 auto;
	padding: 30px;
	box-sizing: border-box;
}

header #logo {
	margin: 0px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	float: left;
}

header #logo a {
	height: 145px;
	width: 240px;
	display: block;
	background: url(../img/logo.png) center top no-repeat;
	background-size: auto 100%;
}

header .sns a {
	pointer-events: none;
	/* background: url(../img/youtube.png) no-repeat; */
	background-size: 100%;
	width: 130px;
	height: 30px;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

header h1 {
	letter-spacing: -2px;
	font-size: 30px;
	line-height: 1;
	color: #204ca0;
	float: right;
	display: block;
	position: relative;
	top: 120px;
	top: 90px;
	/* right: -130px; */
}

/* ヘッダーメニュー
------------------------------------------------------------*/
#menu {
	background: #204ca0;
}

#menu ul {
	width: 960px;
	margin: 0 auto;
	display: flex;
}

#menu li {
	display: inline-block;
	vertical-align: middle;
}

#menu li.mail a {
	background: url(../img/menu_mail.png) no-repeat center;
	background-size: 28px auto;
	text-indent: -9999px;
}

#menu li.mail a:hover {
	background: url(../img/menu_mail.png) no-repeat center #133766;
	background-size: 28px auto;
	text-indent: -9999px;

}

#menu li a {
	color: #FFF;
	min-width: 56px;
	height: 40px;
	padding: 16px 15px;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.2;
}

#menu li a:hover {
	background: #133766;
	color: #FFF;
}

#menu a.on {
	background: #133766;
}

/* フッター
------------------------------------------------------------*/
#foot_link {
	width: 100%;
	margin-top: 100px;
	float: left;
}

#foot_link li {
	width: 50%;
	background: #1f4ca0;
	float: left;
	border-bottom: 1px solid #fff;
}

#foot_link li:nth-child(odd) {
	border-right: 1px solid #fff;
	box-sizing: border-box;
}

#foot_link li a {
	display: block;
	color: #FFF;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 76px;
}

#foot_link li a:hover {
	background: #133766;
}

footer {
	background: #133766;
	clear: both;
	padding: 4% 4% 2% 4%;
	font-size: 20px;
	overflow: hidden;
	box-sizing: border-box;
	font-weight: 500;
}

footer #foot_left {
	float: left;
}

footer h2 {
	margin: 0 0 45px 0;
	background: url(../img/sitemap.png) no-repeat;
	background-size: 100%;
	width: 320px;
	height: 60px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

footer li a {
	color: #FFF;
	padding: 6px 20px;
	display: block;
	border-radius: 3px;
	margin: 0 0 0 -20px;
}

footer li a:hover {
	background: #204ca0;
	text-decoration: none;
}

footer #foot_right {
	float: right;
}

footer .sns {
	margin-bottom: 290px;
}

footer .sns a {
	pointer-events: none;
	/* background: url(../img/youtube_white.png) no-repeat; */
	background-size: 100%;
	width: 180px;
	height: 40px;
	float: right;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

footer #foot_menu2 {
	margin: 0 -30px 0 0;
}

footer #foot_menu2 li {
	display: inline-block;
}

footer #foot_menu2 li a {
	padding: 6px 30px;
}

footer small {
	color: #FFF;
	font-size: 14px;
	text-align: right;
	display: block;
	margin: 10px 0 0 0;
}

/* 共通
------------------------------------------------------------*/
input::placeholder,
select::placeholder,
textarea::placeholder {
	color: #FFF;
}

br.none {
	display: block;
}

.left {
	float: left;
	width: 52%;
}

.right {
	float: right;
	width: 48%
}

.rotation {
	transform: rotateX(180deg);
}

#main_img {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	background: #eee;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

section {
	clear: both;
}

h2 {
	width: 930px;
	margin: 50px auto;
	line-height: 2.4;
	font-size: 23px;
	font-weight: normal;
	letter-spacing: 10px;
	text-align: center;
	background: #133766;
	color: #FFF;
}

h2 span {
	padding: 0 80px;
}

h3 {
	text-align: center;
	font-size: 32px;
	letter-spacing: 5px;
	padding: 30px 0;
	background: #204ca0;
	color: #FFF;
}

h3:before {
	font-family: "HelveticaNeue-CondensedBlack";
	content: attr(title) " ";
	display: block;
	font-size: 54px;
	letter-spacing: 0px;
	line-height: 1.2;
}

.inner {
	width: 810px;
	margin: 0 auto;
}

.box {
	margin: 0 auto;
	padding: 30px 50px 40px;
	background: #1f4ca0;
	color: #FFF;
	font-feature-settings: "palt";
	box-sizing: border-box;
}

.box.helf {
	width: 50%;
	float: left;
	border: solid 1px #FFF;
	padding: 30px 10px;
}

.box.bt {
	margin-bottom: 30px;
}

.box.bg_dark {
	background: #133766;
}

.box h3 {
	padding: 0;
	background: none;
	text-align: center;
	font-weight: 700;
	letter-spacing: 3px;
	margin-bottom: 10px;
}

.box h4 {
	text-align: center;
	font-size: 21px;
	font-weight: bold;
	margin-bottom: 50px;
	letter-spacing: 3px;
}

.box p {
	font-size: 21px;
	margin-bottom: 20px;
	letter-spacing: 1px;
}

.box p:last-of-type {
	margin-bottom: 0px;
}


/* ページTOPに戻る
------------------------------------------------------------*/
.pagetop {
	display: none;
	position: fixed;
	right: 15px;
	bottom: 15px;
}

.pagetop a {
	display: block;
	font-size: 0;
	width: 100px;
	height: 100px;
	text-align: center;
	background: #204ca0;
	border-radius: 50%;
	line-height: 50px;
	opacity: 0.8;
}

.pagetop a:hover {
	opacity: 1;
}

.pagetop a i {
	font-size: 40px;
	color: #fff;
	line-height: 100px;
}




h2.en {
	line-height: 1.5;
	font-size: 38px;
	letter-spacing: 0;
	font-family: 'Oswald', sans-serif;
	font-family: 'HelveticaNeue-CondensedBold';
}

/* 施術の流れ ------------------ /step
------------------------------------------------------------*/
#main_img.step {
	background: url(../img/mv_step.jpg);
	background-size: 100% auto;
}

.arrow {
	position: relative;
	width: 24px;
	height: 30px;
	border-top: 24px solid #204ca0;
	border-right: 24px solid #204ca0;
	box-sizing: border-box;
	margin: 0 auto 24px auto;
}

.arrow::before {
	content: "";
	position: absolute;
	bottom: -24px;
	left: -12px;
	border-top: 24px solid #204ca0;
	border-left: 24px solid transparent;
	border-right: 24px solid transparent;
}

#step .box {
	padding: 6% 5%;
	background: #204ca0;
}

#step .step_no,
#step .box h3,
#step .box h4 {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#step .box h3:before {
	content: none;
}

#step .box.step01 {
	background: url(../img/step01.png) #204ca0 no-repeat center;
	background-size: auto 86px;
}

#step .box.step02 {
	background: url(../img/step02.png) #204ca0 no-repeat center;
	background-size: auto 86px;
}

#step .box.step03 {
	background: url(../img/step03.png) #204ca0 no-repeat center;
	background-size: auto 86px;
}

#step .box.step04 {
	background: url(../img/step04.png) #204ca0 no-repeat center;
	background-size: auto 120px;
	padding: 3.5%;
}

#step .box.step05 {
	background: url(../img/step05_810.png)no-repeat center;
	background-size: 100% auto;
}

#step .box.step05b {
	background: url(../img/step05b_810.png)no-repeat center;
	background-size: 100% auto;
	height: 54px;
	padding: 0;
	text-indent: -9999px;
}

#step .box.step06 {
	background: url(../img/step06_810.png)no-repeat center top;
	background-size: 100% auto;
}

#step .box .ttl {
	font-size: 32px;
	font-weight: 300;
	text-align: center;
	margin-bottom: 30px;
}

.trisection {
	overflow: hidden;
	width: 580px;
	margin: 0 auto;
}

.trisection .left,
.trisection .right {
	width: 46px;
}

.trisection .center {
	width: 40%;
	float: left;
	padding: 10px 0;
	text-align: center
}

#step .box .ttl br {
	display: none;
}

#step .img {
	width: 810px;
	margin: 0 auto;
	display: block;
}

#step p {
	margin: 0 0 30px 0;
	font-size: 21px;
	font-feature-settings: "palt"1;
	text-align: center;
}

#step p:last-of-type {
	margin: 0;
}

.step5_txt {
	display: inline;
	text-align: center;
	margin: 0 14px;
	font-size: 15px;
	color: #204ca0;
	line-height: 3.5;
	font-feature-settings: "palt";
}

/* 施術内容 -------------------- /treatment
   アスリートコンディショニング ---- /athlete
------------------------------------------------------------*/
#main_img.treatment {
	background: url(../img/mv_treatment.jpg);
	background-size: 100% auto;
}

#main_img.athlete {
	background: url(../img/mv_athlete.jpg);
	background-size: 100% auto;
}

#treatment .content,
#athlete .content {
	width: 810px;
	margin: 0 auto;
	overflow: hidden;
	margin-bottom: 30px;
	line-height: 1.5;
	font-size: 22px;
	display: flex;
	justify-content: space-between;
}

#treatment .box.txt.left,
#athlete .box.txt.left {
	padding: 25px 40px;
	text-align: left;
}

#treatment .box.txt.right,
#athlete .box.txt.right {
	padding: 25px 30px;
	text-align: right;
}

#treatment .no,
#athlete .no {
	margin-bottom: 10px;
}

#treatment h3,
#athlete h3 {
	text-align: left;
	line-height: 1.5;
	font-weight: normal;
	letter-spacing: 4px;
}

#treatment h4,
#athlete h4 {
	letter-spacing: 4px;
	font-weight: normal;
}

#treatment .box p,
#athlete .box p {
	letter-spacing: 3px;
	line-height: 1.3;
}

#treatment .box.photo,
#athlete .box.photo {
	padding: 0;
	margin: 0;
	display: flex;
	width: 44%;
}

#treatment .box.photo img,
#athlete .box.photo img {
	max-height: 443px;
}

#treatment .box.txt,
#athlete .box.txt {
	width: 56%;
	display: flex;
	flex-direction: column;
}

#treatment .box .no01,
#athlete .box .no01,
#treatment .box .no02,
#athlete .box .no02,
#treatment .box .no03,
#athlete .box .no03,
#treatment .box .no04,
#athlete .box .no04,
#treatment .box .no05,
#athlete .box .no05,
#treatment .box .no06,
#athlete .box .no06 {
	height: 78px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#treatment .box .no01,
#athlete .box .no01 {
	background: url(../img/no01.png) no-repeat right 0px;
	background-size: auto 72px;
}

#treatment .box .no02,
#athlete .box .no02 {
	background: url(../img/no02.png) no-repeat 0px 0px;
	background-size: auto 72px;
}

#treatment .box .no03,
#athlete .box .no03 {
	background: url(../img/no03.png) no-repeat right 0px;
	background-size: auto 72px;
}

#treatment .box .no04,
#athlete .box .no04 {
	background: url(../img/no04.png) no-repeat 0px 0px;
	background-size: auto 72px;
}

#treatment .box .no05,
#athlete .box .no05 {
	background: url(../img/no05.png) no-repeat right 0px;
	background-size: auto 72px;
}

#treatment .box .no06,
#athlete .box .no06 {
	background: url(../img/no06.png) no-repeat 0px 0px;
	background-size: auto 72px;
}


#treatment p.txt_last,
#athlete p.txt_last {
	margin-top: auto;
}

#treatment .box.txt.right,
#treatment .box.txt.right h3,
#treatment .box.txt.right h4,
#athlete .box.txt.right,
#athlete .box.txt.right h3 {
	text-align: right;
}


/* 料金＆御予約 ----------------- /fee

→フォームはお問い合わせと一緒
------------------------------------------------------------*/
#main_img.fee {
	background: url(../img/mv_fee.jpg) no-repeat bottom;
	background-size: 100% auto;
}

#fee {
	overflow: hidden;
}

#fee h3 {
	border: 1px solid #FFF;
}

#fee h4 {
	font-size: 28px;
	font-weight: normal;
	margin-bottom: 5px;
}

#fee h4 br {
	display: none;
}

#fee .box.heaf {
	padding: 30px 0px 40px;
}

#fee .time {
	text-align: center;
	/* border: solid 1px #FFF; */
	margin-bottom: 30px;
}

#fee .price {
	text-align: center;
	font-size: 20px;
}

#fee .txt {
	float: left;
	line-height: 40px;
	padding-right: 10px;
}


#fee input[type="submit"] {
	margin-top: 10px;
}

#fee img {
	margin-top: 30px;
}

/* スピリット ------------------ /spirit
------------------------------------------------------------*/

#spirit.inner {
	width: 930px;
	margin: 0 auto;
}

#main_img.spirit {
	background: url(../img/mv_spirit.jpg) no-repeat bottom;
	background-size: 100% auto;
}

#spirit .content {
	width: 100%;
	float: left;
	background: #1f4ca0;
}

#spirit .content .box h3 {
	letter-spacing: 0;
	line-height: 1;
	text-align: left;
	font-size: 29px;
	font-weight: normal;
	margin: 109px 0 30px 0;
}

#spirit .content h4 {
	letter-spacing: 2px;
	line-height: 1.5;
	text-align: left;
	margin-bottom: 30px;
	font-size: 26px;
	font-weight: 300;
}

#spirit .content .box.photo {
	padding: 50px 0 0 60px;
}

#spirit .content .box p {
	margin-bottom: 30px;
	letter-spacing: 3px;
}

#spirit .content .box.right {
	padding: 60px 0 0 0;
	margin: 0 auto;
}

#spirit .content .box.right img {
	width: 260px;
	margin: 0 auto;
}

#spirit .content .box.txt.right div {
    margin: 0 auto;
    display: table;
}

#spirit .box {
	padding: 60px 60px;
	float: left;
}

#spirit .box p {
	letter-spacing: 3px;
	line-height: 1.3;
}

#spirit .box p.name {
	font-size: 48px;
	letter-spacing: 2px;
}

#spirit .box .name img {
	width: 200px;
	display: inline;
}


/* お客様の声 ------------------ /customer
------------------------------------------------------------*/
#main_img.customer {
	background: url(../img/mv_customer.jpg) no-repeat;
	background-size: 100% auto;
}

#customer .content {
	width: 810px;
	margin: 0 auto;
	overflow: hidden;
	margin-bottom: 30px;
	line-height: 1.5;
	font-size: 22px;
	/* display: flex; */
	justify-content: space-between;
}

#customer .ttl {
	padding: 10px 25px 0;
	text-align: right;
	font-size: 26px;
	font-weight: 300;
	background: #204ca0;
	color: #FFF;
}

#customer h3 {
	padding: 0 25px 10px;
	text-align: right;
	font-size: 22px;
	font-weight: normal;
	background: #204ca0;
	letter-spacing: 2px;
}

#customer .box {
	width: 810px;
	padding: 10px 30px;
	background: #133766;
}

#customer .box p {
	line-height: 2.5;
	background: url(/img/dot.png) bottom;
	margin: 0;
	padding: 0;
	background-size: auto 52px;
}


/* 会社概要＆アクセス ------------ /company
------------------------------------------------------------*/
#main_img.company {
	background: url(../img/mv_company.jpg) no-repeat bottom;
	background-size: 100% auto;
}

#company h4 {
	font-size: 28px;
	font-weight: normal;
	text-align: left;
	border-left: solid 28px #FFF;
	padding-left: 20px;
	letter-spacing: 4px;
	line-height: 1;
	margin: 50px 0;
	width: 100%;
	float: left;
}

#company h5 {
	font-size: 21px;
	font-weight: normal;
	letter-spacing: 5px;
	padding-top: 40px;
}


#company h5.name {
	font-size: 26px;
	margin-bottom: 40px;
}

#company #outline .box {
	padding: 1px 60px 50px;
}


#company .box.bt {
	margin-bottom: 60px;
}

#company .box p {
	margin-bottom: 10px;
	line-height: 1.3;
	letter-spacing: 4px;
}

#company .box p span {
	padding-right: 1em;
}

/*
#company .box p:first-of-type {
	margin-bottom: 80px;
}
*/

#company #map {
	position: relative;
	/* padding-bottom: 100%; */
	height: 750px;
	overflow: hidden;
	z-index: 0;
}

#company #map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 720px;
	border: 0;
}

#company p.ad {
	font-size: 28px;
}

/* お問い合わせ ----------------- /inquiry
------------------------------------------------------------*/
#main_img.inquiry {
	background: url(../img/mv_inquiry.jpg) no-repeat bottom;
	background-size: 100% auto;
}

#fee .box p,
#inquiry .box p {
	margin-bottom: 20px;
	overflow: hidden;
}

input {
	display: block;
	overflow: hidden;
}

input,
textarea {
	width: 100%;
	font-size: 20px;
	padding: 20px;
	box-sizing: border-box;
	background: #1f4ca0;
	color: #FFF;
	border: none;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	outline: none;
}


select {
	-webkit-appearance: none;
	-moz-appearance: none;
}



input[type="date"] {
	width: 210px;
	border-radius: 0;
	padding: 0px 10px;
	margin-right: 10px;
	font-size: 20px;
	height: 42px;
	line-height: 42px;
	box-sizing: border-box;
	border: 0;
	background: #204ca0;
	color: #FFF;
	float: left;
	-webkit-appearance: none;
}

/* 無入力時の 年/月/日 を / / にする */
input[type=date]::-webkit-datetime-edit-year-field:not([aria-valuenow]),
input[type=date]::-webkit-datetime-edit-month-field:not([aria-valuenow]),
input[type=date]::-webkit-datetime-edit-day-field:not([aria-valuenow]) {
	color: transparent;
}

select {
	padding: 0px 14px;
	margin-right: 10px;
	font-size: 20px;
	height: 42px;
	line-height: 42px;
	box-sizing: border-box;
	border: 0;
	background: #204ca0;
	color: #FFF;
	float: left;
	-webkit-appearance: none;
}

input[type="submit"] {
	/* height: 60px; */
	width: 100%;
	margin: 0 auto;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 10px;
	background: #1f4ca0;
	display: block;
	padding: 5px 0;
	/* border-radius: 4px; */
}

.date_set {
	overflow: hidden;
	margin-bottom: 20px;
}

.date_set label p {
	margin-bottom: 20px;
	/*display: flex;*/
}

.date_set label br {
	display: none;
	display: block
}

input[type="button"] {
	-webkit-appearance: none;
}

.screen-reader-response {
	margin-bottom: 30px;
	padding: 20px 30px;
	color: #d00000;
	background: #ffec91;
	text-align: center;
	line-height: 1.5;
}

.screen-reader-response:empty {
	display: none;
}

.screen-reader-response li {
	display: none;
}

span.wpcf7-not-valid-tip {
	color: #ffd400;
}

.date_set span {
	display: block;
	float: left;
}


#coubic {
    width: 810px;
    margin: 100px auto 0 auto;
}

/* RESPONSIVE
------------------------------------------------------------*/

/*-- PC
------------------------------------------------------------*/
@media only screen and (min-width: 1000px) {

	a#menu {
		display: none;
	}

	.menu_open {
		display: block !important;
	}

	#footer {
		padding: 30px 10px 70px 0;
	}

}


/*-- PC1000以下
------------------------------------------------------------*/
@media only screen and (max-width: 999px) {

	.inner,
	#spirit.inner {
		width: 90%;
	}

	header {
		width: 100%;
		height: 70px;
		z-index: 500;
		background: #fff;
		padding: 0px;
	}

	header h1 {
		top: 26px;
		left: 100px;
		width: 200px;
		font-size: 20px;
		position: absolute;
	}

	header #logo {
		height: 40px;
		width: 75px;
		margin: 15px 10px;
		z-index: 501;
		position: relative;
	}

	header #logo a {
		height: 40px;
		width: 75px;
		display: block;
	}

	header .sns {
		display: none;
	}

	a#menu {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		margin: 10px;
	}

	#menu br {
		display: none;
	}

	#menu a.on {
		color: #FFF;
	}

	#menu_btn {
		display: block;
		position: absolute;
		top: 60%;
		left: 50%;
		width: 18px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #222;
		transition: .2s;
	}

	#menu_btn:before,
	#menu_btn:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 2px;
		background: #222;
		transition: .3s;
	}

	#menu_btn:before {
		margin-top: -7px;
	}

	#menu_btn:after {
		margin-top: 5px;
	}

	a#menu .close {
		background: transparent;
	}

	a#menu .close:before,
	a#menu .close:after {
		margin-top: 0;
	}

	a#menu .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	.menu_open {
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#menu {
		position: absolute;
		top: 0;
		width: 100%;
		text-align: right;
		z-index: 500;
		background: none;
	}

	#menu_wrap {
		width: 70px;
		float: right;
	}

	#menu ul {
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
		display: block;
	}

	#menu li {
		display: block;
	}

	#menu li a {
		position: relative;
		display: block;
		padding: 2px 25px;
		border-bottom: 1px solid #ccc;
		color: #222;
		font-weight: 400;
		text-align: left;
		line-height: 40px;
		text-indent: ０;
	}

	#menu li.mail a {
		text-indent: 0px;
	}

	#menu li.mail a:hover {
		background: url(../img/menu_mail.png) no-repeat 30px #133766;
		background-size: 23px auto;
		text-indent: 40px;
	}

	#menu li a:before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #222;
		border-right: solid 2px #222;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#menu li a:hover:before {
		border-top: solid 2px #FFF;
		border-right: solid 2px #FFF;
	}

	#menu li a:after {
		/* content: attr(title) " "; */
	}

	#main_img {
		width: 100%;
	}

	h2 {
		width: 92%;
	}

	h2 span {
		padding: 0 30px;
	}

	#step .box {
		max-width: 810px;
		width: 100%;
	}

	#step .box.step04 {
		/* min-height: 160px; */
	}

	#step .img {
		max-width: 810px;
		width: 96%;

	}

	#treatment .box.txt.left,
	#athlete .box.txt.left,
	#treatment .box.txt.right,
	#athlete .box.txt.right {
		padding: 4% 4%;
	}

	#treatment .content,
	#athlete .content {
		width: 94%;
		margin: 0 auto 4% auto;
	}

#customer .content {
    width: 100%;
    max-width: 810px;
}

	#customer .box {
		width: 100%;
		padding: 10px 30px;
	}

	#spirit .content .box h3 {
    margin: 80px 0 30px 0;
}

}

/*-- ipad
------------------------------------------------------------*/

@media screen and (max-width:768px) {
	
	.box h3 {
		font-size: 28px;
	}

	#step p {
		font-size: 18px;
	}

	#fee h4 {
		font-size: 28px;
		line-height: 1.5;
		margin-bottom: 30px;
	}

	#fee h4 br {
		display: block;
	}

	#fee .txt {
		font-size: 18px;
	}


	input[type="date"] {
		width: 215px;
		padding: 6px;
	}

	#step .box.step05 {
		background: url(../img/step05_500.png)no-repeat center bottom;
		background-size: 100% auto;
		height: 212px;
	}

	#step .box.step05b {
		background: url(../img/step05b_500.png)no-repeat center;
		background-size: 100% auto;
		height: 66px;
	}

	#step .box.step06 {
		background: url(../img/step06_500.png)no-repeat center top;
		background-size: 100% auto;
		height: 212px;
	}

	#costomer .box p {
		font-size: 18px;
	}

	.left {
		float: left;
		width: 46%;
	}

	.right {
		float: left;
		width: 54%;
	}

	#spirit .box {
		padding: 20px 60px 50px 60px;
	}

#spirit .content .box.right img {
    width: 260px;
}

	#spirit .content .box h3 {
		font-size: 27px;
		margin: 30px 0 30px 0;
	}

	#spirit .content h4 {
		line-height: 1.2;
		font-size: 22px;
		margin-bottom: 15px;
	}

	#spirit .box p.name {
		font-size: 46px;
		letter-spacing: 4px;
	}

	#company p.ad {
		font-size: 24px;
		letter-spacing: 2px;
	}
	
#coubic {
    width: 90%;
    margin: 80px auto 0 auto;
}
}


/*-- その他
------------------------------------------------------------*/
@media screen and (max-width:886px) {
	
	footer .sns {
		display: inline-block;
		width: 100%;
		margin: 0;
		position: relative;
		top: -330px;
	}
}

@media screen and (max-width:850px) {
	br.none {
	display: none;
}
	
	#treatment h3,
	#athlete h3 {
		letter-spacing: 0px;
	}

	#treatment .box p,
	#athlete .box p {
		letter-spacing: 0px;
	}
}


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

	#treatment h3,
	#athlete h3 {
		font-size: 26px;
	}

	#treatment .box p,
	#athlete .box p {
		font-size: 18px;
	}
}

@media screen and (max-width:659px) {
	footer {
		font-size: 16px;
	}

	footer .sns {
		top: -295px;
	}

	#fee h4 br {
		display: block;
	}

	.trisection {
		width: 100%;
	}

	.trisection .left,
	.trisection .right {
		width: 8%;
	}

	.trisection .center {
		width: 68%;
		float: left;
		padding: 10px 0;
		text-align: center;
		font-size: 14px;
		line-height: 1.5;
	}

}

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

	footer h2 {
		margin: 0 0 15px 0;
		width: 200px;
		height: 38px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	footer .sns {
		top: -245px;
	}

	footer .sns a {
		width: 140px;
	}
}

/*-- SP
------------------------------------------------------------*/
@media screen and (max-width:500px) {

	body {
		font-size: 13px;
	}

	footer {
		font-size: 14px;
	}

	footer #foot_menu2 {
		margin: -30px 0 0 0;
	}

	footer #foot_menu2 li a {
		padding: 6px 12px;
	}

	/* footer(SP)
	------------------------------------------------------------*/

	footer #foot_right {
		width: 100%;
	}

	footer .sns {
		top: -225px;
	}

	footer #foot_menu2 ul {
		width: 100%;
		text-align: center;
	}

	footer small {
		font-size: 10px;
		text-align: center;
		letter-spacing: 3px;
	}


	/* 共通(SP)
------------------------------------------------------------*/
	input[type="date"] {
		width: 130px;
		padding: 6px;
	}

	#foot_link {
		margin-top: 60px;
	}

	#foot_link li a {
		display: block;
		color: #FFF;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		line-height: 76px;
	}

	h2 {
		width: 96%;
		margin: 10px auto;
		font-size: 16px;
		letter-spacing: 0;
	}

	h2.en {
		font-size: 30px;
	}

	h3 {
		font-size: 16px;
		line-height: 1.2;
		padding: 20px 0;
		letter-spacing: 0;
	}

	h3:before {
		margin-bottom: 10px;
		content: attr(title) " ";
		display: block;
		font-size: 30px;
		letter-spacing: 0px;
		line-height: 1;
	}

	.box h4 {
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.box {
		padding: 6% 4% 8%;
		color: #FFF;
		box-sizing: border-box;
		font-size: 16px;
	}

	.box.helf {
		padding: 6% 0% 8%;
	}

	/* ページTOPに戻る(SP)
		------------------------------------------------------------*/
	.pagetop a {
		width: 80px;
		height: 80px;
		line-height: 80px;
	}

	.pagetop a i {
		font-size: 40px;
		line-height: 80px;
	}

	/* 施術の流れ ------------------ /step(SP)
	------------------------------------------------------------*/
	#main_img.step {
		background-size: 145% auto;
	}

	.arrow {
		position: relative;
		width: 15px;
		height: 15px;
		border-top: 15px solid #204ca0;
		border-right: 15px solid #204ca0;
		box-sizing: border-box;
		margin: 0px auto 15px auto;
	}

	.arrow::before {
		content: "";
		position: absolute;
		bottom: -15px;
		left: -8px;
		border-top: 15px solid #204ca0;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
	}

	#step .box {
		padding: 6% 8%;
	}

	#step .box h3 {
		margin: 0;
		letter-spacing: 2px;
	}

	#step h4 {
		margin: 0;
		font-size: 14px;
	}

	#step .step_no {
		font-size: 30px;
	}

	#step .box .ttl {
		margin-bottom: 20px;
		font-size: 22px;
		font-weight: normal;
		text-align: center;
		line-height: 1.5;
	}

	#step p {
		margin: 0 0 20px 0;
		line-height: 1.5;
		font-size: 14px;
	}

	#step .box.step01,
	#step .box.step02,
	#step .box.step03 {
		background-size: auto 50px;
	}

	#step .box.step04 {
		background-size: auto 68px;
	}

	#step .box.step05,
	#step .box.step06 {
		height: 124px;
	}

	#step .box .ttl br {
		display: block;
	}

	#step .trisection {
		font-size: 12px;
	}

	#step .trisection br {
		display: none;
	}

	.trisection .center,
	.athlete .center {
		font-size: 12px;
	}

	/* 施術内容 -------------------- /treatment(SP)
	   アスリートコンディショニング ---- /athlete
	------------------------------------------------------------*/
	#main_img.treatment,
	#main_img.athlete {
		background-size: 145% auto;
	}

	#treatment.inner,
	#spirit.inner {
		width: 96%;
	}

	.trisection .left,
	.trisection .right {
		width: 14%;
	}

	#treatment .box.txt.left,
	#athlete .box.txt.left {
		padding-top: 30px;
	}

	.trisection .center,
	.athlete .center {
		width: 72%;
		float: left;
		padding: 5px 0;
		line-height: 1.5;
	}

	#treatment .content,
	#athlete .content {
		/* flex-flow: row wrap; */
		display: block;
		width: 100%;
	}

	#treatment .box.photo,
	#treatment .box.txt,
	#athlete .box.photo,
	#athlete .box.txt {
		width: 100%;
	}

	#treatment .box.photo,
	#athlete .box.photo {
		order: 1;
		padding: 20px;
	}

	#treatment .box.txt,
	#athlete .box.txt {
		order: 1;
	}

	#treatment .box.photo img,
	#athlete .box.photo img {
		width: 100%;
		height: 100%;
	}


	#treatment .box br,
	#athlete .box br {
		display: none;
	}

	/* 料金＆御予約 ----------------- /fee(SP)
	------------------------------------------------------------*/
	#main_img.fee {
		background-size: 145% auto;
	}

	#fee h4 {
		font-size: 22px;
		margin-bottom: 20px;
	}

	#fee .time {
		margin-bottom: 20px;
	}

	#fee .txt {
		font-size: 18px;
		width: 100%;
		float: none;
	}


	/* スピリット ------------------ /spirit(SP)
	------------------------------------------------------------*/
	#main_img.spirit {
		background-size: 145% auto;
	}

	#spirit .box {
		padding: 6% 8%;
	}

	#spirit .box.left,
	#spirit .box.right {
		width: 100%;
	}

	#spirit .content .box.photo {
		padding: 50px 50px 0 50px;
	}

	#spirit .box .name img {
		width: 120px;
	}

	#spirit .content .box.right img {
		width: 200px;
		margin: 10px auto;
	}

	.box p {
		font-size: 16px;
		letter-spacing: 0px;
	}


	/* お客様の声 ------------------ /customer(SP)
	------------------------------------------------------------*/
	#main_img.customer {
		background-position: 0 70px;
		background-size: 135% auto;
	}

	#customer .content {
		margin-bottom: 0px;
	}

	#customer h3:before {
		display: none;
	}

	#customer .ttl {
		padding: 2%;
		text-align: center;
		font-size: 16px;
	}

	#customer h3 {
		padding: 2px 10% 3% 10%;
		text-align: center;
		font-size: 13px;
	}

	#customer .box {
		padding: 6% 6% 8% 6%;
	}

	#customer .box p {
		padding-top: 0;
		padding-bottom: 0;
		font-size: 13px;
		line-height: 2.5;
		background-size: auto 32px;
	}



	/* 会社概要＆アクセス ------------ /company(SP)
	------------------------------------------------------------*/
	#company.inner {
		width: 94%;
	}

	#company h4 {
		font-size: 20px;
		text-align: left;
		padding-left: 15px;
		letter-spacing: 3px;
		line-height: 1.5;
		margin: 10px 0 20px 0;
	}

	#company h5 {
		letter-spacing: 0px;
		line-height: 1.5;
		padding: 10px 0;
	}

	#company #outline .box {
		padding: 8% 4%;
	}

	#company .box p {
		margin: 10px 0 20px 0px;
		line-height: 1.5;
	}

	#company table {
		margin: 20px 0 60px 0;
		letter-spacing: 0;
	}

	#company table th {
		width: 14%;
		font-weight: normal;
		text-align: right;
		padding-right: 10px;
	}

	#company table td {
		width: 86%;
	}

	#company table td br {
		display: block;
	}

	#company table td.tel a {
		color: #fff
	}

	#company #map iframe {
		height: 800px;
	}

	#company p.ad {
		font-size: 16px;
		letter-spacing: 0px;
	}

	/* お問い合わせ ----------------- /inquiry(SP)
		------------------------------------------------------------*/

	input[type="submit"] {
		font-size: 24px;
	}

	input,
	textarea {
		font-size: 16px;
		padding: 10px;
	}
}

@media screen and (max-width:375px) {
	header h1 {
		left: 60px;
		font-size: 16px;
	}

	#foot_link li a {
		font-size: 14px;
		line-height: 60px;
	}

	footer h2 {
		width: 150px;
	}

	footer .sns a {
		width: 100px;
	}

	footer #foot_menu2 li a {
		padding: 6px 1px;
		margin: 0;
	}

	#step .box.step05 {
		background: url(../img/step05_sp.png)no-repeat center;
		background-size: 100% auto;
	}

	#step .box.step05b {
		background: url(../img/step05b_sp.png)no-repeat center;
		background-size: 100% auto;
		height: 54px;
	}

	#step .box.step06 {
		background: url(../img/step06_sp.png)no-repeat center top;
		background-size: 100% auto;
	}

	#treatment h3,
	#athlete h3 {
		font-size: 20px;
	}

	#treatment .box p,
	#athlete .box p {
		font-size: 14px;
	}

	#treatment .box .no01,
	#athlete .box .no01,
	#treatment .box .no02,
	#athlete .box .no02,
	#treatment .box .no03,
	#athlete .box .no03,
	#treatment .box .no04,
	#athlete .box .no04,
	#treatment .box .no05,
	#athlete .box .no05,
	#treatment .box .no06,
	#athlete .box .no06 {
		background-size: auto 60px;
		height: 60px;
	}

	.box h3 {
		font-size: 24px;
	}

	.box h4 {
		font-size: 16px;
	}

	.box p {
		font-size: 13px;
	}

	#spirit .content .box.right img {
		margin: 0 auto;
	}

	#spirit .content .box h3 {
		font-size: 22px;
		margin: 30px 0 30px 0;
	}

	#spirit .content h4 {
		font-size: 18px;
		margin-bottom: 15px;
	}

	#spirit .box p.name {
		font-size: 30px;
		letter-spacing: 4px;
	}
}
