/****************************************
基本
****************************************/
body {
  font-size: 1.4em;
  font-family: a-otf-ryumin-pr6n, serif;
  color: #000;
}

body::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url("../img/bg.jpg");
  background-size: cover;
  background-position: center top;
}

p#colona_info{
text-align: center;
border:solid 1px #f00;
background: #fff;
padding:10px;
}

.pcNone{
display: none;
}

.spNone{
display: block;
}

.wrap {
  width: 90%;
  max-width: 960px;
  position: relative;
  margin: auto;
}

#ctsWrap {
  padding-top: 140px;
  font-size: 2.4rem;
}

#ctsWrap img {
  width: 100%;
}

h1 {
  width: auto;
}

h1 img {
  width: auto;
}

h2 {
  margin-top: 80px;
}

::placeholder {
  color: #ddd!important;
}

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

.spNone{
display:none;
}

.pcNone{
display: block;
}

#ctsWrap {
  padding-top: 0px;
  font-size: 1.4rem;
}

h1 {
  width: 80px;
}

h2 {
  margin-top: 40px;
}
}

.pcObj {
  display: block;
}

.spObj {
  display: none;
}

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

.telLink a,
.telLink a:visited,
.telLink a:hover {
  color: #333;
}

.telLink a {
  text-decoration: underline;
}

.pcObj {
  display: none;
}

.spObj {
  display: block;
}


}

/****************************************
ヘッダ
****************************************/
header {
  width: 100%;
  background-color: rgba(255,255,255,0.8);
  padding: 10px 0;
  z-index: 10;
}

header .contactBtn {
  position: absolute;
  top: -5px;
  right: 0;
  width: 320px;
}

.contactBtn:hover {
  opacity: 0.6;
}

.contactBtn img {
  width: 100%;
}

header div#header_tel{
font-size:20px;
position: absolute;
top: 5px;
right: 340px;
}

header div#header_tel span{
display:inline-block;
vertical-align: middle;
}

header div#header_tel span.tel_title{
background:#000;
padding:2px 15px;
margin-right:20px;
font-size:14px;
color:#fff;
}

header div#header_tel p{
font-size:14px;
}

header div#header_tel span.tel{
letter-spacing: 3px;
}

header div#header_tel_sp{
display:none;
}


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

header {
  padding: 5px 0;
}

header .contactBtn {
  top: 0;
  width: 160px;
  right:40px;
}

.contactBtn:hover {
  opacity: 0.6;
}

header div#header_tel_sp{
display:block;
width:33px;
position: absolute;
top: 4px;
right:0;
}

header div#header_tel_sp a{
display:block;
background:#00b900;
padding:5px;
border-radius:5px;
}

header div#header_tel{
display: none;
}


}

/****************************************
トップ
****************************************/
#topPh {
  width: 100%;
  margin-bottom: 12%;
}

#ttlKaiketu {
  display: block;
  width: 25%!important;
  margin: -2% auto 0;
}

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

#topPh {
  margin-bottom: 10%;
}
}

/****************************************
理由
****************************************/
#reasonListWrap {
  margin-top: -2%;
  border: 3px solid #BE9C65;
  padding: 40px 30px 30px;
}

#reasonListWrap dd {
  margin-top: 25px;
  background-color: rgba(255,255,255,0.8);
  padding: 20px;
}

#reasonListWrap dd p {
  padding: 10px 15px 5px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: bold;
}

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

#reasonListWrap {
  border: 2px solid #BE9C65;
  padding: 15px 10px 10px;
}

#reasonListWrap dd {
  margin-top: 10px;
  padding: 10px;
}

#reasonListWrap dd p {
  padding: 5px 10px;
  line-height: 1.6;
  letter-spacing: 0;
}
}

/****************************************
無痛
****************************************/
#mutuCts {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
}

#mutuCts li:first-child {
  width: 340px;
}

#mutuCts li:last-child {
  width: 600px;
}

#mutuCts li dl dt {
  font-weight: bold;
  font-size: 3rem;
  border-bottom: 2px solid #0075A7;
  padding-bottom: 5px;
}

