@charset "utf-8"; 
/* -------------------------------------------
 Theme Name:   kamui
 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 {
    border-top-color: #77aad2;
    color: #595757;
	font-size: 18px;
	font-family: sans-serif !important;
}

/* 明朝フォント */
.mincho {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* ホバーエフェクト */
.hover-bright:hover {
    filter: brightness(110%);
}

/* Page Top */
#page-top a {
    background: #1384cf;
    border: 1px solid #fff;
}

#page-top a:hover {
    background-color: #3e84ca;
}

/* 強調 */
strong {
    font-weight: bold;
}

/* 影 */
.t-shadow {
    text-shadow: 1px 1px 1px #1384cf;
}

/* 下線 */
.underbar{
    text-decoration:underline;
}
.border-b {
    border-bottom: 1px solid;
}
/* テーマ用にカラー再定義 */
.transparent{
    color:transparent;
}
.black {
    color: rgb(34,23,21);
}

.orange {
    color: #ed6c00;
}

.light-orange {
    color: #ffbb00;
}

.brown {
    color: #704025;
}
.navy{ color:#244c71; }
.bg-brown {
    background-color: #824121;
}

.bg-orange {
    background-color: #ed6c00;
}

.bg-paleorange {
    background-color: #fdd23e;
}
.pink {
    color:#df828c;
}
.bg-pink {
    background-color:#efc4c5;
}
.bg-deeppink{
    background-color:#e19798;
}
.bg-skyblue {
    /*background-color: #87add7;*/
	background-color: #72afd8;
}
.bg-green {
    background-color: #77aad2;
}
.bg-grey{background-color:#f2f2f2;}
.bg-blue {background-color: #3f85c9;}
.mgreen{color:#3f85c9;}

.blue2 {
    color: #5145a4;
}

.yellow {
    color: #f6e840;
}

.bg-yellow {
    background-color: #fff33f;
	line-height: 1.8;
}
.creamyellow {
    color: #fefedc;
}
.bg-creamyellow {
    background-color: #f6f2e9;
}

.line-green {
    color: #00b900;
}

.red2 {
    color: #d91319;
}

.red_black {
    background: linear-gradient(180deg, #d91319 18%, #595757 68%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 900;
    line-height: 1.2em;
    font-size: 1.1em;
}

.orange_outline {
    color: #ff0000;
    text-shadow: 
    1px  1px 0px #fca928,
   -1px  1px 0px #fca928,
    1px -1px 0px #fca928,
   -1px -1px 0px #fca928;
    font-weight: 500;
    line-height: 1.2em;
    font-size: 1.1em;
}

.yu-mincyou {
	font-family: "游明朝" !important;	
}

span.note {
    font-size: 0.8em !important;
}

.f11{font-size:11px;}
.f12{font-size:12px;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f19{font-size:19px;}
.f21{font-size:21px;}
.f26{font-size:26px;}
.f29{font-size:29px;}
.f32{font-size:32px;}
.f36{font-size:36px;}
.f38{font-size:38px;}
.f42{font-size:42px;}
.f48{font-size:48px;}
.f50{font-size:50px;}
.f53{font-size:53px;}
.f60{font-size:60px;}
.f63{font-size:63px;}
.f65{font-size:65px;}
.mb10{margin-bottom:10px}
.mb50{margin-bottom:50px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px !important;}
.mt40{margin-top:40px;}
.mt60{margin-top:60px;}
.mt80{margin-top:80px;}
.mt90{margin-top:90px;}
.mt100{margin-top:100px;}
.ml20{margin-left:20px;}
.ml50{margin-left:50px;}
.ml60{margin-left:60px;}
.pt5{ padding-top:5px;}
.pt15{ padding-top:15px;}
.pb70{padding-bottom:70px;}
.pb0{padding-bottom:0px!important;}
.pb15{padding-bottom:15px!important;}
.pt40{padding-top:40px!important;}
.pt50{padding-top:50px!important;}
.pt60{padding-top:60px;}
.pt70{padding-top:70px!important;}
.mt-40{margin-top:-40px;}
.cb{    clear: both;}
.bbg{border-bottom:1px solid #008a89;}
.l12{line-height: 1.2;}
.l13{line-height: 1.3;}
.l14{line-height: 1.4;}
.l15{line-height: 1.5;}
.l18{line-height: 1.8;}
.lh130per{line-height: 130%;}
.float_right{float: right;}
.align_left{text-align: left;}

.yellow_line {
    background: -webkit-gradient(linear,left top,left bottom,color-stop(55%,transparent),color-stop(55%,#fef631)) repeat scroll 0 0px;
    background: linear-gradient(transparent 55%,#fef631 55%) repeat scroll 0 0px;
    line-height: 1.5;
}
.t-left {
	text-align: left;
}
.t-right {
	text-align: right;
}

.red_line {
	border-bottom: solid 1px #d91319;
}

.blk_line {
	border-bottom: solid 1px #595757;
}

.font-bold {
	font-weight: bold;
}

/* コンテナ */
/* main [class^="container"] {
    padding-top: 40px;
    padding-bottom: 40px;
}*/

main .container-fluid>.container {
    padding-top: 0;
    padding-bottom: 0;
}
/*.title-border {
display: flex;
align-items: center;
}

.title-border:before,
.title-border:after {
	border-top: 1px solid;
	content: "";
	flex-grow: 1;
}
.title-border:before {
	margin-right: 1rem;
}
.title-border:after {
	margin-left: 1rem;
}*/
.title-border {
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #bbb;	
	line-height: 200%;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}

.title-border-sub {
    border-top: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    line-height: 200%;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    padding: 12px 0 7px;
}

/* ============================================== */
/* ヘッダー
/* ============================================== */
.header-inner {
    padding-top: 20px;
}
.header-inner .left{
    margin-right: 0;
}
.header-inner .left h1 {
    padding-top: 5px;
}

.header-inner .right ul{
    display:flex;
}
.header-inner .right li img {
	width:90%;
}

.header-inner .right {
    float: right;
    padding-top: 15px;
}
.header-inner .right li {
    float: right;
}
.header-inner .right li:first-child {
    margin-right: 0px;
}

.h-add {
	float: left;
	padding: 10px 0 0 12px;
}

.h-add img {
	width: 120px;
}	

/* ============================================== */
/* グローバルナビ
/* ============================================== */
#menu{
    border-color: #bbbbbb;
    /* z-index: 6; */
}
#menu #dropmenu {
    display: flex;
    justify-content: space-between;
    float: none;
}

#menu #dropmenu li {
    float: none;
    padding-right: 0;
}

#menu #dropmenu li a {
    padding-left: 10px;
    padding-right: 10px;
    color: #555555;
}

#menu #dropmenu li:hover a {
    /*background-color: #b4e1fa;*/
	background-color: #95c3e6;
	color: #fff;
}

#menuchange {
	/*background-color: #77aad2;*/
	background-color: #1384cf;
}

#menuchange #dropmenu li a {
    padding: 12px 5px;
}

#menuchange #dropmenu li:hover a {
    background-color: #fff;
    color: #e19798;
}
#menuchange .tel{
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	margin-bottom: 0px;
	text-decoration: none;
}
#menuchange .tel a{
	text-decoration: none;
	color:#ffff;
}
#menuchange .toptel2 .desc {
    color: #fff;
    font-size: 12px;
}
.shadow {
    box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.15);
}

/* ============================================== */
/* メインビジュアル
/* ============================================== */
#mainvisual .container-fluid {
    padding-top: 0px;
	padding-bottom: 0px!important;
	background-color: #fff;
	background-image: url(../kamui/images/mainvisual/main_back.jpg);
	background-repeat: no-repeat;
	background-position-x: center;
	background-size: cover;
}

#mainvisual {
    padding-top: 0;
    padding-bottom: 0;
    background-color: #fff;
    text-align: center;
    /* margin-top: -1px; */
}

