/* -------------------------------------------
 Theme Name:   ichi
 Theme URI:    https://seitai-kamui-youtsuu.com/
 Description:  site theme for 整体院神威
 Author:       株式会社メディアエクスプレス
 Author URI:   http://m-express.jp/
 Template:     haru
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.htm
--------------------------------------------*/
/* ============================================== */
/* 共通
/* ============================================== */
body {
	font-family: sans-serif !important;
}
.title-border {
    padding: 10px 0;
	 line-height: 1.8 !important;
	margin-bottom: 25px !important;
}
.arrow  img {
    width: 75px !important;
    margin: 0 auto;	
}
.yellow_line {
    background: -webkit-gradient(linear,left top,left bottom,color-stop(75%,transparent),color-stop(75%,#fef631)) repeat scroll 0 -2px;
    background: linear-gradient(transparent 75%,#fef631 75%) repeat scroll 0 -2px;
    line-height: 1.5 !important;
}
.f32 {
    font-size: 22px;
}
.f34 {
    font-size: 22px;
}
.f38 {
    font-size: 24px;
}
.f42 {
    font-size: 24px;
}


/* ============================================== */
/* ヘッダー
/* ============================================== */
header {
    padding-bottom: 25%;
}

.header-inner {
    height: auto;
    height: initial;
    padding: 5px 0;
    box-shadow: 0 2px 2px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.header-inner .left {
    padding: 0 2%;	
}

.header-inner .left h1 {
    padding-top: 0;
	 width: 50%;
}

.h-add {
	width: 30%;
    padding: 0;	
	 padding-left: 10px;
}

.header-inner .right {
	float: none;
	clear: both;
	padding-top: 0;
}

.header-inner .right li:first-child {
	margin:0 5px 0 0;
}

.header-inner .right .contact img {
    padding: 0;
	margin:0;
}

.header-inner .right ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding-left: 2%;
	 height: 40px;
}

.header-inner .right li {
	height:auto;
	width:auto;
	float: none;
	justify-content: space-between;
	align-items:center;
}

.header-inner .right li img {
    width: 100%;
}

.header-inner .right li:last-child {
    float: none;
}

.header-inner .left .sp-only{
    width: auto;
    margin: 0;
    padding: 5px 0;
	align-items:center;
	height:auto;
}

/* ============================================== */
/* グローバルナビ
/* ============================================== */
/* トグルボタン */
.drawer--right .drawer-hamburger {
    z-index: 999!important;
    padding: 4px 2px;
    background-image: linear-gradient(to bottom, #fff,#eee);
    background-color: #eee;
    top: 6px;
    right: 10px!important;
    border: 1px solid #bbb;
    border-radius: 4px;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    text-align: center;
    color: #555;
}

.drawer-hamburger .caption {
    font-size: 8px;
    display: block;
}

.drawer-hamburger i {
    font-size: 22px;
}

/* トグルボタン（メニューオープン時） */
.drawer--right.drawer-open .drawer-hamburger i::before {
    content: "\f00d";
}

.drawer--right.drawer-open .drawer-hamburger .caption {
    font-size: 0;
}

.drawer--right.drawer-open .drawer-hamburger .caption::before {
    content: 'CLOSE';
    font-size: 8px;
}

.drawer--right.drawer-open .drawer-hamburger {
    right: 16.25rem!important;
    top: 2px!important;
}

/* ナビゲーション部分 */
.drawer-nav {
    z-index: 999!important;
    background: transparent!important;
}

.drawer-menu {
    box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.2);
    background: #fff;
}

.drawer-menu li {
    padding: 0.5em 0.5em 0.5em 2.3em;
    position: relative;
}

.drawer-menu li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0.8em;
    transform: translateY(-50%);
    background: #2f6eb4 linear-gradient(to bottom,#4b92f2,#0d5db6);
    width: 0.8em;
    height: 0.8em;
    border-radius: 50%;
}

.drawer-menu li+li {
    border-top: 1px solid #ddd;
}

.drawer-menu li a {
    color: inherit;
    text-decoration: none;
    display: block;
    font-size: 1rem;
}
/* ============================================== */
/* メインビジュア
/* ============================================== */
#mainvisual {
    padding: 0;
}

#mainvisual .container-fluid {
    background-position: -314px 107px;
    background-size: cover;
}

