@charset "UTF-8";
/*==========
Theme Name: daichi-shinkyu
Theme URI: uri
Description: だいち鍼灸接骨院のテーマ
Author: moumuumow
Author URI: https://moumuumow.com
Version: 1.0
==========*/


/*======================================================================
  Reset CSS for HTML5
======================================================================*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, t, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, main, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
    display: block;
}

ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

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

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

img {
	vertical-align: bottom;
    line-height: 1;
	width: 100%;
	height: auto;
}

/*======================================================================
  basic
======================================================================*/
html, body{
    box-sizing: border-box;
    height: 100%;
}

body {
	width: 100%;
    background-color: #fff;
    line-height: 1.8;
    font-family: Helvetica, Arial, "Droid Sans", 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
    font-size: 18px;
    color: #333333;
    -webkit-font-smoothing: antialiased;
}

h2, h2 a,
h2 span {
	font-weight: bold;
	font-size: 36px;
	color: #4ca870;
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

h3, h3 a, h4, h4 a, h4 span, h5, h5 a, h5 span {
	font-weight: bold;
	font-size: 24px;
	color: #c8a46b;
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

p { line-height: 1.8;}

a { text-decoration: none; color: #c8a46b}

/* mouseover - opacity */
a:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	filter: alpha(opacity=70);
	opacity: 0.7;
}
 
a img:hover,
a span:hover {
	transition: all 500ms 0s ease;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	filter: alpha(opacity=70);
	opacity: 0.7;
}

/*======================================================================
  format
======================================================================*/
/* block class */

.mincho,
.featurebox li:before {
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.flexstyle {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.textshadow {
	text-shadow: 0 0 5px #333;
	filter: glow(color=#333333,strength=5px);
}

.boxshadow {
	border: 1px solid #333;
	box-shadow: 0px 1px 5px #333 inset;
	filter: progid:DXImageTransform.Microsoft.Shadow(color=#333, Direction=145, Strength=3);
}

.pcnone {
	display: none;
}

/* clearFix */
.contents:after,
.clearfix:after { content: ""; clear: both; display: block;}

/* float */
.fl { float: left;}
.fr { float: right;}

.breadcrumbs {
	width: 980px;
	margin: 10px auto 0;
	padding: 10px;
	box-sizing: border-box;
}

.breadcrumbs > span {
	padding: 0 10px;
	font-size: 16px;
}

/*======================================================================
  header
======================================================================*/

header {
	margin-bottom: 60px;
}

#headcontent {
	position: relative;
	overflow: hidden;
}

#headcontent > video {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	-o-transform: translate(-50%,0);
	transform: translate(-50%,0);
	width: auto;
	height: 100%;
}

.headmenu {
	position: relative;
	z-index: 10;
	width: 100%;
	padding-top: 10px;
    background: #fff;
}

.headmenu:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #f7f3eb;
	opacity: 0.3;
	z-index: 0;
}

.headtitle,
.headmenu nav {
	position: relative;
	z-index: 1;
}

.headtitle .h1title {
	text-align: center;
	margin-bottom: 5px;
}

.headtitle a img {
	width: 20%;
}

#drawermenu {
	display: none;
}

.headnav {
	align-items: center;
	padding: 0 60px;
}

nav#headertopmenu.sticky {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    box-sizing: border-box;
    background: #f7f3eb;
}

.gnav {
	margin: 0 auto;
    padding: 10px 0;
    box-sizing: border-box;
}

.gnav li {
	padding: 0 20px;
}

.gnav li a {
	font-size: 16px;
	font-weight: bold;
}

.gnav li a:hover {
	color: #85d1a2;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1.0;
	transition: all 800ms 0s ease;
}

/*
.MV picture {
    display: none;
    transition: all 100ms;
}

.MV picture.active {
    display: block;
    transition: all 100ms;
}
*/

/*======================================================================
  concept
======================================================================*/

.concept {
	-webkit-flex-direction: reverse;
	-moz-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	-o-flex-direction: row-reverse;
	flex-direction: row-reverse;
	position: relative;
	background: url("images/voice.jpg") no-repeat center;
	background-attachment: fixed;
	background-size: cover;
	padding-bottom: 60px;
	margin-bottom: 60px;
}

.concept:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f7f3eb;
	opacity: 0.3;
}

.concept h2 {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 40px 0 20px;
	text-shadow: 0 0 5px #4ca870;
	color: #f7f3eb;
}

.concepttext {
	position: relative;
	z-index: 2;
}

.concepttext div {
	padding: 60px;
	box-sizing: border-box;
	width: 580px;
	height: 580px;
	border-radius: 50%;
	background: rgba(123,82,16,0.7);
	position: relative;
	margin: 0 auto;
}

.concepttext div:before {
	content: "";
	display: block;
	background: #7b5210;
	opacity: 0.7;
	width: 500px;
	height: 500px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	z-index: -1;
}

.concepttext h3 {
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}

.concepttext p {
	color: #fff;
	text-align: center;
}

.concepttext ul {
	margin: 20px 0;
}

.concepttext ul li {
	font-weight: bold;
	text-align: center;
	color: #fff;
}

/*======================================================================
  campaign
======================================================================*/
.campaignbnr {
    max-width: 1024px;
    text-align: center;
    margin: 40px auto 60px;
}

.campaignbnr a {
    display: block;
    overflow: hidden;
    border-radius: 10px;
}

.zikobnr {
    max-width: 1024px;
    text-align: center;
    margin: 40px auto 60px;
}


/*======================================================================
  feature
======================================================================*/

.feature {
	background: #f7f3eb;
	padding: 40px 30px;
	margin-bottom: 60px;
}

.feature h2 {
	text-align: center;
}

.featurebox li {
	position: relative;
	margin-top: 40px;
	align-items: center;
}

.featureimg {
	position: relative;
	align-content: center;
	align-items: center;
	width: 60%;
	height: 360px;
	overflow: hidden;
	border-radius: 10px;
}

.featurebox li:nth-child(2) .featureimg {
	align-items: flex-end;
}

.featurebox li:before {
	content: "1";
	font-size: 210px;
	opacity: 0.3;
	color: #85d1a2;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	font-style: italic;
	font-weight: bold;
	z-index: 3;
	width: 30%;
}

.featurebox li:nth-child(2):before {
	content: "2";
}

.featurebox li:nth-child(3):before {
	content: "3";
}

.featurebox li:nth-child(4):before {
	content: "4";
}

.featuretext {
	width: 40%;
	padding: 20px 0 20px 30px;
	z-index: 3;
}

.featuretext h3 {
	text-align: center;
	line-height: 1.2;
	margin-bottom: 20px;
}

.featuretext h3 span {
	display: block;
	font-size: 18px;
}

.featurebox li:nth-child(even) {
	-webkit-flex-direction: reverse;
	-moz-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	-o-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.featurebox li:nth-child(even) .featuretext {
	padding: 20px 30px 20px 0;
}


/*======================================================================
  patientvoice
======================================================================*/

.patientvoice {
	margin-bottom: 10px;
}

.patientvoice h2 {
	text-align: center;
	margin-bottom: 20px;
}

.voice4 {
	justify-content: space-around;
	padding: 0 5px;
}

.voicebox {
	width: 24%;
	position: relative;
	padding: 45px 15px 30px;
	border-radius: 10px;
	overflow: hidden;
	box-sizing: border-box;
}

.voicebg {
	align-items: center;
	justify-content: space-around;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.voicebg:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: #c8a46b;
	opacity: 0.6;
}

.voicebg img {
	z-index: 0;
	width: auto;
	height: 100%;
}

.voicelink {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
}

.voicebox h3 {
	position: relative;
	text-align: center;
	z-index: 2;
	margin-bottom: 45px;
	color: #fff;
}

.voicebox ul {
	position: relative;
	z-index: 2;
	margin-bottom: 10px;
}

.voicebox ul li {
	color: #fff;
	font-weight: bold;
}

.voicebox span {
	position: relative;
	z-index: 2;
	display: block;
	text-align: center;
	padding-bottom: 35px;
	background: url("images/moreicon.png") no-repeat center bottom;
	color: #85d1a2;
	font-weight: bold;
}

.voicebox:hover .voicebg:before {
	background: #85d1a2;
	opacity: 0.2;
	-webkit-transition: all 800ms 0s ease;
	-o-transition: all 800ms 0s ease;
	transition: all 800ms 0s ease;
}

.voicebox:hover .voicebg img {
	-webkit-transition: all 800ms 0s ease;
	-o-transition: all 800ms 0s ease;
	transition: all 800ms 0s ease;
	-webkit-transform: scale(1.05,1.05);
	-ms-transform: scale(1.05,1.05);
	-o-transform: scale(1.05,1.05);
	transform: scale(1.05,1.05);
}

.voicebox:hover span {
	-webkit-transition: all 800ms 0s ease;
	-o-transition: all 800ms 0s ease;
	transition: all 800ms 0s ease;
	-webkit-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
}


/*======================================================================
  operationmenu
======================================================================*/

.operationmenu {
	margin-bottom: 60px;
	position: relative;
	overflow: hidden;
	-ms-align-items: center;
	align-items: center;
}

.operationmenu:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 40%;
	height: 100%;
	-webkit-transform: translate(0%) skewX(-15deg);
	-ms-transform: translate(0%) skewX(-15deg);
	transform: translate(0%) skewX(-15deg);
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	background: #f7f3eb;
	opacity: 0.65;
	z-index: 2;
}

.operationmenu img {
	position: absolute;
	z-index: 1;
}

.operationbox {
	position: relative;
	width: 40%;
	z-index: 3;
	padding-bottom: 60px;
}

.operationbox h2 {
	text-align: center;
	padding: 40px 60px 30px 0;
}

.operationcatch {
	position: relative;
}

.operationcatch:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 95%;
	height: 50px;
	z-index: 2;
	background: #4ca870;
	margin-right: 30px;
	-webkit-transform: translate(0%) skewX(-15deg);
	-ms-transform: translate(0%) skewX(-15deg);
	transform: translate(0%) skewX(-15deg);
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

