

/* コンテナ */
 p {
font-size: 1.3rem;
}


/* 導入 */

.greeting { font-size: 1.2rem; margin-bottom: 15px; }
.top-image { max-width: 100%; height: auto; display: block; margin: 0 auto; }


/* セクション見出し */
section {
 margin-bottom: 30px;
 margin-top: 30px;
 }

section h2 {
font-size: 1.7rem;
border-bottom: 2px solid #ccc;
padding-bottom: 8px;
margin-bottom: 15px;
}

section .recommendations h3 {
font-size: 1.5rem;

}

section .stretch-list h3 {
font-size: 1.5rem;

}

/* 画像 */
.section-image, .icon-image { max-width: 100%; height: auto; display: block; margin: 10px 0; }
.icon-image { width: 60px; }

/* リスト */
.section2_ul { 
margin-top: 10px;
background-color: #f0f8ff;
padding: 12px 10px 12px 20px;
 }

li {
font-size: 1.3rem;
}

  span.emphasis {
    color:#4169e1;
    font-weight:bold;
    font-size: 1.3rem;
 }

/* フレックスレイアウト横2つ並び */
.recommendations {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.recommendation {
flex: 1 1 calc(33.333% - 20px);
background-color: #f0f8ff;
padding: 15px;
border-radius: 8px;
}
.recommendation h3, .stretch-item h3 { font-size: 1.1rem; margin-bottom: 10px; }


/* フレックスレイアウト縦並び */
.stretch-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.stretch-item {
  display: flex;
  align-items: flex-start;    /* 画像とテキストの上端を揃える */
  gap: 15px;                  /* 画像と文字の間隔 */
  background-color: #f0f8ff;
  padding: 15px;
  border-radius: 8px;
}

.stretch-item img {
  flex-shrink: 0;             /* 画像を縮ませない */
  width: 300px;               /* 画像の幅を指定（必要に応じて調整） */
  height: auto;
  border-radius: 4px;
}

.stretch-item .content {
  flex-grow: 1;               /* テキスト部分を広げる */
}

.stretch-item h3 {
  margin-top: 0;
  margin-bottom: 8px;
}

.stretch-item p {
  margin: 0;
  line-height: 1.5;
}




/* itemWrap */

.itemWrap p + p {
	padding-top: 20px;
}

/* item common */


.itemTtl {
	margin:2em 0 0.5em;
}

.itemWrap {
	display : flex;
	flex-wrap : wrap;
	gap: 38px;
}


.itemBox {
  position: relative;
  flex: 0 0 calc(50% - 19px);
  max-width: calc(50% - 19px);
  font-size: 14px;
  margin-top: 0px;
  vertical-align: top;
}

.itemBox .name {
    font-size: 20px;
	font-weight: bold;
	line-height: 1.3em;
	display: table;
	margin-bottom: 10px;
}
.itemBox .name:hover {
	opacity: 0.8;
}
.itemBox .name span,
.itemBox .name a {
	text-decoration: none;
	display: table-cell;
	vertical-align: top;
}
.itemBox .name a:hover {
	text-decoration: none;
	color: inherit;
}
.itemBox .name span {
	width: 1em;
}

.itemBox .text {
	font-size: 16px;
}
.itemBox .detail {
}
.itemBox .detail li span {
    font-weight: bold;
}
.itemBox .detail li span em {
    font-weight: bold;
    font-size: 24px;
}
#stylecare.mens .itemBox .detail li span{
    color: #5ec3e0;
}
.itemBox .img {
	margin-top: 10px;
	margin-bottom: 0px;
}
.itemBox .txt {
	margin-bottom: 10px;
}

.itemBox .list {
	margin-bottom: 10px;
	margin-top: 10px;
}
.itemBox .list li  {
	border-radius: 10px;
	padding: 10px;
}
.itemBox .list li + li  {
	margin-top: 10px;
}
.itemBox .list li dl dt {
	font-weight: bold;
	font-size: 16px;
}



  
.itemBox .detail {
    margin-top: 10px;
}
.itemBox .note {
    color: #d51323;
    margin-top: 10px;
}
.itemBox .detail + .note {
    margin-top: 0px;
}

.itemBox .detail,
.itemBox .note {
    text-indent: -1em;
    padding-left: 1em;
}


.itemBox.itemOrange .detail li span,
.itemBox.itemOrange .list li dl dt,
.itemBox.itemOrange .name span {
	color: #f39800;
}
.itemBox.itemOrange .list li,
.itemBox.itemOrange .icon li.ic01 {
	background: #f39800;
}

.itemBox.itemLGreen .detail li span,
.itemBox.itemLGreen .list li dl dt,
.itemBox.itemLGreen .name span {
	color: #60b8ab;
}
.itemBox.itemLGreen .list li,
.itemBox.itemLGreen .icon li.ic01 {
	background: #60b8ab;
}



/* slider */
.slider {
    position: relative;
}
.slider .slick-list {
}
.slider .slick-arrow {
    position: absolute;
    border: none;
    text-indent: -9999px;
    width: 57px;
    height: 57px;
    cursor: pointer;
    z-index: 1;
}
.slider .slick-prev {
    background: url("/img/usr/cfa_kirusapu/arrow_l.png") no-repeat center center;
    top: calc(50% - 28px);
    left: 95px;
}
.slider .slick-next {
    background: url("/img/usr/cfa_kirusapu/arrow_r.png") no-repeat center center;
    top: calc(50% - 28px);
    right: 95px;
}