/* ============================================== */
/* NEWS
/* ============================================== */
	section#news {
    font-size: 16px;
	}
	#news .container-fluid {
    padding: 25px 0 5px !important;
	}
	#news .container {
    padding: 20px 15px 0;
	}
	#news h3{
    padding: 13px 10px;
    font-size: 18px;
    line-height: 1.5em;
	}
	#news h3:before, #news h3:after {
    display: none;
	}
	#news .news-detail {
    padding: 25px 20px 5px;
    font-size: 16px;
	}
	#news p.font-bold {
    margin-bottom: 15px;
	}
	#news .news-detail-txt {
	padding-left: 0px;
	}

/* ============================================== */
/* radio
/* ============================================== */
#radio, #radio-02 {
    padding: 30px 0px 10px;
}	

section#radio img, section#radio-02 img {
    width: 73%;
}

section#radio h3 span, section#radio-02 h3 span {
    font-size: 22px;
}

section#radio span.mb40, section#radio-02 span.mb40 {
    margin-bottom: 12px !important;
}

#radio p.center, #radio-02 p.center {
	margin-bottom: 10px;
    padding: 0px 10px;
}

#radio .radio-logo {
    max-width: 250px;
    margin: 0px auto 10px;
}

#radio-02 p.f40 {
    font-size: 20px;
}

/* ============================================== */
/* 雑誌掲載
/* ============================================== */
#magazine {
    padding: 30px 0px 10px;
}	

#magazine .container02 {
    padding: 20px 10px;
	margin-bottom: 15px !important;
}

section#magazine img {
    width: 85%;
}

section#magazine h3 span {
    font-size: 22px;
}

#magazine img:first-child {
    padding-right: 0px;
}

/* ============================================== */
/* 当院独自の治療療法
/* ============================================== */
#original {
    padding: 20px 10px !important;
}

/* section#original h3 {
    text-align: left;
}*/

#original p.ttl {
    min-height: auto;
}

#original img {
    /*width: 280px;
    float: none;*/
	 width: 100px;
    margin: 0px auto 20px;
}

#original .container02 {
    padding: 30px 10px 10px;
}

#original .container02 p {
    margin-bottom: 20px;
}

#original p {
    padding-left: 0px;
}

#original .f22 {
    font-size: 18px;
}


/* ============================================== */
/* お客様の声（共通）
/* ============================================== */
.voice-container {
    padding-bottom: 0;
	 background: #72afd8;
}

.voice-block iframe {
    max-width: 100%;
    height: 200px;
    width: 100%;
}

.voice-block .qa-list dt {
    margin-bottom: 0;	
    font-size: 16px;
}

.voice-block .qa-list dd {
    margin-bottom: 0;	
    font-size: 14px;
	padding: 10px;
}

.readmore-button {
}

.readmore-button.show {
}

.readmore-button.show::before {
    bottom: 0;
}

/* ============================================== */
/* お客様の声（上部）
/* ============================================== */
#voice {
    padding-top: 0;
	 /*background-color: #0a529c !important;*/
}
#voice .container {
    padding: 0px 0;
}
#voice .container-fluid{
    padding: 0px 0 30px !important;
}

#voice h2 {
    padding: 40px 1em 15px;
    line-height: 1.3;
}

#voice h3, #voice3 h3, #voice-bottom h3, #voice-bottom2 h3{
	font-size: 1.1em;
	padding: 15px 10px;
    border-radius: 10px 10px 0 0;
}

h3.voice-ttl-box span {
    font-size: 1em;
}

#voice .name , #voice2 .name{
	font-size:18px;
    padding-top: 10px;
}
.voice-container .voice-block {
   padding: 3% 10px 15px 10px;
	margin-bottom:20px;
    border-radius: 0;
	background: #eff8fc !important;
}

.voice-container .voice-inner {
	padding: 0;
}
.youtube2 {
	padding-bottom: 74.25%;
    border-radius: 0 0 10px 10px;
}

#voice-bottom .container-fluid {
    padding: 35px 0 35px !important;
}

#voice-bottom2 .container-fluid {
    padding: 0px 0 35px !important;
}

