/*
Theme Name: KOMAYAMA COUNSELING OFFICE
Author: KOMAYAMA COUNSELING OFFICE
Author URI: http://kco.jp.net/
Description: KOMAYAMA COUNSELING OFFICE original theme
*/


/**
 *  Common
 */


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
	color: #181818;
	background: #f1f1f1;
	line-height: 1.6;
	word-wrap: break-word;
}

html,
body {
	height: 100%;
}

#wrap{
     width: 100%;
     position: relative;
     min-height: 100%;
}

#contents {
     padding-bottom: 220px;
}

a,
a img {
	background-color: transparent;
	transition: all .3s;
	-webkit-transition: all .3s;
	text-decoration: none;
	color: #181818;
}

a:hover,
a:focus,
a:hover img,
a:focus img {
	opacity: .8;
	outline: none;
}

p,
ul,
table,
dl {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.7;
}

p a,
ul a {
	box-shadow: 0 1px 0 currentColor;
}

ul.dots {
	margin: 0 0 0 25px;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}


.clear {
	clear: both;
}

.alignleft {
	float: left;
}

.alignright {
	float: right;
}

.aligncenter {
	margin: 0 auto;
}

img.alignleft {
	margin: 0 25px 30px 0;
}

img.aligncenter {
	margin: 0 auto;
	display: block;
}

.bottom0 {
	margin-bottom: 0 !important;
}

.bottom10 {
	margin-bottom: 10px; !important;
}

.bottom20 {
	margin-bottom: 20px !important;
}

.bottom30 {
	margin-bottom: 30px !important;
}

.bottom40 {
	margin-bottom: 40px !important;
}

.bottom50 {
	margin-bottom: 50px !important;
}

.bottom60 {
	margin-bottom: 60px !important;
}

.text_center {
	text-align: center;
}

.text_right {
	text-align: right;
}

.font12 {
	font-size: 12px;
	font-size: 1.2rem;
}

.font13 {
	font-size: 13px;
	font-size: 1.3rem;
}

.font14 {
	font-size: 14px;
	font-size: 1.4rem;
}

.font_bold {
	font-weight: bold;
}

.font_normal {
	font-weight: normal !important;
}

.en {
	font-family: 'Oswald', sans-serif;
}

.wrapper {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}

.inner {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}

.indent {
	padding: 0 15px;
}

blockquote {
	font-size: 16px;
	font-size: 1.6rem;
	background: #eee;
	padding: 15px;
}

.sp,
.mobile {
	display: none !important;
}


@media screen and (max-width: 999px) {
	
	.pc {
		display: none !important;
	}
	
	.sp {
		display: block !important;
	}
	
	#contents {
		padding-bottom: 0;
	}
	
	.wrapper {
		padding: 0 10px;
	}
	
	img.alignleft {
		margin: 0 15px 15px 0;
	}
	
	img.alignright {
		margin: 0 0 15px 15px;
	}
	
}

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

	.mobile {
		display: block !important;
	}
	
}


/**
 *  Header
 */


.site_header {
	width: 100%;
	height: 90px;
	margin: 0 auto;
	overflow: hidden;
	background: #fff;
}

.site_title {
	float: left;
}

.logo {
	margin: 20px 0 10px 30px;
	float: left;
}

.logo img {
	max-width: 168px;
	width: 100%;
}

.site_title h1 {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	margin: 20px 0 10px 10px;
	display: inline-block;
	line-height: 1.4;
}

.site_title h1 span {
	display: block;
	margin: 0 0 3px;
}

.header_info {
	float: right;
	list-style: none;
}

.header_info li {
	float: left;
}

.header_info li a {
	line-height: 50px;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 0 30px;
	font-weight: 600;
}

.header_info li:first-child a {
	background: #fff url(images/icon_home.png) no-repeat left top;
}

.header_info li:nth-child(2) a {
	background: #2b2b2b;
	color: #fff;
}

.header_info li:last-child a {
	background: #fbd01d;
}

.header_info .arrow,
.row.blog .col4 .more .arrow {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	height: 100%;
}

.header_info .arrow::before,
.row.blog .col4 .more .arrow::before {
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -8px 0 0 -3px;
}

.header_info li:last-child .arrow::before {
	border-top: solid 1px #181818;
	border-right: solid 1px #181818;
}


@media screen and (max-width: 999px) {
	
	.site_header {
		height: auto;
	}
	
	.site_title {
		margin: 0;
		width: 100%;
		float: none;
	}
	
	.logo {
		margin: 0;
		padding: 8px 0 0 15px;
		max-width: 160px;
		float: none;
		height: 60px;
	}
	
	.site_title h1 {
		display: block;
		text-align: center;
		background: #f1f1f1;
		padding: 10px;
		margin: 0;
	}
	
	.site_title h1 span {
		margin: 0;
	}
	
	.header_info {
		max-width: 60px;
		width: 100%;
		height: 60px;
		position: absolute;
		float: none;
		top: 0;
		right: 60px;
	}
	
	.header_info li {
		float: none;
		width: 100%;
	}
	
	.header_info li:first-child a {
		line-height: 60px;
		padding: 0;
		text-align: center;
		background: #fbd01d;
		color: #2d2d2d;
	}
	
}