#mainvisual img {
    margin-bottom: 0;
    /* width: 100%; */
    height: auto;
    margin: 0 auto;
}

/* ============================================== */
/* NEWS
/* ============================================== */
section#news {
    font-size: 18px;
}

#news .container-fluid {
    padding: 40px 0 40px !important;
}

#news .container {
    padding: 30px 100px 0;
}

#news h3{
    padding: 17px 0;
    margin-bottom: 0;
    /*background-color: #e4f3fd;*/
	 background-color: #e6eff8;
}

#news h3:before {
    content: "ー　";
}

#news h3:after {
    content: "　ー";
}

#news .news-detail {
    padding: 30px 35px 10px;
    margin-bottom: 25px;
    font-size: 17px;
    border: 1px solid #ccc;
}

#news p.font-bold {
    margin-bottom: 10px;
}

#news .news-detail-txt {
	padding-left:19px;
}


/* ============================================== */
/* ラジオ
/* ============================================== */
#radio {
	/*background: #e3eef5;*/
	background: #d3e4f3;
	padding: 60px 0px 40px;
}

#radio-02 {
	padding: 60px 0px 40px;
}


/* ============================================== */
/* 雑誌掲載
/* ============================================== */
#magazine {
	padding: 50px 0px 0px;
	background: #f5f5f5;
}

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


/* ============================================== */
/* 当院独自の治療療法
/* ============================================== */
#original {
	padding: 50px 0 50px;
	background-color: #d4e4f3;
}

#original .container02 {
    background-color: #fff;
	 padding: 40px 40px 20px;
	border-radius: 15px;
}

#original p.ttl {
    padding-left: 16px;
    min-height: 130px;
}

#original p.ttl:before {
    content: attr(data-step) '';
    display: inline;
    position: relative;
    margin-left: -1em;
    margin-right: 0.5em;
    background-color: #3e84ca;
    color: white;
    font-weight: bold;
    font-size: 20px;
    padding: 1px 9px 0;
    border-radius: 25px;
}

#original img {
    /* width: 360px; 
        margin: 30px 0;*/
	 width: 200px;
    float: right;
	 margin: 0 0;
}

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

.contents02-inner {
	display: flex;
}

.contents02-inner-box {
	width: 50%;
}



/* ============================================== */
/* お客様の声（共通）
/* ============================================== */
.voice-container {
    /* background: transparent; */
    padding-bottom: 30px;
}
#voice2 .voice-container .voice-block {
	margin-bottom:30px;
}
.voice-container .voice-block {
   /* padding: 35px 50px 35px 50px;
    border-radius: 15px;
    margin-bottom: 30px;*/
	padding: 0px 70px;
	margin: 0 !important;
}

.voice-block iframe {
    width: 560px;
    height: 315px;
}

.voice .name + small {
    margin-bottom: 10px;
    line-height: 1.3;
    color: #999;
    font-size: .77rem;
    padding: .5em 0;
    display: inline-block;
    width: 100%;
}

.voice-block > .qa-list {
}

.voice-block .qa-list dt {
    background-image: url(../kamui/images/common/q.png);
	background-position-y: 15px;
    border-color: #bbbbbb;
    background-color: #eeeeee;
    border-radius: 6px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.voice-block .qa-list dd {
	font-size:18px;
	line-height: inherit;
}

.readmore-button {
    background-color: #0085d5;
    border-radius: 8px;
    text-decoration: underline;
    padding: 0.3em;
	margin-top: 5px;
    margin-bottom: 0;
}

.readmore-button.show {
    background-image: none;
}

.readmore-button.show::before {
    content: '';
    width: 100%;
    height: 4em;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0em;
    background-image: linear-gradient( 180deg, rgba(255, 255, 255, 0.2), white );
    border-radius: 15px;
}
.voice-container .qa-list dd {
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 15px;
    padding: 10px 10px 10px 0px;
    display: inline-block;
}
#voice, #voice2, #voice3, #voice4 {
	  font-family: sans-serif !important;
}

/* テスト */
h3.voice-ttl-box span {
   /*  background: linear-gradient(180deg, #fff 12%, red 47%, red 69%, #fff 92%) !important;
    background: linear-gradient(180deg, #fff 8%, red 35%, red 64%, #fff 76%, red 96%, red 100%) !important; */
	background:linear-gradient(180deg, #ffce64 12%, #fff 50%,  #ffce64 85%, #ffce64 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 900;
    line-height: 1.2em;
    font-family: "游ゴシック Bold" !important;
    font-size: 1.2em;
}

h3.voice-ttl-box {
    background-color: #5593e0;
   /* background-image: linear-gradient(180deg, #1384cf 0%, #60dce2 52%, #4595e8 100%) !important;*/
	/* background-image: linear-gradient(180deg, #5593e0 0%, #8fc7eb 52%, #4595e8 100%) !important;*/
	background-image:linear-gradient(180deg, #2f9cf0 7%, #44bfee 29%, #61e9f5 47%, #61e9f5 53%, #44bfee 69%, #2f9cf0 98%) !important;
}

/* ============================================== */
/* お客様の声（上部）
/* ============================================== */
.voice {
    overflow: hidden;
	background: #eff8fc;
}

/*#voice h2 {letter-spacing: 0.2em;}*/
/*#voice h2 {
	background-color: #72afd8; 
    background-image: linear-gradient( 
360deg
 , #72afd8, rgb(10, 82, 156));
}

.voice h2 img {
	vertical-align: middle;
	padding: 0 0.7em;
}*/

.voice h2::before {
    -webkit-transform: translate(-0.5em,-50%);
    transform: translate(-0.5em,-50%);
    right: 100%;
}

#voice h2::after {
    -webkit-transform: translate(0.5em,-50%);
    transform: translate(0.5em,-50%);
    left: 100%;
}
.voice-container .left{
    margin-bottom: 1em;
}

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

#voice-bottom .container-fluid, #voice-bottom2 .container-fluid {
	padding: 55px 0 60px !important;
}

#voice .container{
    padding: 0;
}

.voice-container .voice-inner {
	padding: 25px 0;
}

#voice h2 {
    padding: 60px 1.5em 20px;
    line-height: 1.5;
}

.youtube2 {
    border-radius: 0 0 15px 15px;
}

/* ============================================== */
/* お客様の声（中部）
/* ============================================== */
/*#voice4 {
    overflow: hidden;
}

#voice4 h2 img{vertical-align: middle;padding: 0 0.7em;}
#voice4 h2::before {
    -webkit-transform: translate(-0.5em,-50%);
    transform: translate(-0.5em,-50%);
    right: 100%;
}

#voice4 h2::after {
    -webkit-transform: translate(0.5em,-50%);
    transform: translate(0.5em,-50%);
    left: 100%;
}
.voice-container .left{
    margin-bottom: 1em;
}

#voice4 .container-fluid {
    padding: 40px 0 10px;
}

#voice4 .container{
    padding: 0;
}

#voice4 h2 {
    padding: 40px 1.5em 0;
    line-height: 1.3;
}*/


/* ============================================== */
/* お客様の声（下部）
/* ============================================== */
#voice2 {
}

#voice2 .container-fluid, #voice4 .container-fluid {
    padding-top: 0 !important; 
}

#voice2 h2, #voice4 h2, #voice5 h2 {
    /*padding: 5px 0;*/
	 padding: 30px 0 15px;
	 background-color: #72afd8; 
    background-image: linear-gradient( 
360deg
 , #72afd8, rgb(10, 82, 156));
}

#voice2 .head, #voice4 .head, #voice5 .head {
    background: #fff;
    padding: 40px 0;
}