.operationcatch p {
	font-size: 26px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	position: relative;
	z-index: 3;
}

.operationdes {
	padding: 30px 140px 30px 80px;
	margin-bottom: 10px;
}

.operationdes .pcnone {
	display: none;
}

.operationmenu span {
	padding-right: 100px;
	display: block;
	text-align: center;
}

.operationmenu span a {
	background: #c8a46b;
	color: #fff;
	border-radius: 5px;
	padding: 10px 30px;
}

.operationmenu span a:hover {
	background: #4ca870;
	-webkit-transition: all 500ms 0s ease;
	-o-transition: all 500ms 0s ease;
	transition: all 500ms 0s ease;
}


/*======================================================================
  campaign
======================================================================*/

.offer {
    background: #f7f3eb;
    padding: 30px 0;
}

.offerouter {
    max-width: 640px;
    background: #fff;
    border-radius: 10px;
    padding: 20px 30px;
    margin: 0 auto;
}

.offer h2 {
    text-align: center;
}

.offer h3 {
    text-align: center;
    margin-bottom: 10px;
}

.syokaisp {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    padding: 10px 0;
    text-align: center;
    background: #4ca870;
}

.offerbox .flexstyle {
    align-items: center;
    justify-content: space-around;
    background: #f7f3eb;
    margin-bottom: 20px;
}

.general {
    font-size: 24px;
    width: 30%;
    text-align: right;
}

.offerprice {
    width: 60%;
    font-size: 92px;
    color: #b54f2c;
    letter-spacing: 5px;
    line-height: 1.6;
}

.offerprice strong {
    position: relative;
    padding-left: 60px;
    font-weight: normal;
}

.offerprice strong:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 40px;
    border-color: transparent transparent transparent #b54f2c;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.offerprice span {
    font-size: 42px;
    font-weight: bold;
}

.offerkigen {
    text-align: center;
    margin-bottom: 20px;
}

.offerkigen .kigen {
    display: inline-block;
    padding: 3px 30px;
    background: #4ca870;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    border-radius: 5px;
    margin-bottom: 10px;
}

.offerkigen .ninzu .nokori {
    display: block;
    line-height: 1.2;
}

.offerkigen .ninzu strong {
    font-size: 160%;
    font-weight: bold;
    padding: 0 5px;
    color: #b54f2c;
}

.offercontact {
}

.offercomment {
    text-align: center;
    font-size: 14px;
}

.offercontact a {
    display: block;
    background: #4ca870;
    width: 70%;
    text-align: center;
    padding: 5px 30px;
    box-sizing: border-box;
    margin: 0 auto 20px;
    letter-spacing: 5px;
    border-radius: 10px;
    box-shadow: 0 3px 0 0 #85d1a2;
}

.offercontact a span {
    font-size: 32px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 3px;
    text-decoration: underline;
}

.opentitle {
	text-align: center;
	display: block;
	font-weight: bold;
	background: #b54f2c;
	color: #fff;
	width: 69%;
	margin: 0 auto;
	padding: 5px;
	border: 2px solid #f7f3eb;
	border-bottom: none;
}

/*======================================================================
  information
======================================================================*/

.information {
	padding: 0 10px;
	margin-bottom: 60px;
}

.information h2 {
	text-align: center;
	margin-bottom: 10px;
}

.infobox {
	justify-content: space-around;
}

.infobox li {
	width: 24%;
	background: #f7f3eb;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 10px;
}

.infoimg {
	overflow: hidden;
	border-radius: 5px;
	height: 180px;
	justify-content: space-around;
	align-items: center;
	margin-bottom: 10px;
}

.infobox li time {
	padding: 0 15px;
}

.infobox li h3 {
	padding: 0 15px;
}


/*======================================================================
  staff
======================================================================*/

.staff {
	background: #f7f3eb;
	padding: 20px 30px 40px;
	margin-bottom: 60px;
}

.staff h2 {
	text-align: center;
	margin-bottom: 20px;
}

.staffWrap {
	justify-content: space-around;
}

.staffbox {
	width: 45%;
	border-radius: 10px;
	overflow: hidden;
}

.staffbox span {
	justify-content: space-around;
	align-items: center;
	height: 240px;
	overflow: hidden;
}

.staffname {
	background: #fff;
	padding: 15px 20px;
	font-size: 24px;
	font-weight: bold;
}

.staffname p {
	text-align: center;
	color: #4ca870;
	position: relative;
	letter-spacing: 2px;
}