/**
 *  Navigation
 */

.main_navigation.pc {
	background: #fbd01d;
	clear: both;
	width: 100%;
	display: block;
	margin: 0 0 5px;
	border-top: 5px solid #ecc41d;
	height: 65px;
}

.main_navigation.pc ul {
	list-style: none;
	font-size: 0;
	letter-spacing: -.4em;
	text-align: center;
}

.main_navigation.pc ul li {
	letter-spacing: normal;
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

.main_navigation.pc ul li a {
	display: block;
	padding: 0 10px;
	line-height: 60px;
}

.main_navigation ul a,
.header_info a {
	box-shadow: none;
}

.open {
	display: none;
	background: #fff;
	position: absolute;
	width: 100%;
	top: 60px;
	z-index: 9999;
}

.header_menu {
	list-style: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 60px;
	height: 60px;
	cursor: pointer;
	background: #2d2d2d;
}

.menu_line {
	width: 40px;
	position: absolute;
	top: 5px;
	right: 10px;
    z-index: 11000;
}

.line {
    background: #fff;
    display: block;
    height: 2px;
    margin: 8px 0 0;
    position: relative;
    -webkit-transition: all .5s;
    transition: all .5s;
    width: 100%;
}

.line.top {
	margin: 15px 0 0;
}

.open .main_navigation {
	float: none;
	width: 100%;
	border-top: 5px solid #e1c237;
	border-bottom: 5px solid #f1f1f1;
}


.open .main_navigation ul {
	font-size: 15px;
	font-size: 1.5rem;
	list-style: none;
}

.open .main_navigation li {
	text-align: left;
}

.open .main_navigation li a {
	display: block;
	padding: 5px 0 5px 30px;
	background: #fbd01d;
	font-weight: bold;
	position: relative;
}

.open .main_navigation li a::before {
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 1px #181818;
    border-right: solid 1px #181818;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 15px;
    margin: -3px 0 0 0;
}

.open .main_navigation li.blog a {
	background: #2d2d2d;
	color: #fff;
}

.open .main_navigation li.blog a::before {
	border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

a#scroll-to-top {
	display: none !important;
}


/**
 *  Common Content
 */

.content_wrapper {
	width: 100%;
	position: relative;
	padding: 50px 0 60px;
}

.content_wrapper.bg_white {
	background: #fff;
}

.content {
	padding: 0 0 60px;
}

.content:last-child {
	padding: 0;
}

h2.content_title {
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	padding: 50px 0 60px;
	background: #fff;
	line-height: 1;
	position: relative;
}

h2.content_title .en {
	display: block;
	font-size: 36px;
	font-size: 3.6rem;
	text-transform: uppercase;
	padding: 0 0 20px;
	font-weight: 500;
}

h2.content_title:after {
	content: '';
	width: 100px;
	height: 5px;
	background: #fbd01d;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -50px;
}

h3.content_subtitle {
	background: #fff;
	position: relative;
	text-align: center;
	line-height: 100px;
	margin: 0 0 35px;
	font-size: 20px;
	font-size: 2rem;
}

h3.content_subtitle:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 9px 0 9px;
	border-color: #ffffff transparent transparent transparent;
	bottom: -10px;
	left: 50%;
	margin: 0 0 0 -8px;
}

h3.content_subtitle .icon {
	position: absolute;
	top: 0;
	left: 0;
	border-right: 1px solid #f1f1f1;
	width: 101px;
	height: 100%;
}

h3.underline {
	font-size: 20px;
	font-size: 2rem;
	position: relative;
	padding: 0 0 30px;
	margin: 0 0 40px;
	text-align: center;
}

h3.underline:before {
	content: '';
	width: 45px;
	height: 1px;
	background: #181818;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -22.5px;
}

h4.border_title {
	font-size: 16px;
	font-size: 1.6rem;
	padding: 0 0 0 15px;
	border-left: 1px solid #181818;
	line-height: 1;
	margin: 0 0 20px;
}

ul.disc {
	margin: 0 0 0 25px;
	font-size: 15px;
	font-size: 1.5rem;
	list-style: none;
}

ul.disc li {
	position: relative;
	margin: 0 0 5px;
}

ul.disc li:before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	border: 2px solid #181818;
	position: absolute;
	top: 8px;
	left: -20px;
}

.row {
	letter-spacing: -.4em;
	font-size: 0;
}

.col2,
.col3,
.col4 {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
}

.col2 {
	width: 50%;
}

.col3 {
	width: 33.3333333%;
}

.col4 {
	width: 25%;
}	
	