#voice2 .voice-container, #voice4 .voice-container, #voice5 .voice-container {
    padding-top: 25px;
    padding-bottom: 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#voice2 .voice-block, #voice4 .voice-block, #voice5 .voice-block {
    padding: 0;
    flex: 0 1 490px;
    width: 490px;
    margin-top: 0;
    margin-bottom: 40px;
    overflow: hidden;
    background: #fff;
}

#voice h3, #voice3 h3, #voice-bottom h3, #voice-bottom2 h3 {
	border-radius: 15px 15px 0 0;
	font-size: 1.5em;
    padding: 25px;
    min-height: 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #1384cf;
    background-image: linear-gradient( 180deg, rgb(19, 132, 207), rgb(10, 82, 156));
}

#voice .voice-face iframe, #voice2 .voice-face iframe, #voice4 .voice-face iframe, #voice5 .voice-face iframe {
    display: block;
}

#voice .voice-face img, #voice2 .voice-face img, #voice4 .voice-face img, #voice5 .voice-face img {
    width: 100%;
    display: block;
}

#voice .voice-cont, #voice2 .voice-cont, #voice4 .voice-cont, #voice5 .voice-cont {
    /*margin: 45px 10px;
     margin-bottom: 1rem; */
}

#voice2 .voice-inner, #voice4 .voice-inner, #voice5 .voice-inner {
    padding-bottom: 2rem;
}

#voice2 .qa-list, #voice4 .qa-list, #voice5 .qa-list {
    font-size: 16px;
}

#voice2 .qa-list dt, #voice4 .qa-list dt, #voice5 .qa-list dt {
    font-size: inherit;
    padding-left: 2.5em;
    background-size: 1.6em;
    background-position: 8px 12px;
}

#voice2 .readmore-button, #voice4 .readmore-button, #voice5 .readmore-button {
    margin-top: 2rem;
}

#voice2 .readmore-button.show::before, #voice4 .readmore-button.show::before, #voice5 .readmore-button.show::before {
    display: none;
}
/* ============================================== */
/* お客様の声（最後）
/* ============================================== */
#voice3 .container-fluid {
    padding-top: 0;
}

#voice3 header {
    padding-bottom: 1em;
}

#voice3 .container {
}

#voice3 .voice-container+.voice-container {
}

#voice3 .lead {
    margin-bottom: 0;
}

#voice3 h2 {
    display: block;
    margin: 0px auto;
    padding: 40px 1.5em 0;
    font-size: 56px;
	line-height: 1.3;
	margin-bottom: 50px;
}

/* ============================================== */
/* レスポンスデバイス
/* ============================================== */
.response-device {
	 padding-bottom:65px;
    background: url(images/home/response/price-pc-back.png) no-repeat;
    background-color: #1d5396;
    background-attachment: fixed;
    background-size: cover;
    background-position: left;
    display: block;
    margin: 0 auto;
}

/* レスポンステキスト */
.response-device-top {
    padding-top: 65px;
    background-color: #045c94;
    background: linear-gradient(#045c94, #004e77);
    padding: 40px 10px 40px;
    position: relative;
    letter-spacing: 0.6px;
}
.response-device-top:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: '';
    width: 0;
    height: 0;
    border: 30px solid transparent;
    border-top: 30px solid #004e77;
}

.gentei {
	 background-color: #004166; 
	background: url(https://ichikawashi-seitai.com/wp/wp-content/themes/kamui/images/home/response/res_navy_bk.png);
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	color: #fff;
    margin-bottom: 30px;
    line-height: 1.3;
    padding: 20px 20px 24px;
}

p.contact_outer {
    background: url(https://ichikawashi-seitai.com/wp/wp-content/themes/kamui/images/home/response/res_navy_bk.png);
	width: 840px;
    padding: 20px 45px;
    margin: 0 auto;
}

.response-device .flex_box{display:flex; justify-content: space-between;}
.response-device .flex_inner{}
.response-device .ttl{
	color: #fdf050;
	padding: 0px 65px;
	letter-spacing: 0.2em;
	font-size: 22px;
	margin-bottom:10px;
}

.response-device .container {padding-top: 65px;padding-bottom: 10px;}

/*.response-device h2 {position: relative; width: 4em;left: 50%;transform: translateX(-50%);}
.response-device h2::before,.response-device h2::after{
    position:absolute;
    content:'';
    width: -webkit-calc((1000px - 4em) /2);
    width: calc((1000px - 4em) /2);
    height: 20%;
}
.response-device h2::before{
    background-image: linear-gradient(to right,#eaa9a3 0%,rgba(234, 169, 163, 0) 95%);
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
}
.response-device h2::after{
    background-image: linear-gradient(to right,rgba(234, 169, 163, 0) 0%, #eaa9a3 95%);
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
}

.response-device img, .response-contact img {
    margin: 15px auto 15px;
    display: block;
}

.response-device .info {
    border-radius: 15px;
    background-color: #fff;
    padding: 0.5em 0.5em;
    padding-top: 1em;
    border: 4px solid #c8113d;
    position: relative;
}

.response-device .info .lead{
    position: absolute;
    top: 0;
    transform: translate(-50%,-50%);
    left: 50%;
    width: 78%;
    border: 4px solid #c8113d;
    border-radius: 1em;
}*/

section.response-device .come img {
    margin: 35px auto 25px;
}

.response-device .info .lead + p{position:relative;}
.response-device .info .lead + p::after{
    content:'';
    border: 0.5em solid transparent;
    border-top: 0.6em solid;
    border-bottom: 0;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%,-25%);
}

.response-device .info p:last-of-type{
    margin-bottom: 0;
}

.response-contact .float_left {
    width: 700px;
    padding-bottom: 30px;
}

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

.response-price p {
	margin: 0;
}	

.response-price img {
	margin: 0;
}	

.tel-container {
    width: 1000px;
    margin: 0px auto;
}	

.tel-innner {
    width: 700px;
    margin: 0 auto;
}

/* TEL */



.response-contact a.response-tel {
    display: block;
    transition: all 0.5s ease-in-out;
}

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

.response-contact a.response-mail {
    display: block;
    transition: all 0.5s ease-in-out;
}

.response-desc {
    width: 835px;
    margin: 0 auto;
    font-size: 80%;
    text-align: left;
}

.response-desc li {
    padding-left: 1em;
    position: relative;
}

.response-desc li::before {
    content: '＊';
    position: absolute;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}

/* new */
.response-contact {
    display: flex;
}

.res-phone a img {
    max-width: 605px;
}

.gold-grade {
    color: #dbb419;
    background: linear-gradient(180deg, #dbb419 20%, #f6ca30 50%, #c09816 79%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

p.res-contact img
 {
    width: 87%;
    margin: 0 auto;
    max-width: 525px;
}

.res-contact a {
    text-decoration: none;
    font-size: 2em;
}

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

/* LINE */
.response-device .line {
    margin: 40px auto 0;
	padding-top:30px;
}

.responce_tel{
	width: 1000px;
    background-color: #fff;
    margin:0 auto;
    padding:20px 40px 10px;
    min-width:980px;
	border-radius: 15px;
}
.arrival_box{
    border:solid 4px #008f8e;
    border-radius:5px;
    background-color:white;
    text-align:center;
    color:#004c4c;
    padding:10px 0 0; 
}

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

.radio {
    display: flex;
}

.radio h3 {
    border-top: 6px double #fff;
    border-bottom: 6px double #fff;
    font-size: 42px;
    margin-bottom: 10px;
    text-align: center;
    padding: 15px 5px 9px;
}

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

.radio-l-inner {
    display: flex;
    padding: 0 5px;
}

p.logo img {
    width: 150px;
}

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

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

p.radio-img img {
    width: 370px;
}

.response-device h4 {
    font-size: 34px;
}

.response-price {
    border: 1px solid #fff;
    padding: 20px 0 15px;
}

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


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

p.mark {
    margin-bottom: 0;
}

p.mark img {
    margin-bottom: 15px;
    width: 170px;
}

.henkin-txt {
    margin-top: 25px;
    padding-left: 25px;
    align-self: center;
}

.tel-box {
    padding: 35px 0px 55px;
	/*background-color: rgba(3, 62, 95, 0.55);*/
    background-color: #004166;
    margin: 30px auto 50px;
    width: 900px;
}

.tel-title {
    margin-bottom: 0;
    font-size: 31px;
}

.detail{
    display: inline-block;
    margin: 0 auto;	
}


/* ============================================== */
/* LINE
/* ============================================== */
.line {
    padding: 40px 0;
    color: #221815;
    background-color: #97cd1c;
}

.line .box {
    background-color: #fff;
    border: 12px solid #45b035;
    position: relative;
    border-radius: 12px;
    padding: 30px 35px 30px 40px
}

.line .content {
    position: relative;
    background: url(images/home/response/line-qr.png) no-repeat left top;
    overflow: hidden;
    background-size: 200px;
    background-position: right bottom;
    min-height: 180px
}

.line .content ul {
    display: flex;
    margin: 0
}

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

.line .content li+li {
    margin-left: 40px
}

.line .content p {
    margin: 0 0 20px 0
}

.line .phone {
    position: absolute;
    left: 40px;
    top: -70px
}

.line h3 {
    padding-left: 180px;
    height: 155px
}

.line h4 {
    line-height: 1.3;
    margin-bottom: 10px
}

.line h4::before {
    content: attr(data-num);
    background-color: #00b900;
    color: #fff;
    border-radius: 50%;
    display: inline-block;
    margin-right: .3em;
    font-size: 80%;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    line-height: 1.5
}

.line .account {
    line-height: 1.5
}

/* ============================================== */
/* お悩み
/* ============================================== */
#trouble .container {
	padding: 50px 0;
}
#trouble .container p { 
	  line-height: 2.1;
}

#trouble .rb {
    position: relative;
}