#mutuCts li dl dd {
  margin-top: 5px;
  line-height: 1.6;
}

.movieWrap {
  width: 100%;
  margin-top: 30px;
  border: 3px solid #CCC;
}

.movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movieWrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

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

#mutuCts {
  margin-top: 5px;
  flex-wrap: wrap;
}

#mutuCts li:first-child {
  width: 60%;
  margin: auto;
}

#mutuCts li:last-child {
  width: 100%;
}

#mutuCts li dl dt {
  font-size: 1.8rem;
  border-bottom: 1px solid #0075A7;
  margin-top: 10px;
}

.movieWrap {
  margin-top: 15px;
  border: 1px solid #CCC;
}
}

/****************************************
パワー
****************************************/
.ttlPower {
  margin-top: 40px;
  padding-top: 5px;
  font-weight: bold;
  font-size: 3.2rem;
  text-align: center;
  border-top: 3px dotted #0075A7;
  color: #0075A7;
  letter-spacing: 2px;
}

.ttlPower:not(:first-of-type) {
  margin-top: 70px;
}

.powerCts {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
 .powerCts li:not(:nth-child(2)) {
 width: 450px;
}

.powerCts li:nth-child(2) {
  width: 40px;
}

.powerCts li:nth-child(2) img {
  width: 100%;
}

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

.ttlPower {
  margin-top: 15px;
  padding-top: 2px;
  font-size: 2rem;
  border-top: 1px dotted #0075A7;
  letter-spacing: 1px;
}

.ttlPower:not(:first-of-type) {
  margin-top: 30px;
}

.powerCts {
  margin-top: 5px;
  flex-wrap: wrap;
}
 .powerCts li:not(:nth-child(2)) {
 width: 100%;
}

.powerCts li:nth-child(2) {
  width: 20px;
  margin: auto;
}

.powerCts li:nth-child(2) img {
  transform: rotate(90deg);
}
}

/****************************************
実験
****************************************/
#ttlTest {
  margin-top: 60px;
  text-align: center;
  border-top: 2px solid #0075A7;
  border-bottom: 2px solid #0075A7;
  padding: 10px 0;
}

#ttlTest img {
  width: 80%;
  max-width: 420px;
}

#testCts {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}

#testCts li {
  width: 300px;
}

#testCts dl dt {
  text-align: center;
}

#testCts dl dt span {
  display: block;
}

#testCts dl dt.movieWrap {
  border: none;
  margin: 0;
  padding: 24% 10px;
}

#testCts dl dd {
  padding: 5px 10px 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  font-family: 'Noto Sans Japanese', sans-serif;
}

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

#ttlTest {
  margin-top: 40px;
}

#testCts {
  margin-top: 15px;
  flex-wrap: wrap;
}

#testCts li {
  width: 100%;
}

#testCts li:not(:first-child) {
  margin-top: 20px;
}

#testCts dl dt img {
  width: 70%;
}

#testCts dl dt.movieWrap {
  margin-top: 5px;
  padding: 0;
}

#testCts dl dd {
  font-size: 1.5rem;
}
}

/****************************************
ポイント
****************************************/
#pointCts {
  margin: 80px 0;
}

#pointCts dd ul {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

#pointCts dd ul li:first-child {
  width: 270px;
}

#pointCts dd ul li:last-child {
  width: 640px;
}

#pointCts dd ul li:last-child p {
  position: relative;
  font-weight: bold;
  margin-top: 20px;
  background-color: rgba(255,255,255,0.8);
  padding: 25px 30px;
}

#pointCts dd ul li:last-child p:not(:first-child) {
  margin-top: 50px;
}

#pointCts dd ul li:last-child span {
  position: relative;
  z-index: 5;
}

#pointCts dd ul li:last-child p img {
  width: 70px;
  top: -30px;
  left: -30px;
  display: block;
  position: absolute;
  z-index: 0;
}

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

#pointCts {
  margin: 30px 0;
}

#pointCts dd ul {
  margin-top: 15px;
  flex-wrap: wrap;
}