@media screen and (max-width: 999px) {
	
	h2.content_title {
		padding: 25px 0 30px;
	}
	
	h2.content_title .en {
		font-size: 25px;
		font-size: 2.5rem;
	}
	
	h3.content_subtitle {
		line-height: 1.5;
		padding: 20px 40px;
		margin: 0 0 25px;
		font-size: 18px;
		font-size: 1.8rem;
	}
		
	h3.content_subtitle .icon {
		border-right: none;
	}
	
	h3.content_subtitle .icon img {
		width: 40px;
		height: auto;
		position: absolute;
		top: 50%;
		left: 0;
		margin: -20px 0 0;
	}
	
	.content_wrapper {
		padding: 25px 0 50px;
	}
	
	.content {
		padding: 0 0 50px;
	}
	
}


/**
 *  Pagination
 */


.wp-pagenavi {
	text-align: center;
	margin: 50px 0 10px;
	font-family: 'Oswald', sans-serif;
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: 1px;
}

.wp-pagenavi a, .wp-pagenavi span {
	border: none !important;
	color: #181818;
	padding: 0 8px 10px !important;
	margin: 0 3px !important;
}

.wp-pagenavi span.current {
	font-weight: normal !important;
	color: #181818;
	border-bottom: 2px solid #fbd01d !important;
}


/**
 *  Home
 */

.row.blog {
	border: solid #f1f1f1;
	border-width: 1px 0 1px 1px;
}

.row.blog .col4 {
	position: relative;
	border-right: 1px solid #f1f1f1;
}

.row.blog .col4:nth-child(odd) {
	background: #f9f9f9;
}

.row.blog .col4:nth-child(even) {
	background: #fff;
}

.row.blog .col4 a {
	display: block;
	padding: 0 20px 70px;
	box-shadow: none;
}

.row.blog .col4 ul {
	font-size: 13px;
	font-size: 1.3rem;
	text-align: center;
	padding: 40px 0 30px;
}

.row.blog .col4 ul li {
	display: inline-block;
	line-height: 1;
	padding: 0 10px;
	color: #f7c700;
}

.row.blog .col4 ul li:first-child {
	color: #757575;
	border-right: 1px solid #a0a0a0;
}

.row.blog .col4 h3 {
	font-size: 16px;
	font-size: 1.6rem;
}

.row.blog .col4 .more {
	background: #2d2d2d;
	position: absolute;
	width: 35px;
	height: 35px;
	border-radius: 5px 5px 0 0;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -17.5px;
}

.row.blog .col4 .more .arrow::before {
	top: 50%;
	left: 50%;
	margin: -3px 0 0 3px;
}

.more_link {
	width: 270px;
	margin: 50px auto 60px;
}

.more_link a {
	background: #fbd01d;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 65px;
	border-radius: 10px;
	display: block;
	text-align: center;
}

.more_link a img {
	margin-right: 15px;
}

.row.feature {
	margin: 0 -20px;
}

.row.feature .col3 {
	padding: 0 20px;
	font-size: 15px;
	font-size: 1.5rem;
	margin-bottom: 55px;
}

.row.feature .col3 .icon_img {
	background: #fff;
	width: 140px;
	height: 140px;
	margin: 0 auto;
	border-radius: 50%;
}

.row.feature .col3 h3 {
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	margin: 30px 0 20px;
	height: 60px;
}

.row.feature .col3 ul {
	margin: 0 0 0 25px;
}

.voice_header {
	background: #fbd01d;
	position: relative;
	padding: 30px 20px;
}

.voice_header:before {
	content: '';
	background: url(images/bg_voice.png) no-repeat center center;
	background-size: 100% auto;
	width: 65px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 20px;
}

.voice_header h3 {
	font-size: 18px;
	font-size: 1.8rem;
	margin: 0 0 5px;
	text-align: center;
}

.voice_text {
	padding: 20px 30px 0;
	margin: 0 0 30px;
	background: #fff;
	position: relative;
}

.voice_text:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 9px 10px 9px;
	border-color: transparent transparent #ffffff transparent;
	position: absolute;
	top: -10px;
	left: 50%;
	margin: 0 0 0 -4.5px;
}

.voice_text .link_ye {
	margin: 0 auto;
	text-align: center;
	display: block;
}

.voice_text .link_ye a {
	background: #2d2d2d;
	color: #fff;
	border-radius: 10px 10px 0 0;
}

.voice_text .link_ye a:before {
	border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.content_wrapper .voice_text:last-child {
	margin: 0;
}

.about_intro {
	background: #fbd01d;
	padding: 35px 0;
	margin: 0 0 30px;
	position: relative;
}

.about_intro:before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin: 0 0 0 -9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 9px 0 9px;
	border-color: #fbcf1d transparent transparent transparent;
}

.about_intro p {
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.8;
}

.about_description {
	padding: 0 100px;
}

.about_description p {
	line-height: 1.8;
}

h3.ye_line {
	text-align: center;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 60px 0 40px;
	padding: 0 0 20px;
	position: relative;
}

h3.ye_line.first {
	margin: 0 0 30px;
}

h3.ye_line.en {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 500;
}

h3.ye_line:after {
	content: '';
	width: 45px;
	height: 1px;
	background: #fbd01d;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -22.5px;
}