#trouble .rb::before {
    content: '● ●';
    position: absolute;
    font-size: 0.3em;
    top: -0.7em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    letter-spacing: 0.9em;
    width: 100%;
}

#trouble .desc {
    line-height: 1.8;
}

/* チェックリスト */
.check-container {
    padding: 45px 45px 35px 85px;
}

.check-container li {
    background: url(../kamui/images/common/check.png) no-repeat left 0;
	padding-left: 2.5em;
    background-size: 1.6em;
    font-weight: 600;
    line-height: 1.6;
    padding-bottom: 4px;
    letter-spacing: 0.8px;
}

.check-container li+li {
    margin-top: 1em;
}

#trouble .container-fluid {
    background-image: linear-gradient(to bottom,rgba(253,236,210,0) 0%,rgb(253,236,210) 90%,rgba(253,236,210,0) 100%);
}
#trouble .container-fluid h2{
    
}
#trouble .container-fluid h2 img{
    vertical-align: middle;
    padding: 0 0.7em;
}
#trouble .gallery{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#trouble .gallery::after{
  content:"";
  display: block;
  width:32%;
}
#trouble .gallery .item{
    width: 32%;
    padding: 0 1%;
    margin-bottom: 3%;
}
#trouble .gallery .item img{
    width:100%;
    height: auto;
    margin: 0;
    display: block;
    border-radius: 12px;
}
#trouble .check-container{
    background: url(images/home/check_image.png) no-repeat;
	 /* background-position: 95%; 
	background-position: 97% 80%;*/
	background-position: 100% 72%;
    background-size: 320px;
	margin-bottom: 50px;
}
#trouble .yellow_line {
	line-height: 1em;
}

/* ============================================== */
/* 料金
/* ============================================== */
#price {
    /* padding-top: 120px; */
}

#discount {
	background-color: #F5f5f5;
    padding-bottom: 50px;
}

.discount {
    color: #000;
    font-weight: bold;
    padding-top: 60px;
}

.discount .heading {
    background-color: #4d80cd;
    border-radius: 15px;
    padding: 2em 1em 1em;
    position: relative;
}
#discount .heading {
	background-color: #4d80cd; 
	padding:11px 0 1px; 
	margin-top:40px;
}

.discount .heading h2 {
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
    line-height: 1.3;
}

.discount .heading p {
    margin-bottom: 0;
    line-height: 1.3;
}