#pointCts dd ul li:first-child {
  text-align: center;
  width: 100%;
}

#pointCts dd ul li:first-child img {
  width: 50%;
}

#pointCts dd ul li:last-child {
  width: 100%;
}

#pointCts dd ul li:last-child p {
  padding: 10px 15px;
}

#pointCts dd ul li:last-child p:not(:first-child) {
  margin-top: 10px;
}

#pointCts dd ul li:last-child p img {
  width: 40px;
  position: static;
}
}

/****************************************
比較
****************************************/
#hikakuWrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

#hikakuWrap p {
  width: 960px;
}

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

#hikakuWrap p {
  width: 650px;
}
}

/****************************************
お客様の声
****************************************/
#voiceCts {
  margin-top: 100px;
}

#voiceCts dt {
  margin-bottom: -3px;
}

#voiceCts dt img {
  width: 75%;
  max-width: 540px;
}

#voiceCts dd {
  background-color: rgba(255,255,255,0.8);
  padding: 20px;
}

#voiceCts dd:not(:first-of-type) {
  margin-top: 25px;
}

#voiceCts dd ul {
  display: flex;
  justify-content: space-between;
}

#voiceCts dd ul li:first-child {
  width: 300px;
}

#voiceCts dd ul li:last-child {
  width: 600px;
}

#voiceCts dd ul li:last-child p:first-child {
  font-size: 3rem;
  font-weight: bold;
}

#voiceCts dd ul li:last-child p {
  font-size: 2rem;
  margin-top: 10px;
  line-height: 1.6;
}

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

#voiceCts {
  margin-top: 30px;
}

#voiceCts dt {
  margin-bottom: -3px;
}

#voiceCts dd {
  padding: 15px;
}

#voiceCts dd:not(:first-of-type) {
  margin-top: 15px;
}

#voiceCts dd ul {
  display: block;
}

#voiceCts dd ul li:first-child {
  width: 70%;
  margin: auto;
}

#voiceCts dd ul li:last-child {
  width: 100%;
}

#voiceCts dd ul li:last-child p:first-child {
  margin-top: 10px;
  font-size: 1.6rem;
}

#voiceCts dd ul li:last-child p {
  font-size: 1.4rem;
  margin-top: 5px;
}

#voiceCts dd ul li:last-child p:last-child br {
  display: none;
}
}

/****************************************
よくある質問
****************************************/
#faqCts {
  margin: 100px 0 80px;
}

#faqCts dt {
  font-size: 3rem;
  font-weight: bold;
}

#faqCts dd p {
  position: relative;
  padding-left: 50px;
  font-weight: bold;
}

#faqCts dd p a{
text-decoration: underline;
}

#faqCts dd p:nth-of-type(odd) {
  border-bottom: 1px dotted #0075A7;
  padding-bottom: 20px;
  margin-top: 25px;
}

#faqCts dd p:nth-of-type(odd):not(:first-of-type) {
  margin-top: 35px;
}

#faqCts dd p:nth-of-type(even) {
  border-bottom: 2px solid #0075A7;
  padding-bottom: 35px;
  margin-top: 20px;
}

#faqCts dd p img {
  width: 40px;
  position: absolute;
  top: -2px;
  left: 0;
}

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

#faqCts {
  margin: 40px 0;
}

#faqCts dt {
  font-size: 2rem;
}

#faqCts dd p {
  padding-left: 30px;
}

#faqCts dd p:nth-of-type(odd) {
  padding-bottom: 10px;
  margin-top: 15px;
}

#faqCts dd p:nth-of-type(odd):not(:first-of-type) {
  margin-top: 15px;
}

#faqCts dd p:nth-of-type(even) {
  border-bottom: 1px solid #0075A7;
  padding-bottom: 15px;
  margin-top: 10px;
}

#faqCts dd p img {
  width: 25px;
}
}

/****************************************
フォーム
****************************************/
#formWrap {
  margin-top: 4%;
}