.staffname p:before {
	content: "";
	display: block;
	background: #4ca870;
	width: 30px;
	height: 1px;
	position: absolute;
	bottom: -5px;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.staffname h3 {
	text-align: center;
	color: #4ca870;
	margin-top: 10px;
	letter-spacing: 1.8px;
	font-size: 30px;
}

.staffdetailbox {
    margin: 20px 0 10px;
    text-align: center;
}

.staffdetailbox a {
    display: inline-block;
    padding: 10px 60px;
    background: #4ca870;
    font-weight: bold;
    color: #fff;
    border-radius: 5px;
}


/*======================================================================
  contact
======================================================================*/

.contact {
	margin-bottom: 60px;
}

.contactbox {
	width: 60%;
	margin: 0 auto;
	position: relative;
	padding: 30px 10px 40px;
	box-sizing: border-box;
	border-bottom: 5px solid #b54f2c;
}

.contactbox:before {
	content: "CONTACT";
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 78px;
	line-height: 0.8;
	color: #85d1a2;
	opacity: 0.3;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.contactbox h2 {
	font-weight: normal;
	text-align: center;
	position: relative;
	z-index: 2;
}

.contactbox p {
	font-size: 36px;
	text-align: center;
	color: #7b5210;
}


/*======================================================================
  footer
======================================================================*/

footer {
    padding-bottom: 98px;
}

.footerbg {
	background: url("images/footerbg.jpg") no-repeat center;
	background-size: cover;
	padding-bottom: 10px;
}

.footernav {
	padding: 20px 60px 40px;
	align-items: center;
}

.fnav {
	margin: 0 auto;
}

.fnav li {
	padding: 0 20px;
}

.fnav li a {
	color: #f7f3eb;
	font-size: 16px;
	font-weight: bold;
}

.fnav li a:hover {
	color: #85d1a2;
	transition: all 500ms 0s ease;
}

.footergroup {
    font-weight: bold;
    color: #fff;
    text-align: center;
    font-size: 20px;
}

.footergroup + nav {
    padding: 5px 60px 40px;
}

.groupname {
	position: relative;
	text-align: center;
	margin-bottom: 40px;
}

.groupname img {
	width: 250px;
	height: auto;
	margin-bottom: 10px;
}

.groupname span {
	display: block;
	font-weight: bold;
}

.groupcom {
	position: absolute;
	right: 30px;
	bottom: 0;
	font-weight: bold;
}

.groupcom a {
	background: url("images/icon.png") no-repeat left center;
	padding: 5px 0 5px 35px;
}

footer small {
	color: #fff;
	font-size: 14px;
	display: block;
	text-align: right;
	padding-right: 30px;
}

#footer_fix {
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #4ca870;
    z-index: 100;
}

.offer_choice {
    justify-content: space-around;
}

.offer_choice li {
    width: 40%;
    padding: 10px;
}

.offer_choice li a {
    display: block;
    border-radius: 50px;
    background: url("images/telicon.png") no-repeat 20px center #fff;
    -webkit-background-size: 35px;
    background-size: 35px;
}

.offer_choice li.offer_web a {
    border: 2px solid #fff;
    color: #fff;
    background: url("images/line_icon.png") no-repeat 13px center;
    -webkit-background-size: 60px;
    background-size: 60px;
}

.offer_choice li h3 {
    text-align: center;
    font-size: 18px;
    color: #4ca870;
}

.offer_choice li.offer_web a h3 {
    color: #fff;
}

.offer_choice li span {
    text-align: center;
    font-size: 36px;
    display: block;
    font-weight: bold;
    line-height: 1.2;
    color: #4ca870;
    text-decoration: underline;
    letter-spacing: 2px;
}

.offer_choice li.offer_web a span {
    font-size: 26px;
    line-height: 1.6;
    color: #fff;
}

/*======================================================================
  page
======================================================================*/

.page {
	max-width: 980px;
	margin: -30px auto 60px;
}

.page h1 {
	text-align: center;
	font-size: 36px;
	position: relative;
	color: #c8a46b;
	margin-bottom: 30px;
	font-weight: normal;
}

.page h1:before {
	content: "";
	display: block;
	width: 60px;
	height: 1px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 0;
	background: #c8a46b;
}

.singlemain strong{
	background: linear-gradient(transparent 65%,#85d1a2 65%);
}

.singlemain h2 {
	font-size: 24px;
	border-left: 6px solid #c8a46b;
	padding-left: 10px;
	color: #c8a46b;
	line-height: 1.6;
    font-family: Helvetica, Arial, "Droid Sans", 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	margin: 40px 0 20px -15px;
}

.singlemain p {
	margin-bottom: 20px;
}

/*pre*/
.preparts {
    max-width: 980px;
    margin: 0 auto 40px;
}

.preparts h2 {
    text-align: center;
    margin-bottom: 20px;
}

.preparts h2 strong {
    font-size: 120%;
    color: #de5747;
}

.preparts .pretime {
    margin-bottom: 20px;
    justify-content: space-around;
}

.preparts .pretime > li {
    width: 30%;
    border: 3px solid #4ec756;
    padding: 15px 20px;
    box-sizing: border-box;
    text-align: center;
}

.preparts .pretime li h3 {
    text-align: center;
    padding: 0 5px;
    background: #4ec756;
    color: #fff;
    margin-bottom: 10px;
}

.preparts .pretime li .prelimit strong {
    display: block;
}

.preparts .pretime li p.pretime {
    font-size: 24px;
    font-weight: bold;
}

.preparts .pretime li .prelimit strong {
    color: #de5747;
}

.preparts .pretime li .prelimit span {
    font-size: 160%;
    padding: 0 5px;
}

.preparts .telbutton {
    box-shadow: 0 5px 0 0 #8c4846;
    border-radius: 50px;
}

.campaigntel p {
	text-align: center;
	color: #4ec756;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}

.contact_attach {
	display: block;
	text-align: center;
	font-size: 14px;
	color: #de5747;
	font-weight: bold;
}

.telbutton {
	display: block;
	background: #de5747;
	padding: 0 20px;
	width: 69%;
	margin: 0 auto;
	border-radius: 10px;
    box-sizing: border-box;
}

.telbutton p {
	font-size: 36px;
	margin-bottom: 0;
	letter-spacing: 5px;
	color: #fff;
}

.telbutton + p {
	font-weight: normal;
	margin-bottom: 0;
}

.contact_point {
    display: block;
    width: 69%;
    margin: 5px auto 0;
    padding-left: 16px;
    box-sizing: border-box;
    font-size: 14px;
    font-style: normal;
    background: url("images/contactpoint.png") no-repeat left 6px;
    -webkit-background-size: 12px;
    background-size: 12px;
}

.opentimepoint {
    font-style: normal;
    font-weight: bold;
    text-align: center;
    display: block;
    margin-top: 5px;
    color: #4fbf51;
    font-size: 20px;
}

.campaigntel .opentime {
	width: 100%;
	margin: 20px auto 0;
}

/* 2022campaign */
.de-cm {
    max-width: 1024px;
    margin: 0 auto 60px;
}

.de-cm .cm-detail {
    padding: 40px 20px;
    background: #F4F7F7;
}

.de-cm h1 {
    padding: 10px 0;
    text-align: center;
    margin:  0 40px 40px;
    font-size: 32px;
    color: #118D81;
    border-top: 5px double #118D81;
    border-bottom: 5px double #118D81;
    font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.de-cm .cm-case {
    margin: 40px 0;
}

.de-cm .cm-case h2 {
    color: #118d81;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

.de-cm .cm-case h2 span {
    color: #118d81;
    font-size: 70%;
}

.de-cm .cm-case ul {
    width: 60%;
    margin: 0 auto;
    padding: 20px 20px 1px 20px;
    font-size: 140%;
    font-weight: bold;
    background: #118D77;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}

.de-cm .cm-case ul li {
    background: #fff;
    color: #118D77;
    border-radius: 50px;
    padding: 5px 20px;
    margin: 0 20px 20px 0;
}

.de-cm .cm-contact {
    background: url("images/debg.jpg") no-repeat center;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 30px 40px;
}

.de-cm .cm-contact h2 {
    margin-bottom: 30px;
}

.de-cm .cm-contact .cm-contactbox {
    background: #fff;
    padding: 30px;
}

.de-cm .cm-contact .cm-contactbox h3 {
    color: #fff;
    background: #118d81;
    font-size: 32px;
    text-align: center;
    padding: 5px 10px;
    margin-bottom: 20px;
}

.de-cm .cm-contact .cm-contactbox .imgbox {
    margin: 0 40px 30px;
}

.de-cm .cm-contact .timelimit {
    text-align: center;
    margin-bottom: 20px;
}

.de-cm .cm-contact .timelimit span {
    font-size: 140%;
    font-weight: bold;
    color: #118d81;
    background: linear-gradient(transparent 65%,#ffec00 0%);
}

.de-cm .cm-contact .num-limit {
    margin-bottom: 20px;
    text-align: center;
}

.de-cm .cm-contact .num-limit span {
    font-size: 24px;
    border: 1px solid #118d81;
    padding: 10px 30px;
    color: #118d81;
    font-size: 150%;
}

.cm-contact .cm-cta p {
    margin-bottom: 0;
    text-align: center;
    font-size: 12px;
}

.cm-contact .cm-cta a {
    display: block;
    width: 60%;
    margin: 0 auto;
    background: url("images/sma_icon.png") no-repeat 15px center #118d81;
    color: #fff;
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    padding: 5px;
    background-size: contain;
    border-radius: 5px;
    border-top: 5px solid #118d81;
    border-bottom: 5px solid #118d81;
    box-shadow: 0 4px 0 0 #156d5e;
}

.cm-contact .cm-cta a.cm-ctaline {
    background: url("images/line_icon.png") no-repeat 13px center #118d81;
    -webkit-background-size: contain;
    background-size: contain;
}
    
.de-cm .cm-opentime {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 20px;
    border: 1px solid #118d81;
    background: #F4F7F7;
    box-sizing: border-box;
    padding: 10px;
}

.de-cm .cm-opentime h4 {
    text-align: center;
    width: 100%;
    font-weight: bold;
    font-size: 20px;
}
    
.de-cm .cm-gmap {
    margin-top: 25px;
    width: 80%;
    margin: 25px auto 0;
}

.de-cm .cm-gmap h4 {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.de-cm .cm-gmap address {
    font-style: normal;
    margin-bottom: 5px;
}

.de-cm .cm-gmap iframe {
    width: 100%;
    height: 250px;
}

.de-cm .cm-voice {
    margin: 30px 0;
}

.de-cm .cm-effect {
    background: #f4fff6;
    padding: 45px 0;
}

.de-cm .cm-step {
    padding: 45px 0;
}

.de-cm .cm-effect h2,
.de-cm .cm-step h2 {
    text-align: center;
    padding: 10px 0;
    border-top: 5px double #118d81;
    border-bottom: 5px double #118d81;
    font-weight: normal;
    color: #118d81;
    margin: 0 30px 45px;
}

.de-cm .cm-effect div,
.de-cm .cm-step div {
    width: 80%;
    margin: 0 auto;
}

.de-cm .cm-step h2 span {
    font-size: 160%;
    color: #118d81;
    line-height: 0;
    padding: 0 5px;
}

.de-cm .cm-foryou {
    margin: 40px 0;
}

/* contact */

.openhead {
	text-align: center;
	font-size: 24px;
	margin-bottom: 5px;
	font-weight: normal;
}

.open_title {
	text-align: center;
	display: block;
	font-weight: bold;
	background: #b54f2c;
	color: #fff;
	width: 45%;
	margin: 0 auto;
	padding: 5px;
	border: 2px solid #f7f3eb;
	border-bottom: none;
}

.openhours {
	margin-bottom: 40px;
}

.openhours > dl {
	margin: 0 auto;
}

.openhours > dl > dt:first-child {
	background: #85d1a2;
	color: #f7f3eb;
	border-left: 2px solid #f7f3eb;
}

.openhours > dl > dt {
	padding: 5px;
	border-right: 2px solid #f7f3eb;
	border-top: 2px solid #f7f3eb;
	border-bottom: 2px solid #f7f3eb;
}

.openhours dl dt {
	font-weight: bold;
}

.openhours dl dd {
	font-weight: normal;
}

.openhours dl dt,
.openhours dl dd {
	text-align: center;
	padding: 2px 5px;
}

.contactpage .contact {
	margin-bottom: 30px;
}

.contactpage .contactbox {
	padding: 22px 10px 20px;
	width: 54%;
	border-bottom: 3px solid #b54f2c;
}

.contactpage .contactbox:before {
	font-size: 58px;
}

.contactpage .contactbox h2 {
	font-size: 24px;
}

.contactpage .contactbox p {
	font-size: 18px;
}

.contactpage .contactbox .pagecontact {
	margin-bottom: 10px;
	font-size: 36px;
}

.contactaccess ul {
	margin: 0 auto;
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	-o-flex-direction: column;
	flex-direction: column;
	padding: 20px 30px;
	background: #f7f3eb;
}

.contactaccess ul li {
	margin-bottom: 10px;
	padding-left: 25px;
	background: url("images/li_icon.png") no-repeat left center;
}

/* accessmap */

.access {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	background: #f7f3eb;
}

.access > iframe {
	width: 95%;
	display: block;
	margin: 20px auto 0;
}

/* 施術メニューページ */

#post-12 .pagetitle {
	position: relative;
	margin-bottom: 40px;
	height: 440px;
}

#post-12 h1 {
	color: #4ca870;
	position: relative;
	z-index: 2;
	padding: 5px 10px;
	box-sizing: border-box;
	font-weight: bold;
	width: 100%;
	background: rgba(247,243,235,0.7);
}

#post-12 h1:before {
	content: none;
}

#post-12 .pagetitle .flexstyle {
	position: absolute;
	top: 0;
	width: 100%;
	height: 440px;
	justify-content: space-around;
	-ms-align-items: center;
	align-items: center;
	overflow: hidden;
	z-index: 1;
}

#post-12 .pagetitle {
	margin-bottom: 40px;
}

.menulist {
	margin-bottom: 45px;
}

.menulist h2 {
	border-bottom: 2px solid #85d1a2;
	padding-left: 30px;
	margin-bottom: 30px;
	font-size: 28px;
}

.s-menulist {
	padding: 0 20px;
	margin-bottom: 30px;
}

.s-menulist > h3 {
	background: #f7f3eb;
	padding: 5px 10px;
	color: #85d1a2;
	margin-bottom: 20px;
}

.s-menulist > h3 span {
	font-size: 30px;
}

.p-menubox.flexstyle {
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}

.p-menutitle {
	width: 20%;
	position: relative;
}

.p-menutitle:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.p-menutitle span {
	overflow: hidden;
	justify-content: space-around;
	-ms-align-items: center;
	align-items: center;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.p-menutitle span img {
	width: auto;
	height: 100%;
	max-width: inherit;
	position: absolute;
}

.p-menuosusume {
	width: 40%;
	box-sizing: border-box;
}

.p-menuosusume h3 {
	font-size: 24px;
	text-align: center;
}

.p-menuosusume ul {
	margin: 0 auto;
}

.p-menuosusume ul li {
	position: relative;
	padding-left: 15px;
}

.p-menuosusume ul li:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background: #85d1a2;
}

.p-menuprice {
	width: 40%;
}

.p-menuprice ul {
	margin: 0 auto;
	overflow: hidden;
	border-radius: 5px;
}

.p-menuprice ul li:first-child {
	background: #85d1a2;
	color: #f7f3eb;
}

.p-menuprice ul li:nth-child(even) {
	background: #fbfbfb;
}

.p-menuprice ul li dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	padding: 5px;
}

.p-menuprice ul li dl dt,
.p-menuprice ul li dl dd {
	width: 50%;
	text-align: center;
}

/* STAFF */
.p-staff {
	margin-bottom: 60px;
}

.greeting {
	margin-bottom: 40px;
}

.p-staff h2,
.p-voice h2 {
	padding-left: 20px;
	border-left: 5px solid #4ca870;
	margin-bottom: 20px;
	font-size: 30px;
}

.greetingimg {
	width: 75%;
	margin: 0 auto 30px;
}

.greetingimg .flexstyle {
	justify-content: space-around;
	align-items: center;
	overflow: hidden;
	height: 420px;
	border-radius: 10px;
}

.greetingtext {
	width: 75%;
	margin: 0 auto;
	background: #f7f3eb;
	padding: 20px 30px;
	box-sizing: border-box;
}

.greetingtext p {
	margin-bottom: 10px;
}

.p-stafflist {
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-around;
}

.p-staffdetail {
	justify-content: space-around;
	align-items: center;
	margin-bottom: 40px;
}

.p-staffdetail h3 {
	text-align: center;
	margin-bottom: 10px;
}

.p-staffdetail h3 span {
	padding-left: 20px;
}

.p-staffdetail span {
	height: 250px;
	border-radius: 10px;
	overflow: hidden;
	justify-content: space-around;
	align-items: center;
}

.p-staffname {
	margin-bottom: 10px;
	width: 38%;
}

.p-staffcontent {
	width: 58%;
	padding-top: 10px;
	position: relative;
}

.p-staffdes {
	padding: 5px 10px;
	border-top: 2px solid #85d1a2;
	border-bottom: 2px solid #85d1a2;
	margin-bottom: 20px;
}

.p-staffcontent > ul {
	padding: 20px 0;
	justify-content: space-around;
	background: #f7f3eb;
	position: relative;
	border-radius: 10px;
}

.p-staffcontent > ul:before {
	content: "";
	display: block;
	width: 1px;
	height: 80%;
	background: #85d1a2;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.p-staffcontent > ul > li {
	width: 45%;
	text-align: center;
	box-sizing: border-box;
}

.p-staffcontent h4 {
	color: #85d1a2;
}

.p-staffcontent ul li ul li {
	text-align: left;
	padding-left: 15px;
	margin-left: 5px;
	position: relative;
}

.p-staffcontent ul li ul li:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 13px;
	background: #85d1a2;
}

/* 患者さんの声ページ */
.p-voice {
	margin: 30px 0 60px;
}

.p-voice h2 {
	margin-bottom: 30px;
}

.voicelist {
	justify-content: space-around;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.p-voicebox {
	width: 46%;
}

.voicecontent {
	background: #f7f3eb;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 30px;
}

.voicecontent h3 {
	color: #85d1a2;
	padding: 10px;
}

.p-voicebox .flexstyle {
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	height: 260px;
}

.p-voicebox .p-voicetext {
	background: #f7f3eb;
	padding: 20px 20px 10px;
	border-radius: 10px;
	position: relative;
}

.p-voicebox .p-voicetext:before {
	content: "";
	display: block;
	position: absolute;
	top: -15px;
	right: 50px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12.5px 15px 12.5px;
	border-color: transparent transparent #f7f3eb transparent;
}

.p-voicetext p {
	margin-bottom: 20px;
}


/*======================================================================
  404
======================================================================*/

.notfound {
	margin-bottom: 60px;
}

.notfound404 {
	margin: 0 auto;
	max-width: 980px;
}

.notfound404 h1 {
	font-siz: 24px;
	text-align: center;
	margin-bottom: 30px;
}

.notfound404 p {
	text-align: center;
	margin-bottom: 10px;
}

.notfound404 p a {
	text-decoration: underline;
}

.notfound404 p a:hover {
	text-decoration: none;
}


/*======================================================================
  category
======================================================================*/

.category {
	margin-top: -40px;
	border-top: 3px solid #fff;
}

.categorytitle {
	height: 480px;
	overflow: hidden;
	position: relative;
	justify-content: space-around;
	align-items: center;
	margin-bottom: 30px;
}

.categorytitle div {
	position: absolute;
	top: 80px;
	width: 100%;
}

.categorytitle div:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #7b5210;
	opacity: 0.7;
	z-index: 1;
}

.categorytitle h1 {
	font-size: 32px;
	color: #fff;
	z-index: 2;
	position: relative;
	padding: 10px 0 10px 60px;
}

.categorydes {
	margin: 0 auto;
	padding: 20px 40px;
	background: #f7f3eb;
	max-width: 900px;
	border-radius: 10px;
	margin-bottom: 30px;
}

.categorypost {
	margin: 0 auto 60px;
	max-width: 980px;
}

.categorypost ul {
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}

.categorybox {
	width: 48%;
	justify-content: space-between;
	margin-bottom: 40px;
	align-items: center;
}

.posttitle {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	align-items: center;
	justify-content: space-around;
	height: 300px;
}

.posttitle h2 {
	position: absolute;
	top: 0;
	width: 100%;
}

.posttitle h2 a {
	color: #fff;
	background: rgba(200,164,107,0.8);
	display: block;
	padding: 10px;
	text-align: center;
	font-size: 24px;
}

.postdes {
}

.postdes time {
	font-size: 16px;
	display: block;
	margin: 10px;
}

.postdes p {
	margin: 0 0 10px;
	font-size: 16px;
}

.postdes span {
	display: block;
	text-align: center;
}

.postdes span a {
	background: #85d1a2;
	color: #fff;
	padding: 5px 40px;
	font-weight: bold;
	border-radius: 5px;
}


/*======================================================================
  post
======================================================================*/

.entry {
	margin: -40px auto 60px;
	max-width: 70%;
}

.singletitle {
	margin-bottom: 30px;
}

.singletitle h1 {
	text-align: center;
	font-size: 30px;
	color: #4ca870;
	margin-bottom: 10px;
}

.singletitle span {
	align-items: center;
	justify-content: space-around;
	height: 400px;
	overflow: hidden;
	border-radius: 10px;
}

.singlemain {
	padding: 0 15px;
}

.singlemain strong{
	background: linear-gradient(transparent 65%,#85d1a2 65%);
}

.singlemain h2 {
	font-size: 24px;
	border-left: 6px solid #c8a46b;
	padding-left: 10px;
	color: #c8a46b;
	line-height: 1.6;
    font-family: Helvetica, Arial, "Droid Sans", 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	margin: 40px 0 20px -15px;
}

.singlemain p {
	margin-bottom: 20px;
}

.thumbcuts {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto 20px;
	height: 300px;
	width: 500px;
	border-radius: 10px;
	overflow: hidden;
}

.singlemain h3 {
    font-family: Helvetica, Arial, "Droid Sans", 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	font-size: 18px;
	background: #c8a46b;
	color: #fff;
	padding: 6px 15px;
	margin: 30px 0 20px;
	border-radius: 5px;
}

.singlemain ul {
	padding: 15px 20px 10px;
	margin-bottom: 20px;
	background: #f7f3eb;
}

.singlemain ul li {
	margin-bottom: 5px;
	padding-left: 18px;
	position: relative;
}

.singlemain ul li:before {
	content: "";
	width: 7px;
	height: 7px;
	display: block;
	border-radius: 50%;
	background: #c8a46b;
	position: absolute;
	top: 12px;
	left: 0;
}

.singlemain .imgbox {
	width: 80%;
	margin: auto;
}

.singlemain h4 {
	border: 1px solid #c8a46b;
	text-align: center;
	background: rgba(255,255,255,0.6);
	margin-bottom: 20px;
}

.singlemain img {
	margin-bottom: 20px;
}

/* m3_記事CTA */
.m3detailcta {
	display: block;
	margin-bottom: 15px;
}

.m3detailcta a {
	display: inline-block;
	padding: 10px 35px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 2px;
	border: 2px solid #4ca870;
	box-shadow: 0 3px 0 0 #3f7753;
	color: #4ca870;
	border-radius: 50px;
	text-decoration: underline;
}

.syojostep ul li {
	position: inherit;
	padding: 0px;
}

.syojostep ul li:before {
	position: inherit;
	background: none;
}

.shojobox {
	background: #85d1a2;
	padding: 20px;
}

.cm_title strong {
	text-align: center;
	display: block;
	color: #fff;
	font-size: 36px;
}

.cm_title span {
	text-align: center;
	display: block;
	color: #fff;
	font-size: 24px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	width: 60%;
	margin: 0 auto 20px;
}

.shojoinbox { 
	background: #fff;
	padding: 8px;
	margin-bottom: 40px;
}

.boxbor {
	border: 2px solid #4ca870;
}

.singlemain .cm_p1 {
	margin-bottom: 40px;
}

.cm_p1 {
	text-align: center;
	padding: 10px;
	font-size: 30px;
	position: relative;
}

.cm_p1:before {
	position: absolute;
	content:"";
	bottom: -28px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 40px 0 40px;
	border-color: #4ca870 transparent transparent transparent;
}

.cm_p1 span {
	position: relative;
	margin-bottom: 10px;
}

.cm_p1 span:before {
	position: absolute;
	content: "";
	top: 8px;
	left: 0;
	background: #4ca870;
	height: 3px;
	width: 100%;
	opacity: 0.8;
}

.cm_p1 span:after {
	position: absolute;
	content: "";
	bottom: 8px;
	left: 0;
	background: #4ca870;
	height: 3px;
	width: 100%;
	opacity: 0.8;
}

.cm_p2 {
	color: #4ca870;
	font-size: 220%;
	margin-bottom: 10px;
	font-weight: bold;
	text-align:center; 
	line-height: 1.2;
}

 .cm_p2 span{
	font-size: 240%;
	color: #4ca870;
	font-weight: bold;
	margin-bottom: 10px;
	letter-spacing: 4px;
}

.cm_p2 span.cm_en {
	color: #4ca870;
	font-size: 60%;
}

.imgflex {
	width: 50%;
}

.shojotel {
	font-size: 14px;
	text-align: center;
	color: #fff;
}

.shojotel a {
	background: #b54f2c;
	color: #fff;
	padding: 20px;
	width: 60%;
	display: block;
	margin: 10px auto 40px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 50px;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 5px 0 0 #69250f;
}

.shojotime {
	background: #fff;
	padding: 0;
	border: 2px solid #c8a46b;
	margin-bottom: 20px;
}

.shojotime h3 {
	border-radius: 0px;
	text-align: center;
	margin: 0;
}

.shojotime ul {
	margin-bottom: 0px;
	padding: 0px;
	justify-content: space-between;
}

.shojotime ul li {
	padding-left: 0px;
	position: inherit;
	margin-bottom: 0px;
	width: 33%;
	border-left: 2px solid #c8a46b;
}

.shojotime ul li:first-child {
	border-left: none;
}

.shojotime p {
	text-align: center;
}

.shojotime h4 {
	border: none;
	background: none;
	margin-bottom: 0px;
	padding: 10px;
}


/*======================================================================
  instagram feed
======================================================================*/

#sb_instagram {
	margin: 0 auto 20px;
}

#sb_instagram .sb_instagram_header {
	box-sizing: border-box;
}