/* ============================================== */
/* お客様の声（中部）
/* ============================================== */
/*#voice4 {
    padding-top: 0;
}
#voice4 .container {
    padding: 0px 0;
}
#voice4 .container-fluid{
    padding: 0px 0;
}
#voice4 h2 {
    padding: 20px 10px;
}
#voice4 h2 img{
    width: 34%;
}
#voice4 .name , #voice2 .name{
	font-size:18px;
    padding-top: 10px;
}
.voice-container .voice-block {
   padding: 3% 10px 15px 10px;
	margin-bottom:20px;
    border-radius: 0;	
}*/

/* ============================================== */
/* お客様の声（下部）
/* ============================================== */
#voice2, #voice4, #voice5 {
    padding-bottom: 1px;
	 /*background-color: #0a529c !important;*/
}

#voice2 .container-fluid, #voice4 .container-fluid, #voice5 .container-fluid {
    padding-bottom: 0px;
    padding-top: 0; 
}

#voice2 .container, #voice4 .container, #voice5 .container {
	display: block;
}

#voice2 .voice-block, #voice4 .voice-block, #voice5 .voice-block {
	 width: 100%;
    margin: 0;
}

#voice2 header, #voice4 header, #voice5 header {
    padding: 15px 15px;
}

#voice2 .voice-inner iframe, #voice4 .voice-inner iframe, #voice5 .voice-inner iframe {
    height: 200px;
}

#voice2 h2, #voice4 h2, #voice5 h2 {
    /*padding: 15px 10px;*/
	padding: 20px 10px 5px;
	/*background-color: #0a529c;
	background-image: none;*/
    line-height: 1.3;
    margin-bottom: 0px;
    font-size: 24px;
    margin-top: 0;
}

#voice2 header .lead, #voice4 header .lead, #voice5 header .lead {
    font-size: 100%;
}

.voice-ttl {
	padding: 20px 10px 10px;
	font-size: 20px;
}

#voice2 .voice-cont, #voice4 .voice-cont, #voice5 .voice-cont {
	 padding: 1rem 1rem 0rem;
}

/* ============================================== */
/* レスポンスデバイス
/* ============================================== */
.response-device {
    padding: 0 0 25px;
    background: url(images/sp/response/price-sp-back.png) no-repeat;
    background-color: #1e5598;
	display: block;
    margin: 0 auto;
	/*background-attachment: fixed;*/
	background-position: center;
    padding: 0px 0 15px;
}

/* レスポンステキスト */
.response-device-top {
    margin-bottom: 30px;
    padding: 25px 10px 25px;
}
.response-device-top h3 {
    font-size: 25px;
    line-height: 1.4;
}

.gentei {
    font-size: 24px;
    line-height: 1.6;
}

.response-device .f30 {
    font-size: 18px;
}

.response-device .container {
    /* padding: 0px 10px; */
	padding: 30px 10px 0;
}

.response-device h2 {font-size: 190%;}

.response-device h2::after {
}

.response-device img, .response-contact img {
    margin: 5px auto 0;
}

.response-device .info {padding-top: 2em;border-radius: 12px;margin-bottom: 0!important;}
.response-device .info .lead{
    width: -webkit-calc(100% - 30px);
    width: calc(100% - 30px);
    border-radius: 12px;
    font-size: 75%;
    padding: 0.2em;
}
.response-device .info .lead + p{
    font-size: 130%;
    line-height: 1.3;
    margin-bottom: 1em;
}
.response-device .info .lead + p::after{
    transform: translate(-50%,10%);
}
.response-device .info .f61{
    font-size: 230%;
}
.response-contact {
	padding: 0px 7px;
}
.container .sp-tel {
	background: url(images/sp/response/tel.png) no-repeat;
    background-size: 100%;
    margin-top: 20px;
	margin-bottom:10px;
    height: 90px;
    padding-top: 5px;
	line-height: 170%;
}
.container .sp-tel a {
	height: 80px;
	text-decoration: none;
    font-weight: bold;
    color: #0b5078;	
    font-size: 34px;
}

.response-contact a.response-tel img {
    width: 100%;
}

section.response-device .come img {
    margin: 5px auto 20px;
}