/* voice02 */
.kirusapu .voice02 {
}
.kirusapu .voice02 .tit {
    margin-bottom: 20px;
    text-align: center;
}

.kirusapu .voice02 .staff {
    background: url("/img/usr/cfa_kirusapu/voice02_bg.png") no-repeat center top -50px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.kirusapu .voice02 .staff .img {
    padding: 20px;
}
.kirusapu .voice02 .staff .txt {
    padding: 20px 20px 20px 15px;
}
.kirusapu .voice02 .staff .txt dl {
    background: rgba(255,255,255,0.90);
    border-radius: 15px;
    font-size: 20px;
    line-height: 1.6em;
    padding: 25px;
    position: relative;
}
.kirusapu .voice02 .staff .txt dl:after {
	right: 100%;
	top: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-right-color: rgba(255,255,255,0.90);
	border-width: 15px;
	margin-top: -15px;
}
.kirusapu .voice02 .staff .txt dl dt {
    font-weight: bold;
    margin-top: 10px;
}

.kirusapu .voice02 .message {
    background: url("/img/usr/cfa_kirusapu/kirusapu_bg02.png") no-repeat center center;
    text-align: center;
}
.kirusapu .voice02 .message .ti {
    font-size: 28px;
    font-weight: bold;
    padding: 60px 0;
}
.kirusapu .voice02 .message .ti span {
    color: #f09da0;
}

/* thought */
.kirusapu .thought {
    margin-top: 60px;
    padding-top: 30px;
    padding-bottom: 100px;
    background: url("/img/usr/cfa_kirusapu/thought_bg.png") no-repeat center top;
}
.kirusapu .thought .tit {
    margin-bottom: 20px;
    text-align: center;
}
.kirusapu .thought .txt {
    text-align: center;
    font-size: 20px;
    line-height: 1.6em;
}


/* itemWrap */
.kirusapu .itemWrap + .itemWrap {
    margin-top: 60px;
}
.kirusapu .subTtl {
    margin-bottom: 40px;
}
.kirusapu .subTtl p.ttl {
    margin-bottom: 40px;
}
.kirusapu .subTtl p.ttl img {
    width: 100%;
    height: auto;
}

.kirusapu .itemWrap .itemBlock {
}
.kirusapu .itemWrap .itemBlock .item + .item {
    margin-top: 40px;
}
.kirusapu .itemWrap .itemBlock .item a {
    display: flex;
    justify-content: space-between;
    border-radius: 20px;
    background: linear-gradient(#f8f2ea, #ffe0e1);
    padding: 30px;
    text-decoration: none;
}
.kirusapu .itemWrap .itemBlock .item a:hover {
    background: linear-gradient(#ffe0e1, #f8f2ea);
    color: #434343;
}
.kirusapu .itemWrap .itemBlock .item .image {
    text-align: center;
}
.kirusapu .itemWrap .itemBlock .item  a .image img:hover {
    opacity: 1;
}
.kirusapu .itemWrap .itemBlock .item  a:hover .image img {
    opacity: 0.8;
}

.kirusapu .itemWrap .itemBlock .item .box {
    width: 480px;
}
.kirusapu .itemWrap .itemBlock .item .name {
    font-weight: bold;
    font-size: 28px;
    margin-bottom: 10px;
}
.kirusapu .itemWrap .itemBlock .item .detail li {
    line-height: 2em;
    font-size: 20px;
}
.kirusapu .itemWrap .itemBlock .item .detail li p {
    display: inline;
    padding-right: 4px;
    font-weight: bold;
}
.kirusapu .itemWrap .itemBlock .item .detail li dl {
    display: table;
}
.kirusapu .itemWrap .itemBlock .item .detail li dl.bl {
    display: block;
}
.kirusapu .itemWrap .itemBlock .item .detail li dl.bl dt,
.kirusapu .itemWrap .itemBlock .item .detail li dl.bl dd {
    display: inline;
}
.kirusapu .itemWrap .itemBlock .item .detail li dl dt {
    display: table-cell;
    white-space: nowrap;
}
.kirusapu .itemWrap .itemBlock .item .detail li dl dd {
    display: table-cell;
}
.kirusapu .itemWrap .itemBlock .item .detail li span {
}
.kirusapu .itemWrap .itemBlock .item .detail li span + span {
}
.kirusapu .itemWrap .itemBlock .item .detail li span em {
    font-weight: bold;
    font-size: 20px;
}
.kirusapu .itemWrap .itemBlock .item .detail li p,
.kirusapu .itemWrap .itemBlock .item .detail li span em {
    color: #f09da0;
}
.kirusapu .itemWrap .itemBlock .item .note {
    margin-top: 5px;
    font-size: 15px;
    text-indent: -1em;
    padding-left: 1em;
}





/* common */
.floatF {float: left;}
.acenter {text-align: center;}
.bold {font-weight: bold;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt50 {margin-top: 50px;}
.mb50 {margin-bottom: 50px;}
.pl20 {padding-left: 20px;}
.pl25 {padding-left: 25px;}
.pl30 {padding-left: 30px;}
.pr10 {padding-right: 10px;}
.pr25 {padding-right: 25px;}
.pr40 {padding-right: 40px;}
.mr {margin-right: 35px;}
.fs10 {font-size: 10px;}
.fs16 {font-size: 16px;}





/* 受診案内 */
.consultation { display: flex; align-items: flex-start; gap: 15px; }