#sb_instagram #sbi_images {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

#sb_instagram .sbi_photo {
	border-radius: 5px;
}

@media print, screen and (max-width: 784px) {
	#sb_instagram.sbi_col_10 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_3 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_4 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_5 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_6 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_7 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_8 #sbi_images .sbi_item,
	#sb_instagram.sbi_col_9 #sbi_images .sbi_item {
    	width: 50% !important;
	}
}


/*======================================================================
  レスポンシブ
======================================================================*/

/* デバイスサイズ 784px〜960px　-smallpc- */

@media print, screen and (max-width: 960px) {
	
	h2,
	h2 a,
	h2 span {
		font-size: 32px;
	}
	
	.breadcrumbs {
		width: 100%;
	}
	
	.breadcrumbs span {
		padding: 0;
	}
	
	.feature {
		padding: 20px 30px;
	}
	
	.featurebox li {
		margin-top: 20px;
	}
	
	.featureimg img {
		width: auto;
		height: 100%;
	}
	
	.patientvoice h2 {
		margin-bottom: 0;
	}
	
	.voice4 {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.voicebox {
		width: 49%;
		margin-top: 10px;
		padding: 20px;
	}
	
	.voicebox h3 {
		margin-bottom: 20px;
	}
	
	.voicebox ul {
		justify-content: center;
		flex-direction: column;
		margin: 0 auto;
	}
	
	.perationmenu > .pcnone {
		display: none;
	}
	
	.perationmenu > .smanone {
		display: inherit;
	}
	
	.operationbox {
		width: 100%;
	}
	
	.operationbox h2 {
		text-align: center;
		box-sizing: border-box;
		width: 38%;
		padding: 20px 40px;
	}
	
	.operationcatch:before {
		width: 38%;
		height: 40px;
	}
	
	.operationcatch p {
		font-size: 20px;
		width: 38%;
		padding: 0 20px 0 10px;
		box-sizing: border-box;
		text-align: center;
		background: 
	}
	
	.operationdes {
		background: rgba(123,82,16,0.8);
		padding: 30px;
		border-radius: 10px;
		margin: 60px auto 0;
		font-size: 16px;
		width: 500px;
		color: #fff;
	}
	
	.operationdes .pcnone {
		margin-top: 20px;
		display: block;
		padding: 0;
	}
	
	.operationmenu .operationbox .smanone {
		display: none;
	}
	
	.p-staffdetail span {
		height: 220px;
	}
	
}
	
/* デバイスサイズ 425px〜784px　-tablet- */

@media print, screen and (max-width: 784px) {
	
	.smanone {
		display: none;
	}
	
	.breadcrumbs {
		margin: 0 auto;
		padding: 0 10px;
	}

	.breadcrumbs > span {
		font-size: 12px;
	}

	header {
		margin-bottom: 40px;
	}
	
	#headcontent {
		padding-top: 55px;
	}
	
	.headmenu {
		position: fixed;
		top: 0;
		padding-top: 0;
	}
	
	.headtitle h1{
		padding: 10px;
		margin-bottom: 0;
	}
	
	.open_title {
		width: 58%;
		padding: 3px;
	}
	
	.opentitle {
		width: 69%;
		padding: 4px;
	}
	
	#drawermenu {
		display: block;
	}
	
	.unshown {
		display: none;
	}
	
	#nav-input {
		width: 60px;
		height: 60px;
	}
	
	.opennav {
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 52px;
		display: block;
	}
	
	.opennav p {
		position: absolute;
		cursor: pointer;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	
	.opennav span,
	.opennav span:before,
	.opennav span:after {
		display: block;
		height: 3px;
		width: 30px;
		background: #85d1a2;
		position: absolute;
		top: 15px;
		right: 0;
		left: 0;
		margin: 0 auto;
		content: "";
		z-index: 2;
	}
	
	.opennav span:before {
		top: 10px;
	}
	
	.opennav span:after {
		top: 20px;
	}
	
	#closenav {
		display: none;
		position: fixed;
		z-index: 30;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: rgba(123,82,16,0.6);
		transition: all 500ms ease-in-out;
	}
	
	#closenav span {
		color: #85d1a2;
		font-size: 18px;
		font-weight: bold;
		display: block;
		width: 20%;
		text-align: center;
		padding-top: 60px;
		position: relative;
	}
	
	#closenav span:before,
	#closenav span:after {
		content: "";
		display: block;
		width: 30px;
		height: 3px;
		top: 45px;
		right: 0;
		left: 0;
		margin: 0 auto;
		background: #85d1a2;
		position: absolute;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
	#closenav span:after {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.headmenu .smanav {
		overflow: auto;
		position: fixed;
		top: 0;
		right: -100%;
		width: 80%;
		height: 100%;
		z-index: 50;
		background: #fff;
		transition: all 500ms ease-in-out;
	}
	
	.smanav > p {
		padding: 10px;
		background: #f7f3eb;
		color: #c8a46b;
		font-size: 24px;
		text-align: center;
	}
	
	.smanav nav {
		padding: 20px 30px 35px;
	}
	
	.smanav nav ul li {
		text-align: center;
		position: relative;
		padding-top: 10px;
	}
	
	.smanav nav ul li:before {
		content: "";
		display: block;
		width: 60px;
		height: 1px;
		background: #f7f3eb;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		margin: 0 auto;
	}
	
	.smanav div {
		border-bottom: 2px solid #b54f2c;
		margin: 20px auto;
		width: 70%;
		padding-bottom: 20px;
	}
	
	.smanav div > a {
		display: block;
		text-align: center;
		font-size: 32px;
		font-weight: bold;
		color: #85d1a2;
		padding-top: 5px;
		line-height: 1;
		margin-bottom: 20px;
	}
	
	.smanav div span a {
		padding: 10px 30px;
		font-size: 16px;
		font-weight: bold;
		border-radius: 5px;
		color: #f7f3eb;
		background: #b54f2c;
	}
	
	.smanav span {
		color: #c8a46b;
		text-align: center;
		display: block;
		font-size: 16px;
	}
	
	#nav-input:checked ~ #closenav {
		display: block;
	}
	
	#nav-input:checked ~ #closenav span,
	#nav-input:checked ~ #closenav span:before,
	#nav-input:checked ~ #closenav span:after {
		opacity: 1.0;
		transition: all 500ms ease;
	}
	
	#nav-input:checked ~ .smanav {
		right: 0;
		transition: all 500ms ease-in-out;
	}
	
	#headcontent video.pcnone {
		display: block;
	}
	
	.opencatch {
		height: -webkit-calc(100vh - 100px);
		height: calc(100vh - 100px);
	}
	
	.pv {
		padding: 40px;
	}
	
	.catchcopy p {
		font-size: 48px;
	}
	
	.catch3 {
		padding: 35px 20px 30px;
	}
	
	.catchcopy .catch4 {
		margin-top: 15px;
		font-size: 24px;
	}
	
	.catchcopyWrap > p {
		width: 100%;
		bottom: 5px;
		font-size: 24px;
	}
	
	.concept {
		background: url("images/voice_sma.jpg") no-repeat center;
		background-attachment: fixed;
		-webkit-background-size: cover;
		background-size: cover;
		margin-bottom: 40px;
	}
	
	@media screen and (-webkit-min-device-pixel-ratio:0) {
    _::-webkit-full-page-media, _:future, :root
		
		.concept {
			background: none;
			margin-bottom: 40px;
		}
		
		.concept:after {
			content: "";
			display: block;
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
			background: url("images/voice_sma.jpg") no-repeat center;
			-webkit-background-size: cover;
			background-size: cover;
    	}
	}
	
	.concept h2 {
		padding: 20px;
	}
	
	.concepttext div {
		padding: 20px;
		width: 100%;
		height: auto;
		border-radius: 0;
	}
	
	.concepttext div:before {
		width: 300px;
		height: 300px;
	}
	
	.concepttext h3 {
		margin-bottom: 20px;
	}
	
	.feature {
		padding: 10px 60px 20px;
		margin-bottom: 40px;
	}
	
	.featurebox li {
		align-items: flex-start;
	}
	
	.featurebox li:before {
		font-size: 120px;
		left: -10px;
		top: -80px;
		z-index: 6;
	}
	
	.featureimg {
		position: absolute;
		width: 80%;
	}
	
	.featuretext {
		width: 70%;
		padding: 20px;
		margin-left: auto;
		margin-top: 30px;
		background: rgba(247,243,235,0.8);
		border-radius: 10px;
		box-sizing: border-box;
	}
	
	.featuretext h3 {
		text-shadow: 0 0 3px #fff;
	}
	
	.featurebox li:nth-child(even) .featuretext {
		margin-right: auto;
		margin-left: 0;
		padding: 10px 10px 20px;
	}
	
	/* new */
	
	.featurebox li:nth-child(even) {
		-webkit-flex-direction: inherit;
		-moz-flex-direction: inherit;
		-ms-flex-direction: inherit;
		-o-flex-direction: inherit;
		flex-direction: inherit;
	}
	
	.featureimg {
		width: 100%;
		height: 300px;
	}
	
	.featureimg img {
		width: 100%;
		height: auto;
	}
	
	.featuretext {
		width: 100%;
		margin-top: 245px;
		padding: 10px 20px;
		border-radius: 0;
		background: rgba(247,243,235,0.9);
	}
	
	.featuretext h3 {
		font-size: 18px;
	}
	
	.featuretext h3 span {
		font-size: 14px;
	}
	
	/* //new */
	
	.operationmenu {
		margin-bottom: 40px;
		justify-content: space-around;
	}
	
	.operationmenu:before {
		width: 45%;
	}
	
	.operationmenu img {
		width: 100%;
		height: auto;
	}
	
	.operationbox {
		padding-bottom: 30px;
	}
	
	.operationbox h2 {
		text-align: center;
		font-size: 24px;
		padding: 15px 20px; 
	}
	
	.operationcatch:before {
		width: 44%;
	}
	
	.operationcatch p {
		text-align: center;
		font-size: 18px;
		padding: 3px 10px;
		width: 45%;
	}
	
	.operationdes {
		padding: 10px;
		background: inherit;
		margin: 20px 0 0 0;
		width: 40%;
		color: #333;
	}
	
	.information {
		padding: 0;
		margin-bottom: 40px;
	}
	
	.information h2 {
		margin-bottom: 0;
	}
	
	.information ul {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.information ul li {
		width: 50%;
		border-radius: 0;
		background: #f7f3eb;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
	}
	
	.information ul li:nth-child(2),
	.information ul li:nth-child(3) {
		background: #fff;
	}
	
	.information ul li:first-child {
		position: relative;
	}
	
	.infoimg {
		width: 40%;
		height: 100px;
		margin-bottom: 0;
	}
	
	.infoimg img {
		width: auto;
		height: 100%;
	}
	
	.infobox li div {
		width: 60%;
	}
	
	.infobox div time {
		font-size: 16px;
		padding: 0 5px;
	}
	
	.infobox li h3 {
		line-height: 1;
		padding: 0 5px;
	}
	
	.infobox h3 a {
		font-size: 18px;
		line-height: 1;
	}
	
	.staff {
		padding: 10px;
		margin-bottom: 40px;
	}
	
	.staffWrap {
		justify-content: space-between;
	}
	
	.staff h2 {
		margin-bottom: 5px;
	}
	
	.staffbox {
		width: 49%;
	}
	
	.staffbox span {
		height: 180px;
	}
	
	.staffname {
		padding: 10px 20px;
		font-size: 18px;
	}
	
	.staffname p:before {
		width: 20px;
	}
	
	.staffname h3 {
		font-size: 24px;
		margin-top: 5px;
	}

    .staffdetailbox a {
        padding: 5px 55px;
    }
	
	.contactbox {
		width: 70%;
		padding: 28px 10px 35px;
	}
	
	.contactbox {
		border-bottom: 3px solid #b54f2c;
	}
	
	.contactbox:before {
		font-size: 62px;
	}
	
	.contactbox h2 {
		font-size: 24px;
	}
	
	.contactbox p {
		font-size: 32px;
	}
	
	.contactbox p .pcnone {
		display: block;
		text-align: center;
		margin-top: -5px;
	}
	
	.contactbox p .pcnone a {
		padding: 10px 45px;
		font-size: 16px;
		font-weight: bold;
		border-radius: 5px;
		color: #f7f3eb;
		background: #b54f2c;
	}
    
    footer {
        padding-bottom: 89px;
    }
	
	.footerbg {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 20px 20px 10px;
		align-items: center;
        
	}
	
	.footernav {
		width: 30%;
		padding: 20px 10px;
		box-sizing: border-box;
	}
	
	.fnav {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	
	.footernav li {
		padding: 0 5px;
	}
	
	.groupname {
		width: 70%;
		margin-bottom: 0;
	}
	
	.groupname a img {
		width: 200px;
		margin-bottom: 0;
	}
	
	.groupname span {
		font-size: 16px;
	}
	
	.groupcom {
		position: relative;
		box-sizing: border-box;
		right: inherit;
		bottom: inherit;
		margin-top: 10px;
	}
	
	footer small {
		width: 100%;
		padding-right: 0;
	}
    
    .offer_choice li {
        width: 46%;
        box-sizing: border-box;
    }
    
    .offer_choice li a {
        background: url("images/telicon.png") no-repeat 10px center #fff;
        -webkit-background-size: 35px;
        background-size: 35px;
    }
    
    .offer_choice li.offer_web a {
        background: url("images/line_icon.png") no-repeat 13px center;
        -webkit-background-size: 50px;
        background-size: 50px;
    }
    
    .offer_choice li span {
        font-size: 24px;
        line-height: 1.4;
    }
    
    .offer_choice li.offer_web a span {
        font-size: 20px;
    }
	
	/* 施術メニューページ */
	.menulist h2 {
		font-size: 32px;
	}
	
	.p-menubox {
		width: 60%;
		margin: 0 auto;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.p-menubox .p-menutitle {
		width: 40%;
	}
	
	.p-menubox .p-menuosusume {
		width: 50%;
	}
	
	.p-menuprice {
		width: 100%;
		margin-top: 20px;
	}
	
	/* STAFF */
	.greetingimg .flexstyle {
		height: 300px;
	}
	
	.greetingtext {
		width: 100%;
	}
	
	.p-staffdetail {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.p-staffdetail span {
		height: 260px;
	}
	
	.p-staffname {
		width: 80%;
	}
	
	.p-staffcontent {
		width: 80%;
	}
	
	.categorytitle {
		height: 360px;
	}
	
	.entry {
		margin: -40px 10px 60px;
		max-width: 100%;
	}
	
	.singletitle span {
		height: 350px;
	}
	
	.singlemain {
		padding: 0 10px;
	}
	
	.singlemain h2 {
		margin: 40px 0 20px 0;
	}
	
	/* 患者さんの声ページ */
	.p-voice {
		width: 75%;
		margin: 30px auto 60px;
	}
	
	.p-voicebox {
		width: 100%;
		margin-bottom: 40px;
	}

	.p-voicebox .flexstyle {
		height: 320px;
	}
	
	/* single */
	
	.singletitle h1 {
		padding-top: 20px;
		margin-bottom: 30px;
		font-size: 24px;
	}
	
}
	
/* デバイスサイズ 〜480px　-smartphone- */

@media print, screen and (max-width: 480px) {
	
	p,
	li {
		font-size: 16px;
	}
	
	h2,
	h2 a,
	h2 span {
		font-size: 26px;
	}
	
	h3,
	h3 a,
	h3 span {
		font-size: 18px;
	}
	
	.smanone {
		display: none!important;
	}
	
	.headtitle a img {
		width: 180px;
		vertical-align: middle;
	}
	
	.opennav span,
	.opennav span:before,
	.opennav span:after {
		height: 2px;
		width: 26px;
		top: 18px;
	}
	
	.opennav span:before {
		top: 8px;
	}
	
	.opennav span:after {
		top: 16px;
	}
	
	.smanav div > a {
		font-size: 24px;
	}

	#loader img {
		width: 32px;
		height: 32px;
		margin: 0 auto;
	}

	#loader p {
		font-size: 24px;
		margin: 10px 0;
	}
	
	.pv {
		padding: 35px 20px 20px;
	}
	
	.pv:before {
		width: 50%;
		-webkit-transform: translate(0%) skewX(-24deg);
		-ms-transform: translate(0%) skewX(-24deg);
		transform: translate(0%) skewX(-24deg);
	}
	
	.pv:after {
		width: 25%;
		-webkit-transform: translate(0%) skewX(-24deg);
		-ms-transform: translate(0%) skewX(-24deg);
		transform: translate(0%) skewX(-24deg);
	}
	
	.catchcopy div:before {
		height: 180px;
	}
	
	.catchcopy p {
		font-size: 32px;
	}
	
	.catchcopy .catch4 {
		margin-top: 10px;
		font-size: 18px;
	}
	
	.catchcopyWrap > p {
		bottom: 10px;
		font-size: 20px;
	}
	
	.concept {
		margin-bottom: 0;
		padding-bottom: 60px;
	}
	
	.concept h2 {
		padding: 15px 5px;
	}
	
	.concepttext div {
		padding: 10px 10px 20px;
	}
	
	.concepttext h3 {
		margin-bottom: 10px;
	}
	
	.concepttext ul {
		margin: 10px 0;
	}
	
	.concepttext ul li {
		font-size: 16px;
		color: #f7f3eb;
	}
	
	.feature {
		padding: 10px 10px 0;
		margin-bottom: 20px;
	}
	
	.feature h2 {
		margin-top: 10px;
	}
	
	.featurebox li {
		margin: 10px 0 30px;
	}
	
	.featurebox li:nth-child(even) {
		-webkit-flex-direction: inherit;
		-moz-flex-direction: inherit;
		-ms-flex-direction: inherit;
		-o-flex-direction: inherit;
		flex-direction: inherit;
	}
	
	.featureimg {
		width: 100%;
		height: 200px;
	}
	
	.featureimg img {
		width: 100%;
		height: auto;
	}
	
	.featuretext {
		width: 100%;
		margin-top: 145px;
		padding: 10px 20px;
		border-radius: 0;
		background: rgba(247,243,235,0.9);
	}
	
	.featuretext h3 {
		font-size: 18px;
	}
	
	.featuretext h3 span {
		font-size: 14px;
	}
	
	.patientvoice {
		margin-bottom: 30px;
	}
	
	.voicebox {
		width: 100%;
		margin-top: 5px;
		padding: 10px 20px;
	}
	
	.voicebg img {
		width: 100%;
		height: auto;
	}
	
	.voicebox ul li {
		font-size: 16px;
	}
	
	.voicebox h3 {
		margin-bottom: 10px;
	}
	
	.voicebox span {
		font-size: 16px;
		padding-bottom: 25px;
		background-size: 25px 25px;
	}
	
	.operationmenu {
		margin-bottom: 20px;
		align-items: flex-end;
	}
	
	.operationmenu:before {
		content: none;
	}
	
	.operationmenu > .pcnone {
		display: block;
	}
	
	.operationmenu img {
		height: 100%;
		width: auto;
		top: 15px;
	}
	
	.operationbox {
		padding-bottom: 0;
		height: 300px;
	}
	
	.operationmenu h2 {
		width: 100%;
		font-size: 26px;
		padding: 0 10px;
		background: #4ca870;
		color: #f7f3eb;
	}
	
	.operationcatch p {
		width: 100%;
		text-align: center;
		font-size: 16px;
	}
	
	.operationcatch:before {
		content: none;
	}
	
	.operationdes {
		display: none;
	}
	
	.operationmenu .operationbox .smanone {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0;
		position: absolute;
		bottom: 10px;
	}
	
	.operationmenu .operationbox .smanone a {
		font-size: 16px;
		padding: 10px 20px;
	}
    
    .offer {
        padding: 20px 10px;
        box-sizing: border-box;
    }
    
    .offerouter {
        padding: 10px 15px;
    }
    
    .offer h2 {
        font-size: 20px;
    }
    
    .offerouter .offerbox .flexstyle {
        flex-direction: column;
        padding: 15px;
    }
    
    .general {
        font-size: 20px;
        width: 100%;
        text-align: left;
    }
    
    .offerprice {
        font-weight: bold;
        font-size: 52px;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    
    .offerprice span {
        font-size: 24px;
    }
    
    .offerprice strong {
        padding-left: 35px;
    }
    
    .offerprice strong:before {
        border-width: 18px 0 18px 24px
    }
    
    .offercomment {
        font-size: 12px;
    }
    
    .offercontact a {
        width: 100%;
        padding: 5px 10px;
    }
	
	.infomation {
		margin-bottom: 30px;
	}
	
	.information ul {
		width: 75%;
		margin: 0 auto;
	}
	
	.information ul li {
		width: 100%;
	}
	
	.infobox li time {
		display: block;
		text-align: center;
	}
	
	.infobox li h3 {
		line-height: 1.4;
		padding: 0 0 0 5px;
	}
	
	.infobox li h3 a {
		font-size: 16px;
	}
	
	.information ul li:nth-child(3) {
		background: #f7f3eb;
	}
	
	.infobox li:nth-child(4) {
		background: #fff;
	}
	
	.staffbox span {
		height: 100px;
	}
	
	.staffname {
		padding: 5px;
	}
	
	.staffname p:before {
		bottom: 0;
	}
	
	.staffname h3 {
		font-size: 18px;
		margin-top: 0;
	}
	
	.contactbox:before {
		font-size: 42px;
	}
	
	.contactbox {
		width: 85%;
		padding: 18px 10px 15px;
	}
	
	.contactbox h2 {
		font-size: 18px;
	}
	
	.contactbox p {
		line-height: 1.4;
	}
    
    footer {
        padding-bottom: 80px;
    }
	
	.footerbg {
		padding: 10px 5px;
	}
	
	.footernav {
		width: 100%;
		padding: 10px 5px;
	}
    
    .fnav {
        margin: 0;
    }
    
    .footergroup + nav {
        padding: 10px 5px;
    }
	
	.footernav li {
		line-height: 1.4;
		margin-bottom: 8px;
	}
	
	.footernav li a {
		font-size: 14px;
	}
	
	.groupname {
		width: 60%;
        margin: 0 auto;
	}
	
	.groupname a img {
		width: 160px;
	}
	
	.groupname span {
		font-size: 14px;
		padding-top: 5px;
	}
	
	.groupcom a {
		background-size: 20px 20px;
		font-size: 14px;
		padding: 5px 0 5px 25px;
	}
	
	footer small {
		text-align: center;
		padding-top: 10px;
	}
    
    .offer_choice li {
        width: 48%;
        padding: 10px 5px;
    }
    
    .offer_choice li a {
        background: none;
    }
    
    .offer_choice li.offer_web a {
        background: none;
    }
    
    .offer_choice li h3 {
        font-size: 18px;
        text-decoration: underline;
        font-weight: bold;
        padding: 12px 5px 12px 20px;
        text-align: center;
        background: url("images/telicon.png") no-repeat 8px center #fff;
        -webkit-background-size: 20px;
        background-size: 20px;
        border-radius: 50px;
    }
    
    .offer_choice li.offer_web a h3 {
        background: url("images/line_icon.png") no-repeat 5px center;
        -webkit-background-size: 30px;
        background-size: 30px;
    }
	
	/* お問い合わせページ */
	.page h1 {
		font-size: 24px;
		margin-bottom: 15px;
	}
	
	.openhead {
		font-size: 18px;
	}
	
	.open_title {
		width: 92%;
		font-size: 16px;
	}
	
	.opentitle {
		width: 92%;
		font-size: 16px;
	}
	
	.openhours .flexstyle {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		width: 95%;
		border: 2px solid #f7f3eb;
	}
	
	.openhours dl {
		font-size: 16px;
	}
	
	.openhours dl dl {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	
	.openhours > dl > dt {
		border-right: none;
		border-bottom: none;
		border-top: 2px solid #f7f3eb;
	}
	
	.openhours > dl > dt:first-child {
		border-right: 2px solid #f7f3eb;
		border-bottom: 2px solid #f7f3eb;
	}
	
	.openhours dl dl dt,
	.openhours dl dl dd {
		width: 33%;
	}
	
	.contactpage .contactbox {
		width: 100%;
		padding: 16px 10px 20px;
	}
	
	.contactpage .contactbox:before {
		font-size: 42px;
	}
	
	.contactpage .contactbox h2 {
		font-size: 18px;
	}
	
	.contactpage .contactbox p {
		font-size: 14px;
	}
	
	.contactaccess ul li {
		font-size: 16px;
		background: url("images/li_icon.png") no-repeat left 5px;
	}
	
	/* 施術メニューページ */
	
	#post-12 .pagetitle {
		margin-bottom: 20px;
		height: 100%;
	}
	
	#post-12 .pagetitle h1 {
		margin: 0;
		padding: 0 10px;
		background: #fff;
	}
	
	#post-12 .pagetitle .flexstyle {
		position: relative;
		height: 100%;
	}
	
	.menulist h2 {
		font-size: 24px;
		padding-left: 15px;
		margin-bottom: 15px;
	}
	
	.menulist ul li {
		font-size: 14px;
	}
	
	.s-menulist {
		padding: 0 10px;
	}
	
	.s-menulist h3 {
		font-size: 18px;
	}
	
	.s-menulist > h3 {
		margin-bottom: 10px;
	}
	
	.p-menubox {
		width: 100%;
	}
	
	.p-menubox .p-menutitle {
		width: 30%;
	}
	
	.p-menubox .p-menuosusume {
		width: 70%;
		padding-left: 10px;
	}
	
	.p-menuprice {
		margin-top: 10px;
	}
    
    /* pre */
    .prelimit {
        font-size: 24px;
        font-weight: bold;
    }
    
    .prelimit strong {
        font-size: 24px;
    }
    
    .preparts .pretime {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }
    
    .preparts .pretime > li {
        width: 96%;
        margin: 0 auto 10px;
        font-size: 24px;
    }
    
    .preparts .pretime li h3 {
        padding: 5px;
        font-size: 28px;
    }
    
    .preparts .pretime li p.pretime {
        font-size: 28px;
        margin-bottom: 10px;
    }
    
    .preparts .pretime ul {
        display: -webkit-flex!important;
        display: -moz-flex!important;
        display: -ms-flex!important;
        display: -o-flex!important;
        display: flex!important;
        margin-top: 15px;
    }
    
    .preparts .pretime ul li {
        width: 46%;
    }
    
    .preparts .pretime ul li a {
        display: block;
        border-radius: 50px;
        padding: 10px 5px;
        text-align: center;
        background: #de5747;
        color: #fff;
        font-weight: bold;
        font-size: 16px;
    }
    
    .preparts .pretime ul li + li a {
        background: #49cb97;
    }
    
    .preparts .telbutton {
        width: 96%;
        margin: 0 auto 10px;
        background: url("images/tap_icon.png") no-repeat 20px center #de5747;
        background-size: 27px 50px
    }
    
    .preparts .telbutton.linebutton {
        background: url("images/line_icon2.png") no-repeat 20px center #de5747;
        background-size: 40px;
    }
    
    .telbutton {
		width: 100%;
		box-sizing: border-box;
		background: url("images/tap_icon.png") no-repeat 95% center #de5747;
		-webkit-background-size: 27px 50px;
		background-size: 27px 50px;
	}
	
	.campaigntel .telbutton p {
		font-size: 24px;
		padding-top: 10px;
		line-height: 1;
	}
	
	.telbutton span {
		display: block;
		text-align: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		padding-bottom: 10px;
		line-height: 1;
	}
    
    .contact_point {
        width: 100%;
        background: url("images/contactpoint.png") no-repeat left 5px;
        -webkit-background-size: 10px;
        background-size: 10px;
        padding-left: 14px;
        font-size: 12px;
    }
    
    /* campaign */
    .de-cm .cm-detail {
        padding: 30px 10px;
    }
    
    .de-cm h1 {
        font-size: 24px;
        padding: 10px 0;
        margin: 0 10px 30px;
    }

    .de-cm .cm-case h2 span {
        font-size: 16px;
    }
    
    .de-cm .cm-case ul {
        padding: 10px 10px 1px 10px;
        width: 98%;
        box-sizing: border-box;
        font-size: 100%;
    }
    
    .de-cm .cm-case ul li {
        margin: 0 20px 10px 0;
    }
    
    .de-cm .cm-contact {
        padding: 20px 10px;
    }
    
    .de-cm .cm-contact h2 {
        margin-bottom: 20px;
        font-size: 24px;
    }
    
    .de-cm .cm-contactbox {
        padding: 10px;
    }
    
    .de-cm .cm-contact .num-limit span {
        font-size: 18px;
    }
    
    .de-cm .cm-contact .num-limit span strong {
        font-size: 150%;
        line-height: 0;
        padding: 0 5px;
    }
    
    .cm-contact .cm-cta a {
        font-size: 36px;
    }
    
    .de-cm .cm-effect,.de-cm .cm-step {
        padding: 40px 10px;
    }
    
    .de-cm .cm-contact .cm-contactbox h3 {
        font-size: 20px;
    }
    
    .de-cm .cm-contact .cm-contactbox .imgbox {
        margin: 0 0 30px;
    }
    
    .cm-contact .cm-cta a {
        width: 100%;
        line-height: 1.4;
    }
    
    .de-cm .cm-opentime h4 {
        font-size: 16px;
    }
    
    .de-cm .cm-gmap h4 {
        font-size: 16px;
    }
    
    .de-cm .cm-gmap {
        width: 100%;
    }
    
    .de-cm .cm-gmap iframe {
        height: 250px;
    }
    
    .de-cm .cm-effect h2, .de-cm .cm-step h2 {
        margin: 0 0 30px;
        font-size: 24px;
    }
    
    .de-cm .cm-effect div, .de-cm .cm-step div {
        width: 100%;
    }
	
	.categorytitle {
		height: 300px;
		margin-bottom: 10px;
	}
	
	.categorytitle img {
		width: auto;
		height: 100%;
	}
	
	.categorytitle div {
		top: 40px;
	}
	
	.categorytitle h1 {
		font-size: 24px;
		padding: 5px 0 5px 30px;
	}
	
	.categorydes {
		padding: 10px;
		border-radius: none;
	}
	
	.categorypost {
		margin: 0 10px 40px;
		max-width: 100%;
	}
	
	.categorybox {
		width: 100%;
	}
	
	.posttitle {
		height: 250px;
	}
	
	.posttitle h2 a {
		padding: 3px 10px;
	}
	
	.postdes time {
		margin: 10px 10px 5px;
	}
	
	.postdes span a {
		padding: 10px 40px;
	}
	
	.singletitle span {
		height: 220px;
	}
	
	.singlemain {
		padding: 0;
	}
	
	/* STAFF */
	
	.p-staff h2,
	.p-voice h2 {
		font-size: 20px;
		padding-left: 15px;
	}
	
	.greetingimg {
		width: 96%;
		margin: 0 auto 10px;
	}
	
	.greetingimg .flexstyle {
		height: 220px;
	}
	
	.greetingtext {
		padding: 20px 10px;
	}
	
	.p-staffdetail span {
        width: 80%;
		height: 210px;
        margin: 0 auto;
	}
	
	.p-staffname {
		width: 96%;
	}
	
	.p-staffcontent {
		width: 96%;
	}
	
	.p-staffcontent ul li ul li:before {
		top: 9px;
	}
	
	/* 患者さんの声ページ */
	.p-voice {
		width: 96%;
		margin: 30px auto 60px;
	}
	
	.voicelist {
		margin-bottom: 10px;
		padding-bottom: 0;
	}

	.p-voicebox .flexstyle {
		height: 220px;
	}
	
	/* single */
	
	.singletitle h1 {
		text-align: left;
		padding-top: 20px;
		margin-bottom: 30px;
		font-size: 20px;
	}
	
	.singletitle h2 {
		font-size: 20px;
	}
	
	.singlemain .imgbox {
		width: 100%;
	}
	
	.singlemain img {
		margin-bottom: 10px;
	}
	
	.singlemain h4 {
		font-size: 16px;
	}
	
	.singlemain p {
		margin-bottom: 10px;
		font-size: 14px;
	}
	
	.shojobox {
		padding: 10px;
	}
	
	.cm_title strong {
		font-size: 26px;
		margin-bottom: 10px;
	}
	
	.cm_title span {
		font-size: 21px;
		width: 100%;			
	}
	
	.singlemain .cm_p1 {
		font-size: 26px;
		margin-bottom: 40px;
	}
	
	.singlemain .cm_p2 {
		font-size: 160%;
		margin: 0 25px;
		text-align: left;
 	}
	
	.singlemain .cm_p2 span{
		font-size: 208%;
		display: block;
		text-align: center;
	}
	
	.singlemain .cm_p2 span .cm_en {
		font-size: 60%;
		display: inline-block;
	}
	
	.shojotel {
		text-align: center;
	}
	
	.shojotel a {
		width: 100%;
		font-size: 16px;
	}
	
	.shojotime p {
		font-size: 14px;
	}
	
	
}