.discount .heading::before {
    content: '';
    background: url(../kamui/images/home/discount/ttl-gentei.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    display: block;
    width: 321px;
    height: 84px;
}

.limited {
    border: 1px dashed #333;
    background-color: rgb(255,252,219);
    padding: 0.5em 0.5em;
    line-height: 1.3;
}

.limited del {
    background-image: linear-gradient(to bottom right, transparent, transparent 48%, #e70012 48%, #e70012 52%, transparent 52%, transparent);
    text-decoration: none;
    line-height: 1.3;
    display: inline-block;
}

/* ============================================== */
/* なぜ1980円
/* ============================================== */
section#why .container {
    padding: 60px 0;
}

.why-txt {
	line-height: 2.1;
}

.circle-mgreen {
    padding: .35em 0;
    background-repeat: repeat-x;
    background-size: 1em .5em;
    background-position: top left;
    background-image: -webkit-gradient(radial,center center,0,center center,1.5,from(#3f85c9),color-stop(.5,#3f85c9),color-stop(.9,transparent),to(transparent));
    background-image: -webkit-radial-gradient(center center,.15em .15em,#3f85c9,#3f85c9 95%,transparent 95%,transparent);
    background-image: radial-gradient(.15em .15em at center center,#3f85c9,#3f85c9 95%,transparent);
}

.circle-red {
    padding: .3em 0;
    background-repeat: repeat-x;
    background-size: 1em .5em;
    background-position: top left;
    background-image: -webkit-gradient(radial,center center,0,center center,1.5,from(#d91319),color-stop(.5,#d91319),color-stop(.9,transparent),to(transparent));
    background-image: -webkit-radial-gradient(center center,.15em .15em,#d91319,#d91319 95%,transparent 95%,transparent);
    background-image: radial-gradient(.15em .15em at center center,#d91319,#d91319 95%,transparent);
}

.circle-dot {
    padding: .5em 0;
    background-repeat: repeat-x;
    background-size: 1em .5em;
    background-position: top left;
    background-image: -webkit-gradient(radial,center center,0,center center,.09,from(#333),color-stop(.5,#333),color-stop(.9,transparent),to(transparent));
    background-image: -webkit-radial-gradient(center center,.09em .09em,#333,#333 95%,transparent 95%,transparent);
    background-image: radial-gradient(.09em .09em at center center,#333,#333 95%,transparent);
}

.circle-b-dot {
    padding: .5em 0;
    background-repeat: repeat-x;
    background-size: 1em .5em;
    background-position: top left;
    background-image: -webkit-gradient(radial,center center,0,center center,.09,from(#3f85c9),color-stop(.5,#3f85c9),color-stop(.9,transparent),to(transparent));
    background-image: -webkit-radial-gradient(center center,.09em .09em,#3f85c9,#3f85c9 95%,transparent 95%,transparent);
    background-image: radial-gradient(.09em .09em at center center,#3f85c9,#3f85c9 95%,transparent);
}

/* ============================================== */
/* 特典
/* ============================================== */
#special {
	background: url(images/home/discount/price-back.jpg) no-repeat 0 0;
    background-size: cover;
    overflow: hidden;
}

#special .container {
    padding: 60px 0 40px;
}

.special h3{
    margin-bottom: 60px;
}
.special .item-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.special .item {
    width: 49%;
    /* border-radius: 6px; */
    /* padding: 5em 1.5em 1.5em; */
    position: relative;
    /* background-color: rgb(227,147,0); */
    /* box-shadow: inset 4px 4px 10px 0px rgba(0, 0, 0, 0.4); */
    height: 255px;
    padding-top: 2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.special .item:first-child {
    background: url(images/home/discount/special1.png) no-repeat;
}
.special .item:nth-child(2) {
    background: url(images/home/discount/special2.png) no-repeat;
}

.special .item .head {
    background: url(images/home/discount/ttl-tokuten.png) no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%);
    background-size: contain;
    color: rgb(253,240,1);
    width: 151px;
    height: 57px;
    padding-top: 0.2em;
    padding-left: 2em;
    text-align: left;
}

.special .item .head small {
    font-size: 74%;
}

.special .item h4 {
    /* line-height: 1.3; */
    margin-bottom: 0.2em;
}

.special .item p {
    /* font-size: 80%; */
    margin-bottom: 0;
}
#special .discount-container{
	position: relative;
	padding:25px;
        background-color: #b3d8ea;
        padding-top:60px;
        margin-bottom:30px;
}
#special .discount-container img{
        margin:0px auto;
        display:block;
}
#special .discount-inner{
	position: relative;
	padding:25px;
        background-color: #004f82;
}

#special .discount-inner:before {
	position: absolute;
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	border-top-color: #004f82;
	border-width: 40px;
	margin-left: -40px;
	z-index:3;
}
#special .count_box{
        border:5px solid #ff7423;
        background-color: white;
        width:70%;
        margin:40px auto;
        padding:10px 0 0 0;
        line-height: 1.2;
}
#special .hosyo-img {
	padding-right:30px;
}
#why .sp-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom:35px;
}

.sp-container .sp-box {
    /*border: 7px solid #e4142f;
    padding: 25px;
    background: rgb(255,255,203);*/
    width: 470px;
    /*width: 280px;*/
    position: relative;
	 text-align: center;
}
.why .sp-container .sp-box .sp_img{
	width:100%;
}

img.sp1-ttl, img.sp2-ttl {
    /*width: 330px;*/
    width: 280px;
}
.sp-txt {
	line-height: 2.1;
}
	
#discount .price_box {
    margin: 40px auto 0;
    display: flex;	
}
	
#discount .price_l {
    padding: 35px 47px 25px;
    border: #d2d2d2 1px solid;
    font-size: 24px;
    background-color: #fff;
    margin-bottom: 20px;
	width: 25%;
}
	
#discount .price_r {
	padding: 35px 30px 25px;
    border-top: #d2d2d2 1px solid;
    border-right: #d2d2d2 1px solid;
    border-bottom: #d2d2d2 1px solid;	
    font-size: 20px;
    background-color: #fff;
    margin-bottom: 20px;
	width: 75%;	
}

#discount .price_r p {
	margin-bottom: 0;
}

.suitable_left {
    width: 47%;
    float: left;
}
.suitable_right {
    width: 47%;
    float: right;
}
.lead {
    background-color: #4d80cd;
    color: #fff;
    margin-bottom: 0;
    line-height: 1.3;
    padding: 20px;
	border-radius: 15px 15px 0 0;
	min-height: 132px;
}

#special .check-container, #check-box .check-container {
	background: #fff;
    border-radius: 0 0 15px 15px;
    border: 1px solid #4c7fcd;
    padding: 30px 30px;
}

section#check-box {
    overflow: hidden;
    width: 100%;
	background: #fff;
}

.check-container.not-suitable li {
    background: url(images/common/ico-batsu.png) no-repeat;
	line-height: 1.7;
	background-size: 27px;
}
.check-container.suitable li {
    background: url(images/common/ico-maru.png) no-repeat;
	line-height: 1.7;
	background-size: 27px;
}

/* ============================================== */
/* 施術の流れ
/* ============================================== */
#flow h2{margin-bottom:30px;}
#flow .container {padding-top:90px;}
#flow .time {
    background: #f5f5f5 url(../kamui/images/home/flow/ico_clock.png) no-repeat 30px;
	background-size: 100px;
    padding: 20px 20px 15px 160px;
    border-radius: 20px;
}
#flow .time li{position:relative;line-height: 1.5; margin-bottom:0px;}
#flow .time li::before{content: '';width: 0.8em;height: 0.8em; display: block;background: #323335; position: absolute; top: 5px; left: -5px;transform: translateX(-100%);}

#flow section[class^="flow"]{
    padding-top: 13px;
    position: relative;
}


#flow section h3::before{
	content: attr(data-step) '';
	display: inline;
	position: relative;
    margin-right: 60px;
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 30px;
	padding: 8px 60px;
    line-height: 30px;
    border-radius: 10px 0 0 10px;
}
#flow .flow-content{
   margin-bottom:55px;
	line-height: 2;
}
.flow-ttl h3 {
    padding:5px;
	text-align: left;
}

.flow-content figure {
    width: 35%;
    float: left !important;
    padding-right: 20px;
}

.flow-content figure.right {
	width:35%;
	padding: 0 0 0 20px;
	margin: 0;
	float: right !important;
}

.flow-content .desc {
	font-size:18px;
	order:2;
}

.flow-content figure img {
    max-width: 100%;
    height: auto;
    width: 100%;
}
.img_center{
	margin:20px auto;
	display:block;
}
/* しかしちょっと待って下さい！ */
#wait .wait-container{
	position: relative;
	padding:25px;
	background-color: #008a89;
}

#wait .wait-container:before {
	position: absolute;
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	border-top-color: #008a89;
	border-width: 40px;
	margin-left: -40px;
}
#wait .flow-content{
	display: flex;
	border-top: 1px solid #bbbbbb;
	border-bottom: 1px solid #bbbbbb;
	padding: 25px 0;
	margin-top:50px;
	margin-bottom:30px;
}

#wait .flow-content .title{
	font-weight:bold;
	font-size:36px;
	width:32%;
	border-right: 1px solid #bbbbbb;
}

#wait .flow-content .contents{
	padding-left:40px;
}

/* 3つの特徴 */
#flow .feature{
    background: #fffeee;
    border-radius: 15px;
    box-shadow: 2px 2px 10px 5px rgba(0,0,0,0.2) inset;
    padding: 30px 30px 50px;
    color: #84401d;
}
#flow .feature figure{
    border-top: 2px dotted #d4b097;
    border-bottom: 2px dotted #d4b097;
    padding: 20px;
    display: flex;
    flex-direction: row-reverse;
}
#flow .feature figure img{width: 30%;height: auto;}
#flow .feature figure .desc{
    width: 70%;
    font-size: 115%;
}
#flow .feature figure .desc h3{
    font-size: 130%;
}
#flow .feature figure .desc h3::before{content:'●';color:#efc4c5}
.flow-ttl {
    background-color: #eee;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 10px;
    padding: 0 0;
	text-align: left !important;
	border: 1px #1384cf solid;
}

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

section#hybrid .container {
    background: url(https://ichikawashi-seitai.com/wp/wp-content/uploads/2023/09/trouble_back-1.png) no-repeat left 0px top 25px;
    background-size: 250px;
}

section#hybrid h3 {
    letter-spacing: 0.5px;
}

#hybrid .feature img {
    width: 510px;
    padding: 10px 0;
}

/* ============================================== */
/* 理由
/* ============================================== */
#reason , #hybrid {
	background: #f5f5f5;
	/* padding-bottom: 50px;*/
}

section#reason .container {
    padding: 60px 0;
}

section#reason .reason-inner {
    margin-bottom: 50px;
}

#reason .reason-container{
	position: relative;
	padding:25px 0 25px;
	background: #f5f5f5;
}

#reason .heading {
    position: relative;
    padding-top:90px;
    padding-bottom: 0;
}

#reason .heading .num {
    font-size: 180%;
}

#reason .heading h2 span {
    font-weight: normal;
}

#reason .heading h2 .numwrap {
    border-bottom: 2px dashed;
}

.reason-item {
}


