@charset "utf-8";
/* Less */
/* レスポンシブ ブレイクポイント */
.ele {
  position: relative;
}
.ele:after,
.ele:before {
  content: "";
  position: absolute;
}
.arw:after {
  content: '';
  width: 11px;
  height: 11px;
  border: 0px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
}
.arw:before {
  position: absolute;
  content: '';
  width: 11px;
  height: 11px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
}
/* --------------------------------------------------------------
    cafe/index.html
-------------------------------------------------------------- */
.cafe_wrapper {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #333;
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  padding-top: 55px;
  margin: 0 auto;
}
.cafe_content {
  width: 67.272%;
}
.cafe_content_block {
  margin-bottom: 50px;
}
.cafe_content_textbox {
  margin-bottom: 40px;
}
.page_ttl_cafe {
  font-size: 3.2rem;
  font-weight: 900;
  margin: 0 0 40px;
}
.cafe_mainimg {
  margin: 0 0 40px;
}
.orange_link {
  display: block;
  color: #fff !important;
  background: #f39800;
  border-radius: 20px;
  padding: 20px;
  transition: opacity 0.3s !important;
  position: relative;
}
.orange_link::after {
  content: "";
  display: block;
  width: 20px;
  height: 40px;
  background: url(../../../common/images/arw_w.svg) no-repeat 50% 50% / cover;
  position: absolute;
  right: 20px;
  top: calc(50% - 20px);
}
.orange_link:hover {
  text-decoration: none;
  opacity: 0.7;
}
.cafe_menu {
  border: 1px solid #ee5f68;
  border-radius: 48px;
  padding: 30px 40px 20px;
}
.cafe_menu_title {
  font-size: 2rem;
  margin: 0 0 24px;
}
.cafe_menu_list {
  list-style: none;
  padding: 0;
}
.cafe_menu_item {
  margin-bottom: 15px;
}
.cafe_menu_item a {
  color: #ee5f68;
  padding-left: 14px;
  background: url(../img/icon_arrow.svg) no-repeat left 50%;
}
.cafe_content_title {
  font-size: 3.2rem;
  font-weight: 700;
  border-bottom: 3px dotted #333;
  padding-bottom: 20px;
  margin-bottom: 35px;
}
.cafe_content_title .en {
  display: block;
  font-size: 1.4rem;
  color: #ee5f68;
}
.cafe_content_img {
  margin: 0 0 24px;
}
.cafe_content_img figcaption {
  margin-top: 15px;
}
/*.cafe_content_text {
	.line {
		background: #fdf8a1;
	}
}*/
.cafe_content_subtitle {
  color: #ee5f68;
  font-size: 2.2rem;
  padding: 0 0 12px 20px;
  border-bottom: 1px solid #ee5f68;
  position: relative;
}
.cafe_content_subtitle::before {
  content: "";
  display: block;
  width: 4px;
  height: 32px;
  background: #ee5f68;
  position: absolute;
  top: 0;
  left: 0;
}
.program {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  background: #f5f3f2;
  border-radius: 48px;
  padding: 30px 10px 20px 58px;
}
.program .program_title {
  margin: 0 0 12px;
}
.program .program_list {
  display: flex;
}
.program .program_item_title {
  font-size: 1.8rem;
}
.program .program_item_text {
  margin-left: 0;
}
.program .cafe_content_img {
  /*width: 36.081%;*/
  width: 33.78378%;
}
.staff {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.staff:last-child {
  margin-bottom: 0;
}
.staff .staff_img {
  width: 18.918%;
  margin: 0;
}
.staff .staff_text {
  width: 78.6486%;
}
.staff .staff_title {
  font-size: 2rem;
  margin: 0 0 20px;
}
@media (max-width: 767px) {
  .cafe_wrapper {
    display: block;
    padding: 20px 2% 0;
  }
  .cafe_content {
    width: 100%;
  }
  .page_ttl_cafe {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
  .cafe_content_block {
    margin-bottom: 30px;
  }
  .orange_link {
    padding-right: 40px;
  }
  .orange_link::after {
    right: 10px;
  }
  .cafe_menu {
    border-radius: 24px;
    padding: 15px 20px 20px;
  }
  .cafe_content_title {
    font-size: 2.2rem;
  }
  .cafe_content_subtitle {
    font-size: 2rem;
  }
  .program {
    display: block;
    border-radius: 24px;
    padding: 15px 15px 10px;
  }
  .program .program_item_title {
    width: 5em;
  }
  .program .program_item_text {
    width: calc(100% - 6em);
  }
  .program .program_list:last-child .program_item_title,
  .program .program_list:last-child .program_item_text {
    width: auto;
  }
  .program .cafe_content_img {
    width: 70%;
    margin: 0 0 0 auto;
  }
}
.side {
  width: 27.27%;
  /*.side_box {
		background: #f5f3f2;
		border-radius: 30px;
		padding: 28px 20px 36px;
		position: relative;
		&::before {
			content: "";
			display: block;
			width: 73px;
			height: 43px;
			background: url(../img/img_side.png) no-repeat 50% 50% / cover;
			position: absolute;
			top: -34px;
			right: 24px;
		}
	}*/
}
.side .side_title {
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 2rem;
  height: 30px;
  padding-left: 8px;
  margin: 0 0 16px;
  position: relative;
}
.side .side_title::before {
  content: "";
  display: block;
  width: 4px;
  height: 30px;
  background: #0058a0;
  position: absolute;
  top: 0;
  left: 0;
}
.side .side_inst_a {
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.25;
  color: #000;
}
.side .side_inst_a img {
  width: 34px;
  height: auto;
  margin-right: 12px;
}
.side .side_list {
  list-style: none;
  padding: 0;
}
.side .side_item {
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 3px dotted #d2d2d2;
}
.side .side_item:last-child {
  border-bottom: none;
}
.side a {
  text-decoration: none;
}
.side a .side_item_img {
  width: 100%;
  margin: 0 0 10px;
  transition: opacity 0.4s;
}
.side a .side_item_img img {
  width: 100%;
  height: auto;
}
.side a:hover .side_item_img {
  opacity: 0.7;
}
.side .side_item_title {
  color: #ee5f68;
  margin: 0 0 18px;
}
.side .side_item_date {
  color: #555;
  margin: 0;
}
@media (max-width: 767px) {
  .side {
    width: 100%;
  }
}
/*.kanrenListBox {
	h3 {
		padding-bottom: 5px;
		border-bottom: 1px dotted #ccc;
		margin-bottom: 0.5em;
	}
	.btn {
		margin-left: 2%;
		width: 180px;
		padding: 15px 7px 13px 0;
		text-align: center;
	}
	.photo {
		text-align: right;
	}
	table {
		border-top: none;
		th,td {
			border-bottom: 1px solid #fff;
			vertical-align: top;
			font-size: 1.4rem;
		}
		th {
			width: 8em;
		}
	}
	h4 {
		padding-top: 1em;
		border-top:1px dotted #ccc;
		font-weight: normal;
		span {
			font-weight: bold;
		}
	}
}
	.kanren_aisatsu {
		.photo {
			text-align: right;
			img:nth-child(2){
				margin-top: 1em;
			}
		}
	}
@media ( max-width : @sp-max ) {
	.kanrenListBox {
		.btn {
			min-width: auto !important;
			width: 48% !important;
			margin-bottom: 1px;
			&:first-child {
				float: left;
				margin-left: 0;
			}
			&:last-child {
				float: right;
			}
		}
		table th {
			width: 100%;
		}
		.photo {
			text-align: center;
		}
	}
	.kanren_aisatsu {
		.photo {
			text-align: center;
			img:nth-child(2){
				margin-left: 1%;
			}
		}
	}
}*/
/* --------------------------------------------------------------
    kanren01.html～kanren08.html
-------------------------------------------------------------- */
/*#map_group,
#map_group2 {
	max-width: 996px;
	width:100%;
	height:438px;
	margin:40px 0 0 ;
	page-break-before:always;
	border: 1px solid @gray;
}
.mythos{
	float: left;
	width: 48%;
}
.mythos:last-child{
	margin-left: 2%;
}
.mythos #map_group,
.mythos #map_group2{
	margin-top: 0;
}
.mythos p{
	margin-top: 40px;
}
@media ( max-width : @sp-max ) {
	#group.company #map_group,
	#group.company #map_group2 {
		height: 238px;
	}
}
p#hokkaidou{ padding:5px 15px; margin:0; border:1px solid #F30; color:#F30; margin:-10px 40px 20px 0;}*/
/* --------------------------------------------------------------
    /company/store/store.php
-------------------------------------------------------------- */
/*#storeArea            {position:relative;}
h3         {margin:0;}
#storeArea .photo     {position:absolute; top:62px; right:0; width:176px; }
#storeArea .photo img {padding:8px; background:url(../images/pic_shadow.jpg) no-repeat left top;}
#storeArea .txt       {width:504px; margin:8px 0 26px; line-height:1.7;}
#storeArea dl         {border-top:1px solid #C1C1C1; border-bottom:1px solid #C1C1C1; margin:0 0 38px; background:url(../../images/store/bg_store_detail.gif) repeat-y 0px 0px;}
#storeArea dl dt      {clear:both; float:left; width:130px; padding:11px 0 10px 12px;}
#storeArea dl dd      {padding:11px 0 10px 142px; border-bottom: 1px dotted #ccc; margin: 0;}
#storeArea dl dd.end  {background-image:none;}*/
/* --------------------------------------------------------------
    /company/store/area.php
-------------------------------------------------------------- */
/*table.list {
	width: 100%;
	margin: 40px 0;
}
table.list td{
	padding: 15px 18px;
	border-bottom: 1px dotted #ccc;
}
table.list td.name    {width:33%; background:#eef1f0;}
table.list td.name a.arw {
	display: inline-block;
	line-height: 1.3;
	padding-right: 15px;
}
table.list td.photo   {}
table.list td.address {width:50%; font-size:1.4rem;}
table.list td.btn     {width:10%;}
table.list .access {margin: 0;padding-bottom:10px; font-weight:bold;}

@media ( max-width : @sp-max ) {
table.list td,
table.list th {
	display: block;
	width: 100% !important;
}
table.list td.name,
table.list td.photo {
	border-bottom: none;
}
table.list td.name {
	font-size: 2.0rem;
	padding-top: 20px;
}
table.list td.photo {
	text-align: center;
}
}*/
/* --------------------------------------------------------------
    グループ体系
-------------------------------------------------------------- */
/*#group.organizing #main-contents {
	strong {
		color: #de3959;
		background: #ffecef;
		font-weight: normal;
		span {
			display: inline-block;
			font-size: 2.8rem;
			line-height: 2.8rem;
			background: #ffecef;
			padding: 0 5px;
			font-weight: bold;
		}
	}
	.organizing-box {
		margin: 65px 75px 0;
		.ele;
		&:before {
			top: 0;
			left: 60px;
			width: 2px;
			height: 100%;
			background: @gold;
		}
		&:after {
			bottom: 0;
			left: 0;
			width: 100%;
			height: 78px;
			background: #fff;
			z-index: 10;
		}
		section {
			position: relative;
			margin: 0 0 30px;
			padding: 0 30px 0 97px;
			z-index: 99;
		}
	}
	.pharmarise {
		border: 2px solid @gold;
		background: #fff url(../../../common/images/logo.svgz) 25px 50% no-repeat;
		background-size: 110px 75px;
		height: 137px;
		line-height: 137px;
		padding-left: 150px;
		text-align: center;
		font-size: 2.0rem;
		margin-bottom: 35px;
		text-align: center;
		-webkit-flex-direction: column;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		-webkit-justify-content: center;
		-webkit-align-items: center;
		.ele;
		&:after {
			top: 8px;
			left: 155px;
			height: 117px;
			width: 1px;
			background: @gold;
		}
	}
	h3 {
		background: @gray;
		font-size: 2.8rem;
		padding: 55px 35px 5px;
		border-top: @pink solid 3px;
		border-bottom: 1px dotted #bbbbbb;
		font-weight: normal;
		margin-bottom: 0;
		&.kanren {
			background: #f3f2e9;
		}
	}
	ul.list {
		background: @gray;
		list-style: none;
		padding: 30px 0 55px 35px;
		margin: 0;
		&.kanren {
			background: #f3f2e9;
		}
		li {
			margin-bottom: 15px;
			a.btn {
				padding: 15px 40px 13px 17px;
				&:after {
					right: 10px;
		width: 7px;
		height: 14px;
		background: url(../../../common/images/arw_b.svg) 0 0 no-repeat;
    background-size: 7px 14px;
				}
				&.no-link{
					pointer-events: none;
					&:after {
						display: none;
					}
				}
			}
			span {
				display: inline-block;
				padding: 15px 20px 13px 17px;
				line-height: 1;
				border: 1px solid #175d9c;
				position: relative;
				background: #fff;
				color: #175d9c;
				.ele;
			}
			a.btn,span {
				&:before {
					top: 0;
					bottom: 0;
					left: -71px;
					margin: auto 0;
					width: 70px;
					height: 1px;
					background: @gold;
				}
			}
			ul {
				margin: 0 0 1em;
				list-style: none;
				padding: 1em 0 0 87px;
				.ele;
				&:before {
					top: 0;
					left: 48px;
					width: 1px;
					height: 39px;
					background: @gold;
				}
				span {
					&:before {
						left: -39px;
						width: 38px;
					}
				}
			}
		}
	}
}
@media ( max-width : @sp-max ) {
	#group.organizing #main-contents {
		.organizing-box {
			margin: 30px 0 0;
			&:before {
				left: 15px;
			}
			section {
				margin: 0 0 1em;
				padding: 0 0 0 35px;
			}
		}
		.pharmarise {
			background: #fff url(../../../common/images/logo.svgz) 10px 50% no-repeat;
			background-size: 56px 37px;
			height: 68px;
			line-height: 1.2;
			padding: 0 10px 0 90px;
			font-size: 1.6rem;
			margin-bottom: 35px;
			text-align: left;
			.ele;
			&:after {
				top: 4px;
				left: 76px;
				height: 57px;
				width: 1px;
				background: @gold;
			}
		}
		ul.list {
			padding: 30px 0 55px 20px;
			li ul {
				padding: 1em 0 0 35px;
				&:before {
					left: 15px;
				}
				li span:before {
					left: -20px;
					width: 19px;
				}
			}
			li a.btn {
				padding: 15px 28px 13px 12px;
				text-align: left;
				font-size: 1.5rem;
			}
			li span {
				padding: 15px 10px 13px 10px;
				font-size: 1.5rem;
			}
		}
		ul.list li a.btn:before,
		ul.list li span:before {
			left: -39px;
			width: 38px;
		}
		h3 {
			padding-top: 35px;
		}
	}
	.ie9 #group.organizing #main-contents .pharmarise {
		padding: 15px 10px 10px 90px;
	}
}

@media print {
	.kanrenListBox table th {
		width: 20%;
	}
	.kanrenListBox table td {
		width: 80%;
	}
}*/
/* --------------------------------------------------------------
    公式キャラクター
-------------------------------------------------------------- */
/*.nyarmarise {
		color: #00589e;
		font-weight: bold;
		line-height: 1.8;
}
@media ( max-width : @sp-max ) {
	.nyarmarise {
		margin-left: 60px;
	}
}*/