.response-device .line {
    width: 95%;
    background-position: 3% 4%;
}
.response-device .ttl{
	background-color: #244c71;
	color: white;
	padding: 0px 8px;
	font-size: 14px;
	font-weight:bold;
	margin-right:10px;
}

.response-device .response-price {
    padding: 8px 8px 5px;
}

.response-contact .float_left {
    width: 100%;
	padding-bottom: 10px;
}	

.response-contact .tel-container {
    width: 100%;
     margin: 20px auto 15px;	
}

.response-contact .time {
	font-size: 18px;
	text-align: center;
    margin-bottom: 10px;	
}

.response-contact .detail {
	font-size: 15px !important;
    line-height: 1.4em;
}

.response-contact .float_right {
	float: none;
	margin: 0 auto;
	width: 50%;
}

p.contact_outer {
    width: 100%;
    padding: 0px 5px;
    background: none;
}

.sp-tel-box {
    background-color: #004166;
    padding: 15px 10px 25px;
}

.response-contact {
    display: block;
}

.res-phone a img {
    width: 97%;
}


/* RADIO ----------------------- */

.radio {
     display: block;
}

.radio h3 {
    border-top: 4px double #fff;
    border-bottom: 4px double #fff;
    font-size: 24px;
    padding: 8px 5px 8px;
}

.radio-l {
    padding-top: 10px;
}

.radio-l-inner {
    padding: 0 5px;
    justify-content: center;
}

p.logo img {
    width: 80px;
}

.radio-txt {
    margin-top: 5px;
    font-size: 21px;
    padding-left: 10px;
    margin-bottom: 10px;
}

p.radio-img {
    padding: 0 25px;
}

p.radio-img img {
    width: 90%;
	 margin: 0 auto 15px;
}

.response-device h4 {
    font-size: 23px;
    text-align: center;
}

.response-price {
    border: 1px solid #fff;
    padding: 5px 8px 8px;
}

.response-price img {
    margin: 0 auto;
}

.gentei {
	margin-bottom: 15px;
    line-height: 1.4;
    padding: 15px 0 18px;
}

.henkin {
    display: flex;
    margin: 0 auto;
    justify-content: center;
}

p.mark {
    padding-right: 10px;
    margin-bottom: 0;
	 width: 30%;
}

.henkin-txt {
    margin-top: 0;
    margin-bottom: 0;
	 align-self: normal;
    font-size: 16px;
    padding-left: 5px;
    line-height: 1.4;
}

.tel-box {
    padding: 35px 0px;
    background-color: #033e5f8c;
    margin: 50px auto 50px;
    width: 900px;
}

.tel-title {
    font-size: 24px;
}

.tel-container p {
    font-size: 20px;
}

.res-contact a {
    font-size: 1.2em;
}

.tel-container .note {
    font-size: 0.8em;
}

/* ============================================== */
/* LINE
/* ============================================== */
.line {
    padding-bottom: 0
}

.line .container-fluid {
    padding-top: 20px;
    padding-bottom: 20px
}

.line .box {
    border-width: 6px;
    border-radius: 6px;
    padding: 15px
}

.line .content {
    min-height: auto;
    background: none;
    font-size: inherit
}

.line .content ul {
    display: block
}

.line .content li {
    line-height: inherit
}

.line .content li+li {
    margin-top: 20px;
    margin-left: 0
}

.line .phone {
    width: 60px;
    position: static;
    float: left;
    margin-right: 15px
}

.line h3 {
    padding-left: 0;
    font-size: 18px;
    line-height: 1.3;
    height: auto
}

/* ============================================== */
/* お悩み
/* ============================================== */
#trouble .container {
    padding-top: 30px;
    margin-bottom: 30px;
}
#trouble >.container{
    padding-bottom: 0;
}
#trouble .container p {
    line-height: 1.7;
}
#trouble h2 {
    line-height: initial;
}

#trouble p {
    line-height: 1.3;
}
#trouble p:last-of-type{
    margin-bottom:0;
}

#trouble img {
    width: 45%;
}

#trouble .teian {
	padding: 20px 5px 10px;
	font-size: 16px;
}

/* チェックリスト */
.check-container {
    padding: 25px 10px 20px;
    font-size: 100%;
}