/*======================================================================
  animation
======================================================================*/

#loader div p {
	-webkit-animation: flash 1.6s ease 0s infinite normal forwards;
	-o-animation: flash 1.6s ease 0s infinite normal forwards;
	animation: flash 1.6s ease 0s infinite normal forwards;
}

.pv:before {
	left: -40%;
	-webkit-animation: triangle1 800ms ease 1.1s 1 normal forwards;
	-o-animation: triangle1 800ms ease 1.1s 1 normal forwards;
	animation: triangle1 800ms ease 1.1s 1 normal forwards;
}

.pv:after {
	right: -20%;
	-webkit-animation: triangle2 800ms ease 4.1s 1 normal forwards;
	-o-animation: triangle2 800ms ease 4.1s 1 normal forwards;
	animation: triangle2 800ms ease 4.1s 1 normal forwards;
}

.catchcopy div:before {
	-webkit-animation: catchcircle 5s ease infinite forwards;
	-o-animation: catchcircle 5s ease infinite forwards;
	animation: catchcircle 5s ease infinite forwards;
}

.catch1,
.catch2,
.catch3,
.catch4,
.catch5,
.catch6,
.catch7,
.catch8 {
	opacity: 0;
}

.catch1 {
	-webkit-animation: tiryouin 2s ease 1.6s 1 normal forwards;
	-o-animation: tiryouin 2s ease 1.6s 1 normal forwards;
	animation: tiryouin 2s ease 1.6s 1 normal forwards;
}