/* #reason  h3::before{
	content: attr(data-step) '';
	display: inline;
	position: relative;
    margin-right: 20px;
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 30px;
    padding: 15px 40px;
    border-radius: 10px 0 0 10px;
}

.reason-ttl {
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 10px;
    padding: 13px 0;
	text-align: left !important;
	border: 1px #1384cf solid;
} */

.reason-ttl [data-step]::after {
    content: attr(data-step);
    /* position: absolute; */
    /* color: #f08300; */
    /* background-color: #fff; */
    /* display: inline-block; */
    /* border-radius: 50%; */
    font-size: 100%;
    /* width: 1.2em; */
    /* text-align: center; */
    /* height: 1.2em; */
    /* line-height: 1; */
    /* top: 50%; */
    /* left: 5.4em; */
    /* -webkit-transform: translateY(-54%); */
    /* transform: translateY(-54%); */
}

#reason .footer {
    padding: 3em 0;
    line-height: 1.4;
}

#reason container p {
	line-height: 2;
}

.reason-content .order1{ order:1;}
.reason-content .order2{ order:2;}

#reason .r-fl {
	float: left;
   width: 700px;
	margin-bottom: 50px;
}

#reason .r-fr {
	float: right;
	margin-top: 50px;
}

#reason h4 {
	 font-size: 24px;
    font-weight: bold;
    margin: 50px 0 30px;
	color: #1384cf;
	line-height: 2.2;
}

#reason h4 span {
    background-color: #1384cf;
    color: #fff;
    border-radius: 5px;
    padding: 5px 10px 5px 15px;
    margin-right: 20px;
}

#reason p.title-num {
    display: inline;
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 30px;
    padding: 0 35px;
    white-space: nowrap;
    border-radius: 10px 0 0 10px;
    margin-bottom: 0;
    height: 75px;
    line-height: 75px;
}

#reason p.title-num-line2 {
    display: inline;
    background-color: #1384cf;
    color: #fff;
    font-weight: bold;
    font-size: 30px;
	 padding: 0 35px;
    white-space: nowrap;
    border-radius: 10px 0 0 10px;
    margin-bottom: 0;
    height: 110px;
    line-height: 110px;
}

#reason .title {
    display: flex;
}

#reason .reason-ttl {
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 0 10px 10px 0;
    padding: 20px 20px 0 20px;
    text-align: left !important;
    border: 1px #1384cf solid;
    line-height: 73px;
	min-width: 839px;
	line-height: 1.5;
	font-weight: bold;
}

#reason .feature, #hybrid .feature {
    border-radius: 8px;
    background-color: #fff;
    padding: 0.5rem 3rem 2rem;
    width: calc(100% - 60px);
    margin: 40px auto 0;
    font-size: 120%;
	 clear: both;
    box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.15);
}



/* ============================================== */
/* 院長紹介
/* ============================================== */
#profile .container {
    padding: 60px 0 50px;
}

#profile .lead {
    letter-spacing: 0.5em;
}

#profile .desc {
    line-height: 1.8;
}

#profile .prof-box {
	 border: 1px solid #ddd;
    padding: 30px;
}

#profile figure img {
    display: block;
    max-width: 500px;
    height: auto;
    float:right;
    margin:0 0 0 30px;
}
.prof-box .card-sub {
    border-left: 6px solid #87add7;
    padding-left: 0.3em;
    font-weight: bold;
}

/* ============================================== */
/* 推薦
/* ============================================== */
#recommend {
	padding: 30px 0 0;
}	

.recommend h3 {
    position: absolute;
    top: 1.5%;
    left: 15%;
}

.recommend figure{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.recommend figure img{
    max-width: 385px;
    height: auto;
    width: 40%;
    margin: 0;
}
.recommend .prof{width: 60%;line-height: 1.3;}
.recommend .name{
    font-size: 175%;
}
.recommend_box{
    border:#dddddd 5px solid;
    padding:35px 45px;
    width:100%;
    margin:60px auto 90px;
    clear: both;
	background: #fafafa;
	overflow: hidden;
}

.recommend_box img{
    border:#dddddd 1px solid;
}
.recommend_title {
   border-left:solid 8px #e0e0e0;
   padding-left:20px;
   margin-left:345px;
}

.recommend_title-left {
   border-left: solid 8px #e0e0e0;
   padding-left: 20px;
}


#recommendation .container{padding-top:80px;}

#recommend .recommend_txt {
	line-height: 1.7;
}


/* ============================================== */
/* 3つの道
/* ============================================== */
#threeway {
	padding: 70px 0;
}

#threeway .container {
	padding: 50px;
	background: #fff;
}

#threeway h3 {
    line-height: 1.3;
}

#threeway h4 {
    position: relative;
}

#threeway h4::before {
    content: '●';
    color: #f39800;
}

#threeway .inner {
    padding: 0;
}

/* ============================================== */
/* Q&A
/* ============================================== */
#question h2 {
    background-color: #1384cf;
    padding: 5px 0;
}

.question_box {
    border: 1px solid #bbb;
    background: #fbfbfb;
    padding: 25px 30px 10px;
    border-radius: 8px;
    margin-bottom: 30px;
}

#question .ttl::before {
    content: '';
    display: inline-block;
    background-image: url(../kamui/images/home/q.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    width: 31px;
    height: 31px;
    padding-right: 15px;
}

/* ============================================== */
/* 3つの道
/* ============================================== */
#suitable .container{padding-top:80px; padding-bottom:50px;}
#suitable .check-container {
    padding: 2em 1.5em;
    margin-bottom: 0;
    font-size:16px;
	background-color: #fff;
}
#suitable .check-container li {
    font-weight: normal;
}
#suitable .container_upper{
	border-top-right-radius: 15px;
	border-top-left-radius: 15px;
	background-color: #77aad2;
	font-size:24px;
	font-weight:bold;
	padding: 15px 0 10px;
}
#suitable .check-container li {
    background-size: 30px;
    background-position: left top;
}

#suitable .check-container.not-suitable li {
    background-image: url(../kamui/images/common/ico-batsu.png);
    padding: 0px 0px 0px 2.3em;
	font-size: 18px;
	font-weight: bold;
	margin-top: 7px;
}

#suitable .check-container.suitable li {
    background-image: url(../kamui/images/common/ico-maru.png);
    padding: 0px 0px 0px 2.3em;
	font-size: 18px;
	font-weight: bold;
	margin-top: 7px;
}
#suitable .flex_box{ display: flex; justify-content: space-between;}
#suitable .flex_item{ width:49%;}
#suitable .mt90{ margin-top:30px;}
#suitable h3{ line-height:130%;}
/* ============================================== */
/* アクセス
/* ============================================== */
#access .container {
    padding: 120px 0 60px;
}
#access .lead {
    margin-bottom: 0.3em;
}

#access .summary {
    padding: 2.5em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
	border: 5px solid #d1d1d1;
	background-color: #fff;
}
#access .summary::before{

}
#access .map {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: 280px;
    width: 424px;
}

#access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
}

#access .text {
    width: 534px;
    padding-left: 3em;
}

#access .summary h3 {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
    padding-left: 2em;
}

#access .summary h3.addr {
    background-image: url(../kamui/images/common/ico-address.png);
}

#access .summary h3.train {
    background-image: url(../kamui/images/common/ico-train.png);
}

#access .summary h3.car {
    background-image: url(../kamui/images/common/ico-car.png);
}

#access .text p {
    padding-left: 3em;
    font-size: 87%;
}

#access .text p:last-of-type {
    margin-bottom: 0;
}

