

/* コンテナ */
 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;
}



/*----- 着るサプ -------------------------*/

/* menu */
.kirusapu ul.menu {
    display: flex;
    justify-content: center; /* space-betweenから centerに変更 */
    margin: 40px 0;
    padding: 0;
}
.kirusapu ul.menu li {
    width: 380px;
    text-align: center;
    box-sizing: border-box;
    position: relative;
}

/* about */
.kirusapu .about {
    background: url("/img/usr/cfa_kirusapu/kirusapu_bg01.png") no-repeat center center;
    text-align: center;
}
.kirusapu .about dl {
    padding: 60px 0;
}
.kirusapu .about dl dt {
    margin-bottom: 20px;
}
.kirusapu .about dl dd.ti {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: bold;
}
.kirusapu .about dl dd.ti span {
    color: #f09da0;
}
.kirusapu .about dl dd.tx {
    font-size: 20px;
}

/* expectation */
.kirusapu .expectation {
    background: rgba(242,155,159,0.10);
    border-radius: 20px;
    padding: 10px 25px 25px 25px;
    margin-bottom: 60px;
}
.kirusapu .expectation .tit {
    margin-bottom: 20px;
}
.kirusapu .expectation .img {
    text-align: center;
}
.kirusapu .expectation .txt {
    margin-top: 10px;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.6em;
}
.kirusapu .expectation .txt span {
    color: #f09da0;
}

/* voice01 */
.kirusapu .voice01 {
    margin-bottom: 60px;
}
.kirusapu .voice01 .tit {
    margin-bottom: 20px;
    text-align: center;
}
.kirusapu .voice01 .voiceBox {
    background: #faf6f0;
    border-radius: 20px;
    padding: 20px;
    margin: 0 10px;
    width: 600px;
    box-sizing: border-box;
}
.kirusapu .voice01 .voiceBox .comment {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.kirusapu .voice01 .voiceBox .comment .img {
    padding-right: 20px;
}
.kirusapu .voice01 .voiceBox .comment .txt {
    font-size: 18px;
}
.kirusapu .voice01 .voiceBox .comment .txt dt {
    font-weight: bold;
}
.kirusapu .voice01 .voiceBox .graph {
    text-align: center;
}


/* 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; }