.check-container li {
	font-size:16px;
	/* background: none; */
    padding-left: 0;
    text-indent: 34px;
    letter-spacing: 0.6px;
}

.check-container li+li {
}

/* 喜びの笑顔 */
#trouble .container-fluid{
}
#trouble .container-fluid h2{
    text-align:center;
    font-size: 190%;
    line-height: 1.3;
    position: relative;
}
#trouble .container-fluid h2 img{
    position: absolute;
    top: 100%;
}

#trouble .container-fluid h2 img:first-of-type{left: 0;}
#trouble .container-fluid h2 img:last-of-type{right: 0;}
#trouble .gallery{
    margin-top: 54px;
}
#trouble .gallery .item{
    width: 49%;
}

#trouble .f26 { font-size:17px; margin-bottom:0px;}

#trouble .title-border-sub { font-size:20px;}

.last {
	 line-height: 2 !important;
}

#trouble p.trouble-txt {
    padding: 5px 3% 0px;
}


/* ============================================== */
/* 初回限定価格
/* ============================================== */
#discount {
    padding-bottom: 30px;
}

#discount p.if {
	font-size: 18px;
}

#discount .price_box {
	display: block;
}	
#discount .price_l {
	margin-bottom: 0;
    padding: 13px 10px 8px;
    height: auto;	
    font-size: 22px;
	width: 100%;
}

#discount .price_r {
    padding: 20px 20px 10px;
    border-left: #d2d2d2 1px solid;
    border-right: #d2d2d2 1px solid;
    border-bottom: #d2d2d2 1px solid;
    border-top: none;
	width: 100%;	
	height: auto;
}	
#discount .price_r p {
	font-size: 18px;
	margin-bottom: 10px !important;
}	

#discount p.but {
	font-size: 20px;
}

#discount .yellow_line {
    line-height: 1.4;	
}

#discount .heading {
    margin-top: 20px;
    line-height: 1.6;
}

#discount .container {
	padding-bottom: 5px;
}

#discount .mb50 {
    margin-bottom: 30px;
}


/* ============================================== */
/* なぜ1980円
/* ============================================== */
#discount .discount-p-sub {
	font-size: 0.8em;
	text-align: center;
}

#why .container {
    padding: 35px 0 20px;
}

#why .why-txt {
	font-size: 16px;
	line-height: 1.7;
}

#why p.title-border {
	font-size: 18px;
	line-height: 1.7;
}
#why .sp-container .sp-box {
    width: 100%;
    margin-top: 0;
    padding: 0px 3%;
}

#why .sp-container .sp-box p {
	text-align: left;
	font-size: 18px;
	line-height: 1.7;
}	

#why .sp-container .sp-box img {
	margin-bottom: 20px !important;
}	

#why .tokuten {
	font-size:22px;
}

#why p.title-border {
	font-size: 22px;
	line-height: 1.7;
}

/* ============================================== */
/* 特典
/* ============================================== */

#special .container, #check-box .container {
    padding: 20px 3%;
}
#special .check-container, #check-box .check-container{
	height: auto;
}
#special .container .f24, #check-box.container .f24 {
	font-size:18px;
}
#special .container .f48, #check-box .container .f48 {
	font-size:22px;
}
#special .container .mb60, #check-box .container .mb60 {
	margin-bottom:20px!important;
}
#special p.title-border, #check-box p.title-border {
	font-size: 18px;
	line-height: 1.7;
}
#special .hosyo-img, #check-box .hosyo-img {
	float: left;
	margin-left: 0;
	padding: 0 10px 10px 0;
	width: 50%;
}
#special .sp-txt, #check-box .sp-txt {
	font-size: 16px;
	line-height: 1.7;	
}
#special .suitable_left,  #special .suitable_right, #check-box .suitable_left,  #check-box .suitable_right {
    width: 100%;
    float: none;
}
#special .check-container, #check-box {
	height: auto;
}

section#check-box {
    height: auto;
}	

.special .item {
    width: 100%;
    margin-top: 3em;
    padding: 4em 1em 2em;
    background-size: 100%!important;
    height: auto;
}

.special .item .head {
    padding-top: 10px;
    padding-left: 64px;
}