/*
#formWrap iframe {
  min-height: 500px;
  width:100%!important;
  margin-top:30px;
  border:solid 3px #efefef;
}

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

#formWrap iframe {
  min-height: 300px;
}
}
*/

.g-recaptcha > div{
margin:auto;
}

/****************************************
フォームインライン
****************************************/

#formWrap.inline{
background:#fff;
border:solid 1px #eee;
padding:15px;
font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#formWrap.inline tr:nth-child(even){
background:#F6F7F9;
}

#formWrap.inline table{
max-width:700px;
margin:0 auto;
}

#formWrap.inline td{
padding: 15px 10px;
position:relative;
font-size:14px;
line-height: 200%;
max-width:100%;
box-sizeing:border-box;
}
#formWrap.inline th{
font-size:14px;
font-weight:bold;
padding: 15px 10px;
max-width:100%;
min-width: 150px;
box-sizeing:border-box;

}

#formWrap.inline input,
#formWrap.inline textarea{
max-width:100%;
padding:5px;
}

#formWrap.inline table *+td::after,
#formWrap.inline table *+td::before,
#formWrap.inline table *+th::after,
#formWrap.inline table *+th::before {
    background-color: #fff;
    position: absolute;
    left: -3px;
    display: block;
    width: 5px;
    height: 10px;
    content: "";
}

#formWrap.inline table tr:nth-child(even) *+td::after,
#formWrap.inline table tr:nth-child(even) *+td::before,
#formWrap.inline table tr:nth-child(even) *+th::after,
#formWrap.inline table tr:nth-child(even) *+th::before {
    background-color: #F6F7F9;
    position: absolute;
    left: -3px;
    display: block;
    width: 5px;
    height: 10px;
    content: "";
}


#formWrap.inline table *+td::before,
#formWrap.inline table *+th::before {
bottom:0;
}

#formWrap.inline table *+td::after,
#formWrap.inline table *+th::after{
top:0;
}

strong.required{
color:#f11;
}

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

.wrap{
width:96%;
}

#formWrap.inline tr,
#formWrap.inline td,
#formWrap.inline th{
width:100%;
display: block;
box-sizing:border-box;
}

#formWrap.inline{
padding:5px;
}

#formWrap.inline input{
max-width:120px;
}

#formWrap.inline textarea{
max-width:300px;
}

}


/****************************************
フッタ
****************************************/
#goTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 5;
}

#goTop a {
  display: block;
  color: #FFF;
  font-size: 1.4em;
  border: 1px solid #FFF;
  background-color: #0075A7;
  padding-top: 7px;
  text-align: center;
  border-radius: 50%;
  width: 50px;
  height: 50px;
}

#goTop a:hover {
  opacity: 0.6;
}

#companyInfo {
  margin-top: 80px;
  font-size: 1.4rem;
  font-family: 'Noto Sans Japanese', sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: rgba(255,255,255,0.8);
  text-align: center;
  padding: 20px 0;
  font-weight: 500;
}

#companyInfo span {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 10px;
}

footer {
  text-align: center;
  font-family: 'Noto Sans Japanese', sans-serif;
  letter-spacing: 1px;
  font-size: 1rem;
  padding: 5px 0;
  background-color: #0075A7;
  color: #FFF;
}

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

#goTop {
  bottom: 30px;
  right: 10px;
}

#goTop a:hover {
  opacity: 1;
}

#companyInfo {
  margin-top: 30px;
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 15px 0;
}

#companyInfo span {
  font-size: 1.4rem;
  margin-bottom: 5px;
}
}


#privacy{
background:#fff;
padding:20px;
font-size:12px;
}

#privacy h2{
font-size:20px;
margin:40px 0 40px;
}


#privacy p{
margin-bottom:15px;
}

#privacy h3{
margin-bottom:20px;
}

p.footer_menu{
margin:20px auto;
text-align: center;
}

#form_read h3{
font-size:18px;
margin-bottom:15px;
}

#form_read {
border:solid 5px #666;
padding:15px 15px 0;
}

#form_read p{
font-size:14px;
margin-bottom:15px;
}

#form_read p strong{
font-weight:bold;
color:#ff1111;
}