.catch2 {
	-webkit-animation: tiryouin 2s ease 2.1s 1 normal forwards;
	-o-animation: tiryouin 2s ease 2.1s 1 normal forwards;
	animation: tiryouin 2s ease 2.1s 1 normal forwards;
}

.catch3 {
	-webkit-animation: tiryouin 2s ease 2.6s 1 normal forwards;
	-o-animation: tiryouin 2s ease 2.6s 1 normal forwards;
	animation: tiryouin 2s ease 2.6s 1 normal forwards;
}

.catch4 {
	-webkit-animation: tiryouin 2s ease 3.2s 1 normal forwards;
	-o-animation: tiryouin 2s ease 3.2s 1 normal forwards;
	animation: tiryouin 2s ease 3.2s 1 normal forwards;
}

.catch5 {
	-webkit-animation: seitai 6s ease 5.1s 1 normal forwards;
	-o-animation: seitai 6s ease 5.1s 1 normal forwards;
	animation: seitai 80s ease 0s infinite normal forwards;
}

.catch6 {
	-webkit-animation: hari 6s ease 10.5s 1 normal forwards;
	-o-animation: seitai 6s ease 10.5s 1 normal forwards;
	animation: hari 80s ease 0s infinite normal forwards;
}

.catch7 {
	-webkit-animation: seitai 6s ease 16.5s 1 normal forwards;
	-o-animation: seitai 6s ease 16.5s 1 normal forwards;
	animation: machine 80s ease 0s infinite normal forwards;
}