/* ルート案内 */
#access .root h3 {
    /* border-bottom: 1px solid #ccc; */
    /* padding-bottom: 5px; */
}
#access .root h3 img{
    vertical-align:middle;
    padding: 0 0.7em;
}
.root-container {
    padding: 2.5em 0 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.root-container::after {
    content: '';
    display: block;
    width: 30%;
}

.root .step {
    -webkit-flex: 0 1 30%;
    flex: 0 1 30%;
    min-height: 345px;
}

.root .step img {
    max-width: 100%;
}

.root .step .desc {
    /* font-size: 80%; */
    line-height: 1.3;
    padding: 1em 0 1em 1em;
}

.root .step .ttl {
    position: relative;
    margin-bottom: 0.2em;
	padding-left: 1em;
	text-indent: -0.6em;
}

.root .step .ttl::before {
	content: attr(data-step) '';
	display: inline;
	position: relative;
	margin-left: -1em;
	margin-right: 0.5em;
    background-color: #3e84ca;
    color: white;
    font-weight: bold;
    font-size: 20px;
    padding: 1px 9px 0;
    border-radius: 25px;
}

.root .step .desc p {
    font-size: 18px;
    margin:12px auto 0 -1.5em 
}

#access .footer {
    padding: 3em 0;
    line-height: 1.4;
}
.subttl {
   border-top:1px solid #cccccc;
   border-bottom:1px solid #cccccc;
   padding:18px;
   margin-bottom: 50px;
}
.subttl2 {
   border-top:1px solid #77aad2;
   border-bottom:1px solid #77aad2;
   padding:18px 0 15px;
   margin-bottom: 40px;
}
/* ============================================== */
/* フッター
/* ============================================== */
footer {
    padding: 50px 0;
    background: #3e3a39;
}

footer .footer-inner {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

footer .footer-inner > div {
    -webkit-flex: 0 1 50%;
    flex: 0 1 50%;
}
footer .left {
    font-size: 115%;
    line-height: 1.5;
}
footer .flex-container {
   /* display: -webkit-flex;
    display: flex; */
	display: block;
}

footer .flex-container > div {
   /* flex: 1 0 50%; */
   margin-bottom: 30px;
}

footer .footer-inner > div:last-of-type {
    border-left-color: #fff;
}

footer .map {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: 300px;
    width: 470px;
}

footer .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
}

.footer-menu .menu {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-menu .menu-item {
    -webkit-flex: 0 1 50%;
    flex: 0 1 50%;
}

/* LINE */
footer .line {
    border: 6px solid #01b901;
    border-radius: 15px;
    padding: 2.2em;
    background-color: rgb(250,250,250);
    color: #555555;
}

footer .line .container {
    width: auto;
    background-size: 27%;
    background-position: 0 0;
	padding-top: 10px;
}

footer .line h3 {
    padding-left: 31%;
    letter-spacing: 0;
    font-size: 140%;
}

footer .line .content {
    background-size: 35%;
}

footer .line h4 {
    font-size: 1.8em;
}

footer .line h4::before {
    transform: translateY(-0.2em);
    line-height: 1.5;
}

footer .line .addfriend {
    border-bottom: 2px solid;
    background: none;
    width: auto;
    height: auto;
    text-align: left;
    display: block;
}

footer .line .addfriend br {
    display: none;
}

footer .line .special {
    position: static;
}

footer .line .content p {
    font-size: 1.2em;
    padding-right: 40%;
}

footer .line .content p:last-of-type {
    padding-right: 0;
}

footer .line .fb {
    position: static;
    overflow: hidden;
    display: block;
}

/* ============================================== */
/* 症例別ページ
/* ============================================== */
.single-symptom main {
    background: transparent;
    padding-top: 0;
    padding-bottom: 0;
}
/* ============================================== */
/* プラグイン個別対応
/* ============================================== */
/* Social Bookmarking */
.home .wp_social_bookmarking_light, .home .wp_social_bookmarking_light_clear, .single-symptom .wp_social_bookmarking_light, .single-symptom .wp_social_bookmarking_light_clear {
    display: none;
}

/* ============================================== */
/* 追加ＣＳＳ
/* ============================================== */
.float_right{
	float:right;
}
.float_left{
	float:left;
}
.mr40{ margin-right:40px; }
.ml40{ margin-left:40px; }
.mb130{ margin-bottom:130px; }
.mb45{ margin-bottom:45px!important; }
.mb270{ margin-bottom:0px; }


@media screen and (max-width: 640px) {
	#trouble .check-container{
	    margin-bottom: 0px;
		border: none;
		background:none;
	}
	.f24{font-size:18px;}
	.f36{font-size:22px;}
	.f48{font-size: 30px;}
	.f63{font-size: 40px;}
	.f60{font-size: 30px;}
	.f65{font-size:30px;}
	.mb270{ margin-bottom:0px;}

	.mt80{margin-top:40px;}
	.mt100{margin-top:50px;}
	/* ============================================== */
	/* プロフィール
	/* ============================================== */
	.recommend_box {
	    border: #e2e2e2 1px solid;
	    padding: 10px;
	    width: 100%;
	    margin: 10px auto;
	}
	.recommend_box img{ width:45%;}
	.recommend_title .f34{ font-size:18px;}
	.recommend_title .f18{ font-size:14px;}
	.recommend_title{
	   border-left:solid 8px #e0e0e0;
	   padding-left:10px;
           margin-left:48%;
	}
	.recommend_title .f22{
	   font-size:12px;
	}
	.recommend_title-left {
    border-left: solid 8px #e0e0e0;
    padding-left: 20px;
	}
	#profile figure img{
		margin:0 auto;
		width:100%;
		float:none;
	}
	#recommendation .container {padding-top:0px;}
	#profile .f38{font-size:26px;}
	/* ============================================== */
	/* 向いている向いていない
	/* ============================================== */
	#suitable .flex_box{display: block;}
	#suitable .flex_item{width: 100%;}
	/* ============================================== */
	/* 特典
	/* ============================================== */

	.sp-container .sp-box {
	    margin-top: 20px;
		padding:15px;
	}
	.sp-container img {
	    width:45%;
	}
	.sp-container .f27 {
		font-size:20px;
	}
	#special .container .float_right { float:none; margin:0px auto 20px; display:block;}
	#special .f50{font-size:28px; line-height: 130%;}
	#special .mt60{margin-top:20px; font-size:18px;}
	.subttl {
	   margin-bottom: 20px;
	}
	.pb70{ padding-bottom:20px;}
	.pt60{padding-top:20px;}
	.why .container .f24{font-size:20px;}
	

	/* ============================================== */
	/* レスポンスデバイス
	/* ============================================== */
	.sp_responcetel{
		font-size:38px;
		color:#ffff9b;
		font-weight:bold;
		margin-bottom:0px;
		margin-top:20px;
	}
	.sp_responcetel a{
		text-decoration: none;
		color:#ffff9b;
	}
	.response-device .arrival_box .f32{ font-size:22px;}
	.response-device .f30{ font-size:14px;}
	#discount .float_right{
		float:none;	
		width:50%;
		margin:0 auto;
		display:block;
	}	
	.message-container {
		margin-bottom: 8px;
		padding: 10px 4%;
		font-size: 14px;
		margin: 20px 0 0;
	}
	/* ============================================== */
	/* 声
	/* ============================================== */
	#voice2 .bg-grey{background-color:white;}
	/* ============================================== */
	/* ３つの道
	/* ============================================== */
	#threeway .f24{ font-size:18px;}
	/* ============================================== */
	/* 理由
	/* ============================================== */
	.reason-content .desc2 {
	    padding: 0 1em 0 0;
	    width: 100%;
	}
	.reason-container .f40{font-size:20px;}
	#reason .f24{font-size:18px!important; line-height: 130%;}
	#reason .mt50{margin-top:0px!important;}
	#reason .reason-item .pt20{ padding-top:0px;}
	#reason .reason_no{
		background: url(images/home/reason/reason-ttl.png) no-repeat;
		min-height: 50px;
		background-position: center;
		text-align:center;
		font-size:28px;
		font-weight:bold;
		color:black;
		padding-top:3px;
		margin-bottom:20px;
		background-size: 40%;
		background-position-y: 15%;
	}
	/* ============================================== */
	/* アクセス
	/* ============================================== */
	.root .step .ttl::before {
		font-size: 16px;
		padding: 0px 6px;
		margin-right: 0.2em;
	}
	.response-device img, .response-contact img {
		
	}

}