#insta ul{
margin:0;
padding:0;
list-style:none;
text-align:center;
}

#insta ul li{
float:left;
width:20%;
overflow:hidden;
	position:relative;
}

#insta ul li img{
width:100%;
height:auto;
}

.square-content {
    display: block;
    height: 0;
    width: 100%;
    padding-bottom: 100%;
}

#insta ul li span.comment{
	width:			100%;
	height:			100%;
	margin:auto;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	bottom:0;
	right:0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
	display:table;
	color:#fff;
	font-size:11px;
}

#insta ul li:hover span.comment{
	opacity:		1;	/* マスクを表示する */
}

#insta ul li span.comment span{
display: table-cell; /* IE8から使用可能 */	
    vertical-align: middle;	
}

p.btn{
border:solid 1px #333;
max-width:300px;
box-sizing:border-box;
margin:50px auto;
text-align:center;
}

p.btn i{
margin-right:10px;
}

p.btn a{
display:block;
padding:10px 30px ;
}

#seminar_block h3{
font-size:18px;
margin-bottom:15px;
}

#seminar_block {
border:solid 5px #666;
padding:15px 15px 0;
margin-top:15px;
}

#seminar_block p{
font-size:14px;
margin-bottom:15px;
}

#seminar_block p strong{
font-weight:bold;
color:#ff1111;
}


.mx60{
max-width:60%;
margin:auto;
}

.mx60 img{
max-width:100%;
}

#allhuman_movie{
margin:auto;
text-align: center;
}

/* ---------- フッター 固定CTA ---------- */

#footer_fixarea {
display: block;
width: 100%;
position: fixed;
left: 0;
background: rgba(20,20,20,0.9);
color:#fff;
z-index: 10;
bottom:-150px;
transition-duration: 0.5s;
box-sizing:border-box;
padding:0;
font-weight:bold;
text-align:center;
}

#footer_fixarea.show {
bottom:0px;
transition-duration: 0.5s;	
}

#footer_fixarea ul{
margin:0 auto;
max-width:600px;
padding:0;	
list-style:none;
display: flex;
}

#footer_fixarea ul li{
width:50%;
}


#footer_fixarea ul li a{
display: block;
}




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

#formWrap.inline td{
border-left:none;
}

}


#agency{
max-width:900px;
margin:0 auto;
padding:20px;
background:#fff;
}

#agency #mailformpro th,
#agency #mailformpro td{
padding:10px;
font-size:14px;
}

#agency p.agency_text{
line-height:1.8;
font-size:16px;
}

.floating.active {
    bottom: 120px;
}

.floating {
    position: fixed;
    right: 0;
    width: 350px;
    z-index: 999;
    bottom: -120%;
    transition: all 0.5s;
}

.floating img{
width:100%;
height:auto;
}

#merit h3{
font-size:20px;
text-align: center;
margin:30px auto;
}

#merit p.center{
text-align: center;
}

#merit ul{
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#merit ul li {
border:solid 1px#000;
    width: 32%;
    margin: 0 .5% 20px;
    box-sizing: border-box;
    padding: 10px 5px;
    font-size:16px;
    text-align: center;
}

#merit ul li img{
display: block;
margin-bottom:8px;
}

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

#merit ul li{
    width: 49%;
    margin: 0 .5% 20px;
}

#merit h3 {
    font-size: 16px;
}

#merit ul li{
font-size:12px;
}

.floating{
width:200px;
}

.floating.active{
bottom:100px;
}

#agency #mailformpro th,
#agency #mailformpro td{
display: block;
width:100%;
box-sizing:border-box;
}

.mfptr td ul li span{
display:block;
margin:15px 0 5px;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password{
width:100%!important;
}

#formWrap.inline td{
width:100%!important;
padding:5px;
}

#formWrap.inline td:nth-child(3){
display:none;
}


}


.inner-contact-btn{
text-align:center;
max-width:350px;
font-size:13px;
margin:50px auto;
}

.inner-contact-btn .emphasis{
font-size:20px;
font-weight:bold;
}