.row.profile .col2 {
	font-size: 15px;
	font-size: 1.5rem;
}

.row.profile .col2 h4 {
	margin: 0 0 10px;
}

.row.profile .col2 ul {
	margin: 0 0 0 20px;
}

.row.profile .col2 ul li {
	margin: 0 0 5px;
}

.row.profile .col2:first-child {
	padding: 0 30px 0 135px;
	background: url(images/img_profile.png) no-repeat left top;
}

.row.profile .col2:last-child {
	padding: 0 0 0 30px;
}

.message_wrapper p {
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 2;
}

.btn_contact {
	width: 350px;
	margin: 45px auto 0;
}

.btn_contact a {
	background: #fbd01d;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 65px;
    border-radius: 10px;
    display: block;
    text-align: center;
}

.btn_contact a img {
	margin-right: 10px;
}


@media screen and (max-width: 999px) {
	
	.row.blog {
		border-width: 1px 0 0;
	}
	
	.row.blog .col4 ul {
		padding: 20px 0 15px;
	}
	
	.row.blog .col4 {
		width: 100%;
		height: auto !important;
		border-right: none;
		border-bottom: 1px solid #f1f1f1;
	}
	
	.row.blog .col4 a {
		padding: 0 10px;
	}
	
	.row.blog .col4 .more {
		position: relative;
		bottom: auto;
		left: auto;
		margin: 20px auto 0;
		width: 30px;
		height: 30px;
	}
	
	.row.blog .col4 .more .arrow::before {
		margin: -3px 0 0 1px;
	}
	
	.more_link,
	.btn_contact {
		width: 100%;
		padding: 0 10px;
		margin: 20px auto;
	}
	
	.btn_contact {
		padding: 0;
		margin: 20px 0 0;
	}
	
	.more_link a,
	.btn_contact a {
		border-radius: 5px;
	}
	
	.row.feature {
		margin: 0;
	}
	
	.row.feature .col3 {
		display: block;
		width: 100%;
		padding: 0;
	}
	
	.row.feature .col3 .icon_img {
		width: 100px;
		height: 100px;
	}
	
	.row.feature .col3:nth-child(1),
	.row.feature .col3:nth-child(2),
	.row.feature .col3:nth-child(3),
	.row.feature .col3:nth-child(4) {
		margin-bottom: 40px;
	}
	
	.row.feature .col3 h3 {
		height: auto;
		margin: 15px 0 20px;
	}
	
	.voice_header {
		padding: 10px 10px 15px;
	}
	
	.voice_header:before {
		width: 50px;
		right: 10px;
	}
	
	.voice_header h3,
	.voice_header p.font13 {
		margin: 0;
		padding: 0 65px 0 0;
		text-align: left;
	}
	
	.voice_text {
    	padding: 15px 10px 0;
		margin: 0 0 30px;
	}
	
	.about_intro {
		padding: 15px 10px;
		margin: 0 0 30px;
	}
	
	.about_intro p,
	.about_description p {
		text-align: left;
		line-height: 1.6;
	}
	
	.about_description {
		padding: 0;
	}
	
	h3.ye_line {
		margin: 30px 0 20px;
	}
	
	.row.profile .col2:first-child {
		padding: 0;
		width: 100%;
		margin: 0 0 20px;
	}
	
	.row.profile .col2:first-child p {
		padding: 0 0 0 55px;
	}
	
	.row.profile .col2:first-child {
		background: url(images/img_profile.png) no-repeat left 35px;
		background-size: 45px auto;
	}
	
	.row.profile .col2:last-child {
		padding: 0;
		width: 100%;
	}
	
	.message_wrapper p {
		text-align: left;
		line-height: 1.6;
	}
	
	
}


/**
 *  About Therapy
 */

.row.therapy {
	margin: 20px 0 40px;
}

.row.therapy .col3 {
	padding: 0 0.5px 3px;
}

.row.therapy .col3 h4 {
	background: #fbd01d;
	text-align: center;
	line-height: 55px;
	font-size: 16px;
	font-size: 1.6rem;
}

.row.therapy .col3 p {
	background: #fff;
	padding: 10px 15px;
}

.flow_wrapper {
	position: relative;
}

.flow_num {
	position: absolute;
	width: 65px;
	height: 65px;
	border-radius: 50%;
	overflow: hidden;
	top: 0;
	left: 0;
}

.flow_num p {
	font-size: 36px;
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 65px;
	position: relative;
	text-align: center;
	z-index: 100;
}

.flow_num:before,
.flow_num:after {
	content: '';
	width: 50%;
	height: 100%;
	position: absolute;
	display: block;
	z-index: 0;
}

.flow_num:before {
	background: #fbd01d;
	top: 0;
	left: 0;
}

.flow_num:after {
	background: #ecc41d;
	top: 0;
	right: 0;
}

.flow_text {
	padding: 0 30px 0 100px;
}

.flow_text h3 {
	padding: 20px 0 30px;
	font-size: 18px;
	font-size: 1.8rem;
}