.special .item .head small {
}

.special .item h4 {font-size: 120%;}

.special .item p {
    padding: 0;
    font-size: 100%;
}

ul.check-container {
    padding: 20px !important;
}

.lead {
    min-height: auto;
}


/* ============================================== */
/* 施術の流れ
/* ============================================== */
#flow .container{
    padding: 40px 10px 0;
}
#flow .time {
    padding: 25px 20px 5px;
    line-height: 1.7;
	 width: 96%;
    margin: 0px auto;
    background: #f5f5f5 url(../kamui/images/home/flow/ico_clock.png) no-repeat 20px 11px;
    background-size: 50px;
}
#flow .time-ttl {
	 padding-left: 65px;
    font-size: 20px;
}
#flow .mb55 {
	margin-bottom:30px!important;
}
#flow .time li{
    padding-left: 1.5em;
}
#flow .time li:not(:last-child){
    margin-bottom: 1em;
}
#flow .time li::before{
    left: 0.3em;
    transform: translateX(0);
}

#flow section[class^="flow"]{
    padding-top: 0;
	padding-bottom:20px;
}
#flow section[class^="flow"]::before{
    display:none;
}
#flow section h3::before {
    content: attr(data-step) '';
    /* display: block; */
    position: relative;
    /* top: -22px; */
    /* left: -12px; */
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    padding: 3px 12px;
    border-radius: 10px 10px;
    width: 20px;
    line-height: 1;
    margin: 0 12px 0 0;
}
#flow .flow-ttl {
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 0;
    padding: 15px 15px ;
    text-align: left !important;
    border: 1px #1384cf solid;
    line-height: 1.8;
    font-size: 21px;
	margin-bottom: 15px;	
}

#flow .flow-content figure.right, #flow .flow-content figure  {
    width: 100%;
    margin-bottom: 20px;
    float: none !important;
    text-align: center;
}


.flow-content .desc {
    font-size: 16px;
    line-height: 1.8;	
    margin-bottom: 15px;	
}
.flow-content .desc p:last-of-type{
    margin-bottom: 0;
}
.flow-content figure img {
    max-width: 280px;
    float: none;
}

#flow .flow-content{
	   display:block;
	   margin-bottom:0px;
}
#wait .flow-content{
		display: block;
		padding: 25px 0;
		margin:0px auto;
}

#wait .flow-content .title{
		width:100%;
		text-align: center;
		border-right: none;
}
#trouble .subttl2 {
		font-size:20px;
}
.img_center{
		margin: 10px auto 20px;
}
#flow .f24{ 
		font-size:18px;
		line-height: 1.7;
}

/* 3つの特徴 */
#flow .feature figure{
    flex-direction: column;
    padding: 20px 0;
}
#flow .feature figure img{
    width: 100%;
    max-width: 240px;
    margin: 0 auto 15px;
}
#flow .feature figure .desc{
    width: 100%;
}
#flow .feature h2:last-of-type + p{
    text-align: left;
}
#flow h2 {
    margin-bottom: 10px;
}

/* ============================================== */
/* ハイブリッド
/* ============================================== */
section#hybrid {
    padding: 0px 0 0px;
}

section#hybrid .container {
	background: url(https://ichikawashi-seitai.com/wp/wp-content/uploads/2023/09/trouble_back-1.png) no-repeat -65px 5px;
    background-size: 240px;
    padding-top: 32px;
}

section#hybrid h3 {
    letter-spacing: 0.5px;
    text-shadow: 2px 2px #eee;
}

p.kochira {
    font-size: 22px;
    margin-bottom: 0px;
}

section#hybrid .arrow {
    margin-bottom: 5px;
}

section#hybrid .arrow img {
	height: 24px;
}

#hybrid .feature {
    width: calc(100% - 10px);
    padding: 10px 25px;
    margin: 0px auto 0;
}


/* ============================================== */
/* 選ばれる理由
/* ============================================== */
section#reason .container {
    padding: 40px 3% 10px;
}
section#reason .reason-inner {
    margin-bottom: 0px;
}