/* ============================================== */
/* ブログページ：コンテンツエリア
/* ============================================== */
/* レイアウト */
.blog main, .single main, .archive main {
    background-color: #fff;
    padding-bottom: 0;
}

.blog main .blog-content, .single main .blog-content, .archive main .blog-content {
    padding-left: 0;
    padding-right: 0;
    color: #333;
    font-size: 16px;
}

.blog .blog-container, .single .blog-container, .archive .blog-container {
    width: 670px;
}

@media screen and (max-width: 640px) {
  .blog .blog-container, .single .blog-container, .archive .blog-container {
    width: 100%;
  }
}

/* 投稿ブロック */
.blog .media-block, .single .media-block, .archive .media-block {
    padding: 25px;
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.2);
    font-size: inherit;
}

/* 投稿メタ情報：カテゴリー */
.media-block .category {
    padding: 0;
    background-color: transparent;
    display: flex;
    flex-wrap: wrap;
}

.media-block .category ul {
    display: flex;
    flex-wrap: wrap;
}

.media-block .category ul li {
    background: transparent;
    padding-left: 0;
    font-size: 0.75em;
    color: #0855ce;
}

.media-block .category ul li:not(:last-child)::after {
    content: ',';
    display: inline-block;
    margin-right: 0.3em;
}

.media-block .category ul li a {
    font-size: inherit;
    color: inherit;
}

/* 投稿メタ情報：投稿日付 */
.media-block .postdate {
    background: #ededed;
    color: #666;
    font-size: 0.7em;
    display: inline-block;
    margin-left: 0.5em;
    padding: 0 0.3em;
}

.single .media-block .postdate {
    margin-left: 0;
    margin-bottom: 10px;
}

/* アーカイブ：タイトル */
.page_title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 25px;
    text-align: center;
}

/* 投稿：タイトル */
.media-block .post_title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 15px;
}

.single .media-block .post_title {
    padding: 0.5em 0;
    border-top: 3px solid;
    border-bottom: 3px solid;
    margin-bottom :20px;
}

.media-block .post_title a {
    color: #0855ce;
}

/* 投稿：サムネイル */
.media-block .thumbnail {
    float: left;
    margin-right: 20px;
}

/* 投稿：続きを読む */
.media-block .more-link {
    text-decoration: none;
    font-size: 0.8em;
    color: #fff;
    background: #0855ce;
    padding: 0.4em 0.4em;
    display: inline-block;
    line-height: 1;
    margin-left: 10px;
}

.media-block .more-link::after {
    content: '≫';
}

/* 投稿：ユーザーがビジュアルモードで固定した文字サイズを強制的に解除し、テーマのスタイルに従わせる */
.media-block .post-content p span {
    font-size: inherit!important;
}

/* 関連記事 */
.media-block .yarpp-related h3 {
    border: none;
    background: #0855ce;
    color: #fff;
    padding: 10px 10px 10px 15px;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

.media-block .yarpp-related h3::before {
    margin-right: 15px;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f15c";
}

.media-block .yarpp-related ol {
    padding-left: 10px;
}

.media-block .yarpp-related li {
    margin-bottom: 0.7em;
    background: url(../haru/images/blog/bullet.png) no-repeat;
    background-position: left top 5px;
    padding-left: 25px;
}

.media-block .yarpp-related a {
    font-weight: 500;
}

.media-block .yarpp-related abbr {
    display: none;
}

/* 前後のページ送り */
.pagelink {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

.pagelink > div {
    color: #0855ce;
    width: 50%;
    padding: 0.5em;
}

.pagelink .float-left {
    text-align: left;
}

.pagelink .float-right {
    text-align: right;
}

.pagelink a {
    color: inherit;
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 96%;
}

/* ============================================== */
/* ブログページ：サイドバー
/* ============================================== */
/* レイアウト */
.blog #sidebar .widget, .single #sidebar .widget, .archive #sidebar .widget {
    border: 1px solid #CCCCCC;
    border-right: none;
    padding: 15px;
    margin-bottom: 25px;
    overflow: hidden;
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.2);
}

.blog #sidebar, .single #sidebar, .archive #sidebar {
    width: 305px;
}

.blog #sidebar .widget > ul, .single #sidebar .widget > ul, .archive #sidebar .widget > ul {
    margin: 0;
}

/* サイドバー：見出し */
.blog #sidebar h2, .single #sidebar h2, .archive #sidebar h2 {
    border: none;
    background: #0855ce;
    color: #fff;
    padding: 10px 10px 10px 15px;
    margin: -15px;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 500;
}

.blog #sidebar h2::before, .single #sidebar h2::before, .archive #sidebar h2::before {
    margin-right: 15px;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f15c";
}

/* サイドバー：リスト内リンク */
.blog #sidebar ul li ul li a, .single #sidebar ul li ul li a, .archive #sidebar ul li ul li a {
    font-size: inherit;
}

/* サイドバー：リスト要素 */
.blog #sidebar ul li ul li+li, .single #sidebar ul li ul li+li, .archive #sidebar ul li ul li+li {
    margin-top: 0.8em;
    background-position: left 0.3em;
}

/* サイドバー：プロフィール欄 */
.widget_sp_image .widgettitle+img {
    display: block;
    margin: 0 auto 15px;
}

.widget_sp_image .name {
    font-size: 110%;
}

/* サイドバー：カテゴリー一覧 */
.widget_categories .children {
    padding-top: 10px;
    margin-bottom: 0;
}

/* タイトル */
h2#danraku2 {
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid #0000cd;
}

h2#danraku2::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;
}

h3#danraku3 {
  padding: .5em .75em;
  background-color: #f6f6f6;
  border-radius: 6px;
}

h4#danraku4 {
  padding-bottom: .5em;
  border-bottom: 1px solid #ccc;
}

/* もくじ */
.page-contents{list-style:none; /* 冒頭の数字が不要なので消す */
padding-left:5px; /* 左側の余白を5pxで調整する */
}
.page-contents a{text-decoration:none; /* 装飾(下線)を消す */
}

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

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

.form-contents p {
    padding: 20px;
}

.confirm p {
	text-align: center;
}

.confirm dt {
    border-bottom: 1px dotted #bbb;
    padding-bottom: 5px;
}

.confirm dd {
    padding-bottom: 10px;
}


.form-contents button, input {
	overflow: visible;
}

.form-contents input::placeholder,
.form-contents textarea::placeholder {
	color: #bbb;
}

/* Edge */
.form-contents input::-ms-input-placeholder,
.form-contents textarea::-ms-input-placeholder {
	color: #bbb;
}

/* IE11 & IE10 */
.form-contents input:-ms-input-placeholder,
.form-contents textarea:-ms-input-placeholder {
	color: #bbb;
}

.form-contents .input {
    display: block;
    padding: 0.4rem 0.75rem;
    font-size: 1rem;
    line-height: 1.25;
    color: #616161;
    background-color: #ffffff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid #888;
    border-radius: 0.35rem;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.form-contents .w-full {
	width: 100%;
}

.form-contents .required {
    background: #e53935;
    color: #ffffff;
    padding: .25rem .35rem;
    border-radius: 0.35rem;
    font-size: .65rem;
    margin-left: .5rem;
    vertical-align: baseline;
    white-space: nowrap;
}

.form-contents input[type="submit"] {
    background-color: #3b80d3;
    color: #fff;
    padding: 15px 30px;
    margin-top: 20px;
    border: none;
    width: 100%;
    border-radius: 5px;
    font-size: 1em;
}

.form-contents input[type="submit"]:hover {
    background-color: #6fa0df;
}	

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