.flow_arrow{
	position: relative;
	display: block;
	width: 100%;
	height: 100px;
}

.flow_arrow::before{
	content: '';
	width: 18px;
	height: 18px;
	border: 0px;
	border-top: solid 5px #181818;
	border-right: solid 5px #181818;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -9px;
}

.ocd_contact {
	list-style: none;
	overflow: hidden;
	margin: 50px 0 0;
}

.ocd_contact li {
	float: left;
	text-align: center;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: bold;
}

.ocd_contact li:first-child {
	width: 73%;
	border: 2px solid #fbd01d;
	border-radius: 5px 0 0 5px;
	background: #fff;
	padding: 15px 0 0;
}

.ocd_contact li small {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	display: block;
	margin: 5px 0 0;
}

.ocd_contact li:last-child {
	width: 27%;
}

.ocd_contact a {
	line-height: 90px;
	background: #fbd01d;
	display: block;
	border-radius: 0 5px 5px 0;
	position: relative;
}

.ocd_contact a::before {
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-top: solid 1px #181818;
	border-right: solid 1px #181818;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 30px;
	margin: -3px 0 0 0;
}


@media screen and (max-width: 999px) {
	
	.row.therapy {
		margin: 10px 0 50px;
	}
	
	.row.therapy .col3 {
		width: 100%;
		display: block;
		padding: 5px 0;
	}
	
	.flow_num {
		width: 50px;
		height: 50px;
	}
	
	.flow_num p {
		line-height: 50px;
		font-size: 30px;
		font-size: 3rem;
	}
	
	.flow_text {
		padding: 0;
	}
	
	.flow_text h3 {
		padding: 10px 0 30px 65px;
	}
	
	.flow_arrow {
		height: 60px;
	}
	
	.flow_arrow::before {
		top: 30%;
	}
	
	.ocd_contact li {
		width: 100% !important;
	}
	
	.ocd_contact li:first-child {
		padding: 15px 5px;
		font-size: 16px;
		font-size: 1.6rem;
		border-radius: 5px 5px 0 0;
	}
	
	.ocd_contact li small {
		font-size: 13px;
		font-size: 1.3rem;
	}
	
	.ocd_contact a {
		line-height: 80px;
		border-radius: 0 0 5px 5px;
	}
	
}


/**
 *  Price
 */
 
table.price_table {
	border-spacing: 0;
	width: 100%;
	table-layout: fixed;
}

.price_table th,
.price_table td {
	border: solid #f1f1f1;
}

.price_table th {
	background: #fbd01d;
	border-width: 0 0 2px;
	padding: 20px;
}

.price_table td {
	background: #fff;
	border-width: 0 0 2px 1px;
	padding: 20px 30px;
}

table.price_table.price01 th {
	width: 15%;
}

table.price_table.price01 td.text_center {
	width: 30%;
}

table.price_table.price02 th {
	width: 25%;
}

table.price_table.price02 td.text_center {
	width: 30%;
}

table.price_table.price02 td .bottom10 {
	display: block;
}

table.price_table.price03 th {
	width: 30%;
}

table.price_table.price03 td {
	width: 70%;
}

.bg_ye {
	background: #fbd01d;
	font-size: 13px;
	font-size: 1.3rem;
	margin-right: 10px;
	padding: 2px 5px;
}

p.notice {
	position: relative;
	padding: 0 0 0 20px;
}

p.notice:before {
	content: '＊';
	position: absolute;
	left: 0;
	top: 0;
}

.link_contact.bottom {
	margin: 30px 0 20px;
}

.link_contact a {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	display: block;
	text-align: center;
	background: #fbd01d;
	line-height: 65px;
	border-radius: 5px;
	position: relative;
}

.link_contact a:before {
	content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 1px #181818;
    border-right: solid 1px #181818;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 45px;
    margin: -3px 0 0 0;
}

.gray_border {
	border: 5px solid #f1f1f1;
	padding: 40px 0 30px;
}

.gray_table {
	overflow: hidden;
	font-weight: bold;
	list-style: none;
}

.gray_table dt,
.gray_table dd {
	width: 50%;
	line-height: 55px;
	padding: 0 40px;
}

.gray_table dt {
	float: left;
	border-right: 1px solid #fff;
	background: #dadada;
}

.gray_table dd {
	background: #f1f1f1;
	margin: 0 0 0 50%;
}


.gray_table li {
	width: 50%;
	float: left;
	background: #f1f1f1;
	text-align: center;
	font-size: 15px;
	font-size: 1.5rem;
	padding: 20px 0;
}

.gray_table li a {
	display: block;
	box-shadow: none;
}

.gray_table li:first-child {
	border-right: 1px solid #fff;
}

.gray_table li:last-child {
	width: 100%;
	clear: both;
	float: none;
	background: #dadada;
	font-weight: normal;
}