#reason .heading {padding-top: 40px;}
#reason .heading h2{
    font-size: 24px;
}
#reason .heading h2 .mb55{
    margin-bottom: 0px !important;
}
#reason .heading h2 .numwrap{
    font-size: 120%;
}
#reason p.title-num {
    text-align: center;
}
/*#reason .heading p {
    font-size: 100%;
}*/
#reason .mb55 {
	margin-bottom:20px!important;
}
#reason .container {
	padding-bottom: 0px;
	padding-top: 10px;
}
#reason .container {
	font-size: 16px;
	line-height: 1.7;
}	
#reason .reason-container {
    padding: 15px 0 10px;
}
/* #reason h3::before {
    content: attr(data-step) '';
    display: block;
    position: relative;
    top: -22px;
    left: -12px;
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    padding: 15px 21px;
    border-radius: 10px 10px 0 0;
    width: 95%;
}*/
#reason .reason-ttl {
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 0;
    padding: 10px 10px;
    text-align: left !important;
    border: 1px #1384cf solid;
    min-width: auto;
    width: 100%;
}
#reason .pt50 {
	padding-top: 30px !important;
	margin-bottom: 30px;
}
#reason .r-fl {
    float: none;
    width: auto;
}
#reason .r-fr {
    float: none;
    margin: 0px auto 30px;
    width: 250px;
}
#reason h4 {
    font-size: 22px;
}
#reason h4 span {
    padding: 5px 10px 0px 10px;
    margin-right: 0px; 
}
#reason .title {
    display: block;
}
#reason p.title-num, #reason p.title-num-line2 {
    display: block;
    width: 100%;
    border-radius: 10px 10px 0 0;
    font-size: 25px;
    padding: 0 25px;
    height: 50px;
    line-height: 56px;
}
#reason .feature {
    width: 100%;
    font-size: 1rem;
    margin-top: 0;
    padding: 1rem;
}
#reason h4:first-child {
    margin: 20px 0 20px;
}	
#reason h4 {
    line-height: 1.7;
    margin: 30px 0 20px;
}	


/* ============================================== */
/* 院長紹介
/* ============================================== */
#profile h2{
    font-size: 24px;
	margin-bottom: 10px!important;
}

#profile .container {
    padding: 30px 3% 30px;
}

#profile p:not(.f24) {
    font-size: 16px;
    line-height: 1.8;
}

#profile .prof-box {
    padding: 30px 10px 0px;
    display: block;
	margin-bottom: 30px !important;
}

.prof-box figure {
    width: 100%;
    /* height: 300px; */
    overflow: hidden;
}
#profile .prof-box figure img {
    display: block;
    margin: 0 auto;
    max-width: 230px;
}

.prof-desc {
    width: 100%;
    padding: 1em;
    font-size: 4vw;
}

.prof-desc ul {
}

.prof-desc ul li {
}

.prof-desc ul li::before {
}

#profile .lead {
    letter-spacing: 0;
    font-size: 140%;
}

#profile .desc {
    line-height: inherit;
    font-size: 100%;
}

#profile h4 {
}

#profile h4::after {
}

#profile .f24 {
    text-align: left; 
	 font-size: 20px;
}
	

.prof-box .card-sub {
    padding-left: 0.4em;
}

/* 引用 */
.quotebox {
}

.quotebox h5 {
}

.quotebox h5::before {
    border-top-width: 0.9em;
    border-width: 0.6em;
}

.quotebox h5::after {
    width: 1.2em;
    height: 0.9em;
}

.quotebox p {
}

.quotebox strong.red {
}

.quotebox strong.red::after {
}

/* ============================================== */
/* 推薦の声
/* ============================================== */
#recommend h2 {
	margin-bottom: 30px !important;
}
#recommend .recommend_txt {
    font-size: 16px;
}

.recommend_box .mr40 {
    margin-right: 20px;
}

.recommend_prof .f30 {
	font-size: 20px;
}

.recommend_prof .recommend_title {
	font-size: 16px;	
    margin-bottom: 30px;	
}

.recommend_prof .recommend_title-left {
	font-size: 16px;	
    margin-bottom: 30px;	
}

#recommend .f22 {
	font-size: 18px;
}

/* ============================================== */
/* 適正
/* ============================================== */
#threeway {
    padding: 40px 0;
}

#threeway .container {
    padding: 40px 20px 30px;
}