.catch8 {
	-webkit-animation: seitai 6s ease 22.5s 1 normal forwards;
	-o-animation: seitai 6s ease 22.5s 1 normal forwards;
	animation: training 80s ease 0s infinite normal forwards;
}

@-webkit-keyframes catchcircle {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes catchcircle {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0.6;
  }
}

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0.6;
  }
}


@-webkit-keyframes triangle1 {
	from {
		left: -40%;
	}
	to {
		left: 0;
	}
}

@keyframes triangle1 {
	from {
		left: -40%;
	}
	to {
		left: 0;
	}
}

@-webkit-keyframes triangle2 {
	from {
		right: -20%;
	}
	to {
		right: 0;
	}
}

@keyframes triangle2 {
	from {
		right: -20%;
	}
	to {
		right: 0;
	}
}

@-webkit-keyframes tiryouin {
	from {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	to {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes tiryouin {
	from {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	to {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes seitai {
	from {
		opacity: 0;
	}
	5.62% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	7.5% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	15% {
		opacity: 1.0;
	}
	16.9% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@keyframes seitai {
	from {
		opacity: 0;
	}
	5.62% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	7.5% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	15% {
		opacity: 1.0;
	}
	16.9% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@-webkit-keyframes hari {
	from {
		opacity: 0;
	}
	15.6% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	17.5% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	30.6% {
		opacity: 1.0;
	}
	32.5% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@keyframes hari {
	from {
		opacity: 0;
	}
	17.5% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	19.4% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	30.6% {
		opacity: 1.0;
	}
	32.5% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@-webkit-keyframes machine {
	from {
		opacity: 0;
	}
	32.5% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	34.4% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	50% {
		opacity: 1.0;
	}
	51.9% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@keyframes machine {
	from {
		opacity: 0;
	}
	32.5% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	34.4% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	50% {
		opacity: 1.0;
	}
	51.9% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@-webkit-keyframes training {
	from {
		opacity: 0;
	}
	51.9% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	53.8% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	68.1% {
		opacity: 1.0;
	}
	70% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}

@keyframes training {
	from {
		opacity: 0;
	}
	51.9% {
		opacity: 0;
		-webkit-transform: translate3d(6%, -22%, 0);
		transform: translate3d(6%, -22%, 0);
	}
	53.8% {
		opacity: 1.0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	68.1% {
		opacity: 1.0;
	}
	70% {
		opacity: 0;
	}
	to {
		opacity: 0;
	}
}