@media screen and (max-width: 999px) {
	
	.price_table td {
		padding: 20px;
	}
	
	table.price_table th,	
	table.price_table td {
		display: block !important;
		width: 100% !important;
	}
	
	.gray_border .inner {
		padding: 0 10px;
	}
	
	.gray_table dt,
	.gray_table dd {
		width: 100%;
		float: none;
		margin: 0;
		line-height: 1.7;
		padding: 15px;
	}
	
	.gray_table li {
		width: 100%;
		float: none;
		padding: 20px 10px;
		margin: 0 0 1px;
	}
	
	table.price_table tr {
		margin: 0 0 15px;
		display: block;
	}
	
	table.price_table td {
		text-align: center;
	}
	
	.bg_ye {
		display: block;
		margin: 0 0 5px;
	}
	
		
}

@media screen and (max-width: 767px) {
	.link_ye.line_link a {
		display: block;
		width: 100%;
		clear: both;
	}
	
	.link_contact.bottom a {
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	.link_contact.bottom a:before {
		right: 25px;
	}

}

@media screen and (max-width: 350px) {
	
	.link_contact.bottom a {
		padding: 0 10px 0 0;
	}
	
	.link_contact.bottom a:before {
		right: 10px;
	}
	
}


/**
 *  Contact
 */

.link_ye a {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    background: #fbd01d;
    line-height: 55px;
    border-radius: 5px;
    position: relative;
	padding: 0 45px 0 25px;
}

.link_ye.center {
	margin: 0 auto;
	text-align: center;
	width: 370px;
	display: block;
}

.link_ye.center a {
	font-size: 16px;
    font-size: 1.6rem;
	line-height: 65px;
	border-radius: 10px;
	display: block;
}

.link_ye a:before {
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 1px #181818;
    border-right: solid 1px #181818;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin: -3px 0 0 0;
}

.indent ul.dots {
	margin: 5px 0 40px 25px;
}

.indent ul.dots li {
	margin: 0 0 5px;
}

.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form textarea {
	border: 3px solid #a3a3a3;
	background: #fff;
	-webkit-appearance: none;
	border-radius: 0;
	width: 100%;
	padding: 20px 30px;
	font-size: 15px;
	font-size: 15px;
	margin: 0 0 20px;
}

.form input:hover,
.form input:focus,
.form textarea:hover,
.form textarea:focus {
	outline: none;
}

.form textarea {
	height: 190px;
}

.form input[type=submit] {
	-webkit-appearance: none;
	background: #fbd01d;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	border: 0;
	border-radius: 0;
	line-height: 60px;
	width: 90%;
	margin: 30px auto;
	display: block;
	cursor: pointer;
}

.row.flow .col4 {
	padding: 0 15px;
	margin: 0 0 50px;
}

.row.flow .col4 .num {
	width: 160px;
	height: 160px;
	margin: 0 auto 20px;
	position: relative;
	overflow: hidden;
	border-radius: 50%;
	text-align: center;
}

.row.flow .col4 .num .en {
	font-weight: 600;
	font-size: 36px;
	font-size: 3.6rem;
	margin: 20px 0 25px;
	line-height: 1;
}

.row.flow .col4 .num h4 {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.3;
}

.row.flow .col4 .num:before,
.row.flow .col4 .num:after {
	content: '';
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -10;
}

.row.flow .col4 .num:before {
	background: #fbd01d;
	left: 0;
}

.row.flow .col4 .num:after {
	background: #ecc41d;
	right: 0;
}

.faq_wrapper {
	margin: 0 0 30px;
}

.wrapper .faq_wrapper:last-child {
	margin: 0;
}

.q_text,
.a_text {
	position: relative;
	padding: 30px 30px 30px 60px;
}

.q_text {
	background: #fbd01d;
}

.a_text {
	background: #fff;
}

.q_text:before {
	content: 'Q';
}

.a_text:before {
	content: 'A';
	color: #fbd01d;
}

.q_text:before,
.a_text:before {
	font-family: 'Oswald', sans-serif;
	font-size: 40px;
	font-size: 4rem;
	font-weight: 700;
	left: 20px;
	top: 50%;
	position: absolute;
	line-height: 1;
	margin: -20px 0 0;
}

.a_text:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 9px 10px 9px;
	border-color: transparent transparent #ffffff transparent;
	position: absolute;
	top: -10px;
	left: 30px;
}

.q_text p {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}


@media screen and (max-width: 999px) {
	
	.link_ye a {
		line-height: 1.5;
		border-radius: 5px;
		position: relative;
		padding: 15px 35px 15px 15px;
	}
	
	.link_ye a:before {
		right: 15px;
	}
	
	.link_ye.center {
		width: 100%;
	}
	
	.link_ye.center a {
		line-height: 65px;
		padding: 0 20px 0 0;
	}
	
	.form input[type=submit] {
		width: 100%;
	}
	
	.row.flow .col4 {
		width: 100%;
		display: block;
	}
	
	.q_text, .a_text {
		padding: 20px 20px 20px 40px;
	}
	
	.q_text:before, .a_text:before {
		font-size: 30px;
		font-size: 3rem;
		left: 10px;
		top: 20px;
		margin: 0;
	}
}


