@charset "UTF-8";

.details_div{
	width: 100%;
	min-height: 700px;
	padding: 0px 0 0px;
	margin: 60px 0 0;
	background-color: #ffd069;
}


.details_div p{
	width: 100%;
	color:  #ffd069;
	font-size: 6vw;
	text-align: center;
	background-color: #ffd069;
	font-family: "源暎ゴシックP H-KL";
	font-weight: bold;
	 text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0 -1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
	/*overflow: hidden;*/
}

.details_div span{
	color: #fff;
	font-size: 1.55em;
	 text-shadow: none;
	line-height: 1.1em;
}


.details {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	list-style: none;
	width: 100%;
	padding: 0;
	text-align: center;

}

#details_top{
	position: relative;
	z-index: 10;
}


#details_top:after {
	content: ''; /* 必ず指定する */
	display: inline-block; /*必要*/
 	position: absolute;
	top: 25%;
	left: 25%;
	z-index: -1;
	margin-left: 0px;
  --b:25px;
 width: 50%;
  min-width: 200px;
  aspect-ratio: 1/cos(30deg);
  clip-path: polygon(50% 0,100% 100%,0 100%,50% 0,50% var(--b),calc(var(--b)*cos(30deg)) calc(100% - var(--b)/2),calc(100% - var(--b)*cos(30deg)) calc(100% - var(--b)/2),50% var(--b));
  background-color: #fff;
}

.details li {
	flex-basis: calc(50% - 8px);
	position: relative;
	max-with: 250px;
	border-radius: 8px;
	margin-left: 0px;
}
@media (max-width: 450px) {
	.details li {
		flex-basis: calc(50% - 6px);
	}
	.details li:nth-child(n+3) {
		margin-top: 12px;
	}
}
@media (max-width: 250px) {
	.details {
		flex-direction: column;
		align-items: center;
	}
	.details li {
		flex-basis: auto;
	}
	.details li:nth-child(n+2) {
		margin-top: 12px;
	}
}


.details .image {
	margin: 0;
}
.details .image img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	vertical-align: middle;
}

.details .text {
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 20px 20px;
	border-radius: 50%;
	color: white;
}

/*円内裏側タイトル*/
.details .text dt {
	width: 100%;
	font-size: min(4.0vw,23px);
	justify-self: flex-start;
	align-self: flex-end;
	text-align: center;
	font-weight: bold;
	margin: 5px auto 0;
}

/*円内裏側テキスト*/
.details .text dd {
	margin: 0.7em 0 0;
	padding-top: 10px;
	font-size: min(2.8vw, 19px);
	line-height: 1.5em;
	line-break: strict;
	overflow-wrap: break-word;
	text-align: center;
	border-top: 1px solid #fff;
	white-space: nowrap;
	font-family: 木漏れ日ゴシック;
}
.details .text .price {
	justify-self: flex-end;
}

/* :::::: type2 :::::: */
.details .type2 img,
.details .type2 dl {
	transition: opacity .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.details .type2:hover img {
	transform: rotateX(180deg);
}
.details .type2 #kokoro {
	background-color: #42beeb;
}

.details .type2 #karada {
	background-color: #eb4253;
}

.details .type2 #syakai {
	background-color: #7bd130;
}

.details .type2:not(:hover) dl {
	transform: rotateX(-180deg);
}

.wrapper{
	margin-top: 100px;
	padding-top: 0	;
}

/*ウェルビーイングとは*/
.well_do{
	width: 100%;
	font-size: 1em;
	line-height: 1.2em;
	color: #333333;
	margin: 0px auto;
}

.well_do #title{
	font-size: 1.2em;
	font-weight: bold;
	margin-top: 50px;
	text-decoration:underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 2px;
	border-color:#333333;
	border-width:1px;
}


/*各説明*/

.contents{
	width: 90%;
	margin: 50px auto 100px;
}

.contents-top{
	margin-bottom: 50px;
}

.contents p{
	font-size: 0.9em;
	line-height: 1.5em;
	letter-spacing: 0.12em;
    color: #333333;
}

.pic_text img {
	width: 100%;
  margin: 0 auto;
  padding: 0;
}
.pic_text .right {
  margin: 0;
  padding: 30px 20px;
}

.pic_text .title {
  margin: 0;
  padding: 0;
  font-weight: bold;
	letter-spacing: 0.03em;
	line-height: 1.1em;
}



.pic_text .right .title{
	font-size: 1em
}

#kokoro .right {
	background-color: #d5ecf0;
}

#karada .right{
	background-color: #ffdbdb;
}

#syakai .right{
	background-color: #dbf4b0;
}

.pic_text .contents-top {
	width: 100%;
	font-size: 0.8em;
  margin: 10px 0 0;
  padding: 0;
}

.pic_text #subtitle{
	font-size: 1em;
}

/* 画像を天地中央表示 */

.flex .image {
  overflow: hidden;
  position: relative;
}
.flex .image::before {
  content: "";
  display: block;
  padding-top: 58%;
}
.flex .image img {
  width: 90%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}




/*続きを見る、元に戻す*/
.readmore {
	width: 100vw;
	height: auto;
  position: relative;
  margin: 50px auto 0;
  padding-bottom: 75px;
left: 50%;
transform: translateX(-50%);
}

.readmore p{
	font-size: 0.85em;
	line-height: 1.6em;
}

.readmore-content {
	width: 100%;
	margin: 0 auto;
	padding: 0;
  position: relative;
  height: 200px; /*開く前に見せたい高さ*/
  transition: all .5s; /*開く速度*/
  overflow: hidden;
}

.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  transition: all .5s;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100% );
}

.readmore-content.is_open:before{
  display: none;
}

.readmore-content #hide-small_title{
	width: 90%;
	font-size: 1.2em;
	font-weight: bold;
    display: flex;
    align-items: center;
    padding: .5em .7em;
    background-color: #f2f2f2;	
}

.readmore-content #hide-small_title::before {
    display: inline-block;
    width: 5px;
    height: 1.5em;
    margin-right: .5em;
    content: '';
}

#kokoro .readmore-content #hide-small_title::before{
    background-color: #66CCFF;
}

#karada .readmore-content #hide-small_title::before{
    background-color: #FF3333;
}

#syakai .readmore-content #hide-small_title::before{
    background-color: #7bd130;
}

.readmore button{
  position: absolute;
  display: table;
    border:1px solid #fff;
  left: 50%;
  bottom: 0px;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  transition: all .5s;
}

#kokoro .readmore button{
    background-color: #66CCFF;
}


#karada .readmore button{
    background-color: #FF3333;
}

#syakai .readmore button{
    background-color: #7bd130;
}

#kokoro .readmore button:hover {
    border:1px solid #66CCFF;
    color: #66CCFF;
    background-color: #fff;
    cursor: pointer;
}

#karada .readmore button:hover {
    border:1px solid #FF3333;
    color: #FF3333;
    background-color: #fff;
    cursor: pointer;
}

#syakai .readmore button:hover {
    border:1px solid #7bd130;
    color: #7bd130;
    background-color: #fff;
    cursor: pointer;
}

#span-title{
	font-weight: bold;
}