#threeway h3 {
	font-size: 30px;
	margin-bottom: 30px !important;
}

#threeway h4 {
    font-size: 110%;
}

#threeway .inner {
    padding: 0;
}

#threeway .inner p {
	font-size: 16px;
	line-height: 1.7;
}

#threeway .f32 {
	font-size: 24px;
}

#threeway .f22 {
	font-size: 20px;
}

/* ============================================== */
/* 向いてる向いてない
/* ============================================== */

#suitable .lead{
    font-size: 100%;
	min-height: 100px;
}

#suitable .check-container {
    padding: 1em;
}

#suitable .check-container li {
    background-size: 1em;
}

.suitable_left li, .suitable_right li {
    padding-left: 5px;
}

/* ============================================== */
/* アクセス
/* ============================================== */
#access h2{
    font-size: 28px;
    margin-bottom: 30px !important;
}
#access .container{
   padding: 20px 3% 0;
}

#access .summary {
    display: block;
    padding: 1em;
}

#access .map {
    width: 100%;
    margin-bottom: 20px;
}

#access .map iframe {
}

#access .fumei {
	font-size: 14px;
}

#access .root .step .ttl { 
	font-size: 16px;
}	

#access .text {
    width: 100%;
    padding-left: 0;
}

#access .summary h3 {
    font-size: 110%;
}

#access .summary h3.addr {
}

#access .summary h3.train {
}

#access .summary h3.car {
}

#access .text p {
    padding-left: 2.6em;
}

/* ルート案内 */
#access .root h3 {
    font-size: 110%;
}
#access .root h3 img{
    display: block;
    margin: 10px auto;
    width: 200px;
}
#access .root .subttl{
	padding:5px;
}
#access .f24{
	font-size:18px;
}
.root-container {
    display: block;
    padding: 0.5em 0;
}

.root .step {
    -webkit-flex: 0 1 48%;
    flex: 0 1 48%;
    float: left;
    width: 49%;
    margin-right: 2%;
    margin-bottom:0px;
	min-height: 240px;
}

.root .step:nth-child(2n) {
    margin-right: 0;
}

.root .step img {
}

.root .step .desc {
}

.root .step h4 {
}

.root .step h4::before {
}

.root .step .desc p {
	font-size:14px;
}

/* フッター */
#access .footer p {
    font-size: 100%;
    font-weight: bold;
}

/* ============================================== */
/* Q&A
/* ============================================== */
#question h2 {
    margin-bottom: 30px;
}

#question .container {
    padding-bottom: 10px;
}

.question_box {
    padding: 25px 20px 10px;
}

/* ============================================== */
/* フッター
/* ============================================== */
footer {
}

footer .footer-inner {
    display: block;
}

footer .footer-inner > div {
}
footer .left a {
  color: white;
  text-decoration: none;
}
footer .map {
    width: 100%;
}

footer .map iframe {
}

.footer-menu .menu {
}

.footer-menu .menu-item {
}

/* LINE */
footer .line {
    padding: 0 1.2em;
    background-position: 1.5em 1.5em;
}

footer .line h3 {
    font-size: 4vw;
}

footer .line .content {
    background-size: 120px;
}

footer .line h4 {
}

footer .line .content p {
    padding-right: 120px;
    font-size: 100%;
}

footer .line .addfriend {
    padding-top: 0;
}

/* Facebook */
.fb_iframe_widget {
    overflow: hidden;
    width: 100%;
}

/* ============================================== */
/* 症状別ページ
/* ============================================== */
.single-symptom main {
}

.single-symptom main .blog-content {
}

.single-symptom .blog-container {
}

.single-symptom .media-block {
}

.single-symptom .inner {
}

.single-symptom .inner.fix {
    width: 100%;
}

.single-symptom h2 {
    width: 100%;
}

.single-symptom .voice-inner .left p:first-child {
}

/* ============================================== */
/* フォームページ
/* ============================================== */
.form-contents form {
    width: 100%;
    margin: 0;
}

.form-contents .input {
    width: 100%;
}

.form-contents p.submit {
    padding: 0 0 40px;
}

.form-contents h2 {
    font-size: 21px;
}

.confirm p {
	text-align: left;
}