/**
 *  Blog List
 */

.blog_wrapper {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}

.entry_wrapper {
	width: 65%;
	float: left;
}

.ctg_blog {
	border: 1px solid #eee;
	margin: 0 0 50px;
}

.entry_header {
	padding: 30px;
	border-top: 5px solid #fbd01d;
	background: #fff;
}
 
.entry_header h3 {
	font-size: 24px;
	font-size: 2.4rem;
	margin: 30px 0 0;
	font-weight: normal;
}

.entry_header .entry_date {
	font-size: 13px;
	font-size: 1.3rem;
	color: #757575;
	margin: 0 0 20px;
}

.entry_header .entry_date .category {
	color: #f7c700;
}

.tag_blog a {
	display: inline-block;
	font-size: 13px;
	font-size: 1.3rem;
	background: #f1f1f1;
	color: #595959;
	padding: 5px 10px;
	margin: 0 5px 0 0;
}

.ctg_blog .entry_content {
	padding: 30px;
	color: #595959;
	font-size: 15px;
	font-size: 1.5rem;
	background: #f9f9f9;
	overflow: hidden;
}


.ctg_blog a .link_ye {
    font-size: 13px;
	font-size: 1.3rem;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    background: #fbd01d;
	float: right;
    line-height: 55px;
    border-radius: 5px;
    position: relative;
    padding: 0 45px 0 25px;
	margin-top: 20px;
}

.ctg_blog a .link_ye:before {
	content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 1px #181818;
    border-right: solid 1px #181818;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin: -3px 0 0 0;
}


.entry_content h3 {
	font-size: 18px;
	font-size: 1.8rem;
	/*color: #585858;
	background: url(images/bg_h3.jpg) repeat-x left bottom;
	display: inline-block;
	border: 0 !important;
	padding: 0 !important;*/
}


@media screen and (max-width: 999px) {
	
	.entry_wrapper {
		width: 100%;
		float: none;
		padding: 0 10px 50px;
	}
	
	.entry_header,
	.ctg_blog .entry_content {
		padding: 15px;
	}
	
	.entry_header h3 {
		margin: 15px 0 0;
	}
	
	.ctg_blog {
		margin: 0 0 25px;
	}
	
	.ctg_blog a .link_ye {
		display: block;
		width: 100%;
	}

}


/**
 *  Sidebar
 */


#sidebar {
	width: 30%;
	float: right;
}

#sidebar h3 {
	background: #2d2d2d;
	color: #fff;
	line-height: 75px;
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
}

#sidebar .widget-container {
	background: #fff;
	margin: 0 0 30px;
}

#sidebar .widget-container p {
	padding: 0 10px;
	line-height: 1.4;
}

#sidebar .description {
	padding: 20px 0;
}

#sidebar .remarks {
	padding: 20px 0;
	border-top: 1px solid #f1f1f1;
}

#sidebar .remarks p {
	margin: 0 0 8px;
	font-size: 14px;
	font-size: 1.4rem;
}

#sidebar p.s2_message {
	margin: 0 0 20px;
}

#sidebar label,
#sidebar br {
	display: none;
}

#sidebar .subscription input[type=text] {
	-webkit-appearance: none;
	border: 1px solid #a3a3a3;
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	color: #595959;
	padding: 10px 5px;
	margin: 0 0 15px;
	box-shadow: none;
}

#sidebar .subscription input:focus,
#sidebar .subscription input:hover,
#sidebar .searchform input:focus,
#sidebar .searchform input:hover,
.subscribe input:hover,
.subscribe input:focus {
	outline: none;
}

#sidebar .subscription input[type=submit] {
	-webkit-appearance: none;
	border-radius: 5px;
	width: 100%;
	text-align: center;
	background: #fbd01d;
	box-shadow: none;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 45px;
	cursor: pointer;
	border: 0;
	margin: 0 0 20px;
}

#sidebar .side_list {
	list-style: none;
	background: #fff;
	border: solid #f1f1f1;
	border-width: 0 1px;
	margin: 0 0 30px;
}

#sidebar .side_list.ctg li {
	text-align: center;
}

#sidebar .side_list a {
	box-shadow: none;
	display: block;
	border-bottom: 1px solid #f1f1f1;
	padding: 20px;
}

#sidebar .side_list a:hover,
#sidebar .side_list a:focus {
	background: #e3e3e3;
	opacity: 1;
}

#sidebar .side_list h4 {
	font-size: 15px;
	font-size: 1.5rem;
}

#sidebar .searchform {
	border: 1px solid #a3a3a3;
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	background: #fff;
	margin: 0 0 30px;
	overflow: hidden;
}

#sidebar .searchform input[type=search] {
	width: 76%;
	font-size: 14px;
	font-size: 1.4rem;
	color: #595959;
	padding: 15px 10px;
	float: left;
}

#sidebar .searchform input[type=search],
#sidebar .searchform input[type="submit"] {
	-webkit-appearance: none;
	box-shadow: none;
	border: 0;
}

#sidebar .searchform input[type="submit"] {
    background: url(images/icon_search.png) no-repeat scroll center center rgba(0, 0, 0, 0);
    margin-bottom: 0;
    width: 15%;
	height: 45px;
	float: right;
}


@media screen and (max-width: 999px) {
	
	#sidebar {
		width: 100%;
		float: none;
		padding: 0 10px;
	}

}


/**
 *  Single
 */


article.blog {
	background: #fff;
	padding: 30px 30px 50px;
	border-top: 5px solid #fbd01d;
}

.blog .entry_header {
	padding: 0 0 30px;
	border-bottom: 1px solid #f1f1f1;
	border-top: none;
}

.blog .entry_content {
	padding: 30px 0 0;
	font-size: 15px;
}

.single .blog .entry_content p {
	line-height: 2.5;
}

.ssba-wrap {
	padding: 50px 0;
	margin: 40px 0 0;
	border: solid #f1f1f1 !important;
	border-width: 1px 0 !important;
}

.ssba a {
	margin: 0 10px 0 0;
}

.yarpp-related {
	padding: 30px 0 0;
	margin: 0 !important;
}

.home .yarpp-related {
	display: none;
}

.yarpp-related h3.related_title {
	background: #fbd01d;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 55px;
	margin: 0;
	text-align: center;
	display: block;
	color: #181818;
}

ul.post_list {
	list-style: none;
	border-top: 1px solid #f1f1f1;
}

ul.post_list li {
	
}

.yarpp-related ul.post_list li a {
	font-weight: bold !important;
	box-shadow: none;
	display: block;
	position: relative;
	border-bottom: 1px solid #f1f1f1;
	padding: 15px 10px 15px 25px;
	font-size: 16px;
	font-size: 1.6rem;
}

.yarpp-related ul.post_list li a:before {
	content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #181818;
    position: absolute;
    top: 23px;
    left: 5px;
}

.yarpp-related ul.post_list li a:hover {
	background: #fbd01d;
	opacity: 1;
}

.yarpp-related a abbr {
	display: none;
}

.subscribe label {
	display: none;
}

.subscribe input[type=text] {
	width: 100%;
	padding: 10px;
	font-size: 14px;
	font-size: 1.4rem;
	color: #595959;
	margin: 0 0 20px;
	-webkit-appearance: none;
}

.subscribe input[name="subscribe"],
.subscribe input[name="unsubscribe"] {
	-webkit-appearance: none;
	width: 48%;
	border-radius: 5px;
	font-size: 15px;
	font-size: 1.5rem;
	text-align: center;
	border: 0;
	line-height: 50px;
	cursor: pointer;
	margin: 0 0 30px;
}

.subscribe input[name="subscribe"] {
	border: 0;
	background: #fbd01d;
	float: left;
}

.subscribe input[name="unsubscribe"] {
	background: #d1d1d1;
	float: right;
}

.subscribe p {
	clear: both;
}


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

	article.blog {
		padding: 15px 15px 30px;
	}
	
}


/**
 *  Footer
 */

.site_footer {
	padding: 30px 0;
	width: 100%;
	height: 220px;
	background: #2d2d2d;
	clear: both;
	position:absolute;
	bottom:0;
	color: #b6b6b6;
}


.site_footer .widget-area {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 30px;
	letter-spacing: normal;
}

.site_footer .wrapper .widget-area:first-child {
	padding: 0 40px 0 0;
	width: 75%;
}

.site_footer .widget-area:nth-child(2) {
	width: 20%;
}

.site_footer .widget-area h3 {
	font-weight: normal;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0 0 10px;
}

.site_footer .widget-area p {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
}

.ft_info ul {
	font-size: 0;
	letter-spacing: -.4em;
}

.ft_info ul li {
	display: inline-block;
	letter-spacing: normal;
	font-size: 13px;
	font-size: 1.3rem;
	padding: 0 7px;
	margin: 0 0 10px;
	list-style: none;
	border-left: 1px solid #b6b6b6;
	line-height: 1;
}

.ft_info ul li:last-child {
	border-right: 1px solid #b6b6b6;
}

.site_footer p.copy {
	font-size: 12px;
	font-size: 1.2rem;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
}


@media screen and (max-width: 999px) {
	
	.site_footer {
		padding: 20px 0 10px;
		height: auto;
		position: relative;
	}
	
	.site_footer .wrapper .widget-area:first-child,
	.site_footer .wrapper .widget-area:nth-child(2) {
		width: 100%;
		display: block;
		padding: 0 2%;
		margin: 0 0 20px;
	}
	
	.ft_info img {
		max-width: 500px;
		width: 100%;
		margin: 0 auto 30px;
	}
	
	.ft_info ul {
		display: inline;
	}
	
	.ft_info ul li,
	.ft_info ul li:last-child,
	.site_footer .widget-area p {
		border-left: none;
		border-right: none;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	.site_footer p.copy {
		font-size: 11px;
		font-size: 1.1rem;
		padding: 20px 0 0;
	}
	
}