@charset "UTF-8";

/* --------------------------------------------------------------
基本設定
--------------------------------------------------------------- */
#contents {
	min-width: auto !important;
}

#contents section * {
	box-sizing: border-box;
}

#contents section .pcOnly {
	display: block !important;
}

#contents section .spOnly {
	display: none !important;
}

#contents section a:hover {
	text-decoration: none;
	opacity: .7;
}

#contents section + section {
	margin-top: 100px;
}

#contents section .contentAreaInner {
	max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

@media screen and (max-width: 767px) {
	#contents section .pcOnly {
		display: none !important;
	}

	#contents section .spOnly {
		display: block !important;
	}

	#contents section + section {
		margin-top: 60px;
	}

	.backTopBtn{
		right: 20px;
		bottom: 80px;
	  }
	  .backTopBtn a{
		background: url(/products/template/img/icon_pagetop_arrow.png) no-repeat center 5px;
		background-size: 16.8px 12px;
		background-color: #fff;
		width: 63px;
		height: 63px;
		font-size: 12px; 
		text-align: center;
		line-height: 1.2;
		padding-top: 20px; 
		box-sizing: border-box;
	  }
}


/* 見出し
-------------------------------------*/
#contents section h2.contentTitle {
    position: relative;
	margin-bottom: 50px;
    padding-bottom: 10px;
    border-bottom: 2px solid #CCC;
    font-size: 1.75rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
}

#contents section h2.contentTitle::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 250px;
    height: 2px;
    background: #1565C0;
}

@media screen and (max-width: 767px) {
    #contents section h2.contentTitle {
		margin-bottom: 30px;
		font-size: 1.375rem;
		letter-spacing: 0.1rem;
    }

    #contents section h2.contentTitle::after {
		width: 100px;
    }
}


/* 画像
-------------------------------------*/
#contents section picture img {
	width: 100%;
}


/* 文字
-------------------------------------*/
#contents section p {
	font-size: 16px;
}

#contents section ul.note {
	font-size: 14px;
}

#contents section ul.note li {
	margin-left: 1em;
	text-indent: -1em;
}

#contents section ul.note li::before {
	content: '※';
}

@media screen and (max-width: 767px) {
	#contents section ul.note {
		font-size: 12px;
	}
}



/* --------------------------------------------------------------
breadcrumbArea
--------------------------------------------------------------- */
#breadcrumbArea {
	margin: 20px 0 40px;
}

#breadcrumbArea .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
	color: #000;
    font-size: 12px;
    white-space: nowrap;
    text-align: start;
}

#breadcrumbArea .breadcrumb li a {
	color: #1565C0;
}

#breadcrumbArea .breadcrumb li a:hover {
	text-decoration: underline;
	opacity: 1;
}

#breadcrumbArea .breadcrumb li a::after {
    content: ">";
    color: #333;
    display: inline-block;
    margin: 0 10px;
}

@media screen and (max-width: 767px) {
	#breadcrumbArea {
		margin: 20px 0 30px;
	}

	#breadcrumbArea .breadcrumb {
		font-size: 10px;
	}
}



/* --------------------------------------------------------------
mvArea
--------------------------------------------------------------- */
#mvArea {
	width: 100%;
	margin: 0 auto;
}



/* --------------------------------------------------------------
leadArea
--------------------------------------------------------------- */
#leadArea {
	text-align: center;
}

#leadArea ul.note {
	margin-top: 1em;
}

@media screen and (min-width: 768px) {
	#leadArea p {
		font-size: 18px !important;
	}

	#leadArea ul.note {
		font-size: 16px !important;
	}
}

@media screen and (max-width: 767px) {
	#leadArea ul.note li {
		text-indent: -2.5em;
	}

	#leadArea p {
		font-weight: 500;
	}
}



/* --------------------------------------------------------------
recommendArea
--------------------------------------------------------------- */
#recommendArea {
	padding-bottom: 100px;
	background: linear-gradient(to bottom, #ffffff, #F2F9FF);
}

#recommendArea .recommendList {
	display: flex;
	gap: 40px;
	max-width: 1088px;
	margin: 0 auto;
}

#recommendArea .recommendList > li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	flex: 1;
	position: relative;
	padding: 30px 0;
	background: #fff;
	border-radius: 8px;
	z-index: 0;
}

#recommendArea .recommendList > li picture {
	max-width: 120px;
}

#recommendArea .recommendList > li .recommendText {
	flex: 1;
	display: flex;
	align-items: center;
}

#recommendArea .recommendList > li .recommendText p {
	padding: 0 1em;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

#recommendArea .recommendList>li::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 8px;
	background: linear-gradient(to right, #29B7E3, #267BDC);
	border-radius: 12px;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	z-index: -1;
}

@media screen and (max-width: 767px) {
	#recommendArea {
		padding-bottom: 60px;
	}

	#recommendArea .recommendList {
		width: 88.36%;
		max-width: 400px;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 10px;
	}

	#recommendArea .recommendList > li {
		width: 100%;
		gap: 10px;
		flex-direction: row;
		margin: 0 auto;
		padding: 22px 18px;
	}

	#recommendArea .recommendList>li::before {
		padding: 4px;
	}

	#recommendArea .recommendList > li picture {
		width: 27.03%;
		flex-shrink: 0;
	}

	#recommendArea .recommendList > li .recommendText {
		justify-content: center;
	}

	#recommendArea .recommendList > li .recommendText p {
		font-size: 16px;
	}
}



/* --------------------------------------------------------------
anchorArea
--------------------------------------------------------------- */
#anchorArea .anchorList {
	display: flex;
	gap: 20px;
}

#anchorArea .anchorList > li {
	flex: 1;
	border: 2px solid #1D9BD6;
	border-radius: 8px;
	overflow: hidden;
}

#anchorArea .anchorList > li a {
	display: block;
	position: relative;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding-top: calc( 180px + 18px + 1em );
	padding-bottom: calc( 18px + 28px );
	background-image: url(/products/other/regular_fare/img/main_wheelchair.jpg);
	background-size: 180px auto;
	background-position: center top 18px;
	background-repeat: no-repeat;
}

#anchorArea .anchorList > li a::after {
	content: "";
	display: block;
	height:28px;
	width: 100%;
	background-color: #1D9BD6;
	background-image: url(/products/other/regular_fare/img/arrow_down_wh.png);
	background-repeat: no-repeat;
	background-position: center top 8px;
	background-size: 16px auto;
	position: absolute;
	bottom: 0;
	left: 0;
}

@media screen and (max-width: 767px) {
	#anchorArea .anchorList {
		flex-wrap: wrap;
		gap: 15px;
	}

	#anchorArea .anchorList > li {
		flex: 1 1 40%;
	}

	#anchorArea .anchorList > li a {
		font-size: 16px;
		padding-top: calc( 100px + 14px + 1em );
		padding-bottom: calc( 18px + 28px );
		background-image: url(/products/other/regular_fare/img/main_wheelchair.jpg);
		background-size: 100px auto;
		background-position: center top 14px;
		background-repeat: no-repeat;
	}
}


/* バリエーション
-------------------------------------*/
/* 介護ベッド */
#anchorArea .anchorList > li:nth-child(2) {
	border: 2px solid #F2B125;
}

#anchorArea .anchorList > li:nth-child(2) a {
	background-image: url(/products/other/regular_fare/img/main_bed.jpg);
}

#anchorArea .anchorList > li:nth-child(2) a::after {
	background-color: #F2B125;
}

/* 歩行車 */
#anchorArea .anchorList > li:nth-child(3) {
	border: 2px solid #57932F;
}

#anchorArea .anchorList > li:nth-child(3) a {
	background-image: url(/products/other/regular_fare/img/main_walker.jpg);
}

#anchorArea .anchorList > li:nth-child(3) a::after {
	background-color: #57932F;
}

/* 松葉杖 */
#anchorArea .anchorList > li:nth-child(4) {
	border: 2px solid #E85040;
}

#anchorArea .anchorList > li:nth-child(4) a {
	background-image: url(/products/other/regular_fare/img/main_crutch.jpg);
}

#anchorArea .anchorList > li:nth-child(4) a::after {
	background-color: #E85040;
}



/* --------------------------------------------------------------
itemArea
--------------------------------------------------------------- */
#itemArea {
	padding: 80px 0;
	background: #F2F9FF;
}

#itemArea article {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 100px 0;
	background: #fff;
}

#itemArea article hr {
	all: unset;
	display: block;
	margin-top: 80px;
	height: 1px;
	border-top: 1px solid #DCDCDC;
}

#itemArea article:first-of-type {
	border-radius: 20px 20px 0 0;
}

#itemArea article:last-of-type {
	border-radius: 0 0 20px 20px;
}

@media screen and (min-width: 768px) {
	#itemArea article:first-of-type {
		padding-top: 100px;
	}

	#itemArea article:last-of-type {
		padding-bottom: 100px;
	}
}

@media screen and (max-width: 1000px) {
	#itemArea article {
		padding: 80px 50px 0;
	}
}

@media screen and (max-width: 767px) {
	#itemArea {
		padding: 40px 0;
	}

	#itemArea article {
		padding: 60px 20px 0;
	}

	#itemArea article hr {
		margin-top: 60px;
	}

	#itemArea article:last-of-type {
		padding-bottom: 60px;
	}
}


/* itemInfo
-------------------------------------*/
#itemArea .itemInfo {
	display: flex;
	align-items: center;
	gap: 40px;
	margin-bottom: 60px;
}

/* picture */
#itemArea .itemInfo picture {
	flex-shrink: 0;
	display: block;
	width: 300px;
}

/* text */
#itemArea .itemInfo .infoSummary p.infoTitle {
	margin-bottom: 40px;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: 0.15em;
}

#itemArea #wheelchair .itemInfo .infoSummary p.infoTitle { color: #1D9BD6; }
#itemArea #bed .itemInfo .infoSummary p.infoTitle { color: #F2B125; }
#itemArea #walker .itemInfo .infoSummary p.infoTitle { color: #57932F; }
#itemArea #crutch .itemInfo .infoSummary p.infoTitle { color: #E85040; }

#itemArea .itemInfo .infoSummary p.infoDesc {
	font-size: 18px;
}

#itemArea .itemInfo .infoSummary p.infoDesc + .note {
	margin-top: 1em;
}
.txt_note li{
	font-size: 18px;
}
.txt_note li>span{
	color: #E85040;
}
@media screen and (max-width: 767px) {
	#itemArea .itemInfo {
		flex-direction: column;
		gap: 30px;
		margin-bottom: 40px;
	}

	/* text */
	#itemArea .itemInfo .infoSummary p.infoTitle {
		margin-bottom: 20px;
		font-size: 32px;
		text-align: center;
	}

	#itemArea .itemInfo .infoSummary p.infoDesc {
		font-size: 16px;
	}
}


/* itemList
-------------------------------------*/
#itemArea .itemList > li {
	display: flex;
	gap: 40px;
}

#itemArea .itemList > li + li {
	margin-top: 40px;
}

/* picture */
#itemArea .itemList > li picture {
	flex-shrink: 0;
	display: block;
	border: 1px solid #CCCCCC;
	border-radius: 14px;
	overflow: hidden;
}

#itemArea .itemList > li picture.pcOnly {
	width: 300px;
}

/* itemDetail */
#itemArea .itemList > li .itemDetail {
	flex-shrink: 1;
	flex: 1;
}

/* itemName */
#itemArea .itemList > li .itemDetail p.itemName {
	margin-bottom: 30px;
	padding: 0.83em;
	background: #E4F4FC;
	border-top: 3px solid #1D9BD6;
	font-size: 18px;
	font-weight: bold;
}

/* itemDesc */
#itemArea .itemList > li .itemDetail .itemDesc {
	margin-bottom: 30px;
}

#itemArea .itemList > li .itemDetail .itemDesc p {
	font-size: 18px;
}

/* itemPrice */
#itemArea .itemList > li .itemDetail p.itemPrice {
	text-align: right;
}

#itemArea .itemList > li .itemDetail p.itemPrice.indent {
	padding-right: 1em;
}

#itemArea .itemList > li .itemDetail p.itemPrice span {
	font-weight: bold;
}

#itemArea .itemList > li .itemDetail p.itemPrice span.pirceValue {
	margin-left: 1em;
	color: #1565C0;
	font-size: 24px;
}

/* itemLink */
#itemArea .itemList > li .itemDetail .itemLink {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

#itemArea .itemList > li .itemDetail .itemLink a {
	color: #1565C0;
	font-size: 18px;
}

#itemArea .itemList > li .itemDetail .itemLink a:hover {
	text-decoration: underline;
}

#itemArea .itemList > li .itemDetail .itemLink a::after {
	content: "";
    display: inline-block;
    margin-left: 5px;
    width: 1em;
    height: 1em;
    background: url(/products/other/regular_fare/img/icon_blue_arrow.svg) no-repeat center / contain;
    transform: translateY(10%);
}

@media screen and (max-width: 767px) {
	#itemArea .itemList > li + li {
		margin-top: 30px;
	}

	/* picture */
	#itemArea .itemList > li picture.spOnly {
		width: 46.61%;
	}

	/* itemName */
	#itemArea .itemList > li .itemDetail p.itemName {
		margin-bottom: 25px;
	}

	#itemArea .itemList > li .itemDetail p.itemName span {
		display: inline-block;
	}

	/* itemDesc */
	#itemArea .itemList > li .itemDetail .itemDesc {
		display: flex;
		align-items: flex-start;
		gap: 20px;
		margin-bottom: 20px;
	}

	#itemArea .itemList > li .itemDetail .itemDesc > * {
		flex: 1;
	}

	#itemArea .itemList > li .itemDetail .itemDesc p {
		font-size: 16px;
	}

	/* itemPrice */
	#itemArea .itemList > li .itemDetail p.itemPrice {
		font-size: 14px;
		text-align: center;
	}

	/* itemLink */
	#itemArea .itemList > li .itemDetail .itemLink a {
		font-size: 17px;
	}
}


/* itemList itemAccordion
-------------------------------------*/
#itemArea .itemList.itemAccordion {
	margin-top: 40px;
}

@media screen and (max-width: 767px) {
	#itemArea .itemList.itemAccordion {
		margin-top: 30px;
	}
}


/* tab
-------------------------------------*/
#itemArea .itemTab {
	display: flex;
	justify-content: center;
	margin: 0 auto 60px;
	width: 100%;
	max-width: 840px;
	border: 1px solid #1565C0;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
}

#itemArea .itemTab > li {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8em 0;
	color: #1565C0;
	font-size: 16px;
	text-align: center;
}

#itemArea .itemTab > li.active {
	background: #1565C0;
	color: #fff;
	font-weight: bold;
}

#itemArea .itemTab > li + li {
	border-left: 1px solid #1565C0;
}

#itemArea .itemTabContent {
	display: none;
}

#itemArea .itemTabContent.active {
	display: block;
}

#itemArea p.itemTabTitle {
	margin-bottom: 20px;
	color: #1565C0;
	font-size: 24px;
	font-weight: bold;
}

#itemArea p.itemTabTitle + p {
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	#itemArea .itemTab {
		margin-bottom: 40px;
	}

	#itemArea p.itemTabTitle + p {
		margin-bottom: 30px;
	}
}


/* accordion
-------------------------------------*/
#itemArea .itemAccBtn {
	all: unset;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 30px auto 0;
	width: 280px;
	height: 48px;
	border: 1px solid #CCCCCC;
	border-radius: 9999px;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
}

#itemArea .itemAccBtn::after {
	content: '';
	display: block;
	position: absolute;
	top: calc(50% - 8px);
	right: 20px;
	background-image: url(/products/other/regular_fare/img/icon_plus.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
}

#itemArea .itemAccBtn[aria-expanded="true"]::after {
	background-image: url(/products/other/regular_fare/img/icon_minus.svg);
}

#itemArea .itemAccBtn:hover {
	opacity: .7;
}

@media screen and (max-width: 767px) {
	#itemArea .itemAccBtn {
		margin: 40px auto 0;
		width: 180px;
	}
}


/* itemBtnList
-------------------------------------*/
#itemArea .itemBtnList {
	display: flex;
	gap: 40px;
	margin-top: 50px;
}

#itemArea .itemBtnList > li {
	flex: 1;
}

#itemArea .itemBtnList > li a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 0 2.5em;
	height: 90px;
	border-radius: 8px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

#itemArea .itemBtnList>li a::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 32px;
	height: 32px;
	transform: translateY(-50%);
}

#itemArea .itemBtnList > li a.orange {
	background: #F29100;
}

#itemArea .itemBtnList > li a.orange::after {
	background: url(/products/other/regular_fare/img/icon_orange_arrow_left.svg) no-repeat center center / contain;
}

#itemArea .itemBtnList > li a.blue {
	background: #1565C0;
}

#itemArea .itemBtnList > li a.blue::after {
	background: url(/products/other/regular_fare/img/icon_blue_arrow_left.svg) no-repeat center center / contain;
}

@media screen and (max-width: 767px) {
	#itemArea .itemBtnList {
		flex-direction: column;
		gap: 15px;
		margin-top: 40px;
	}

	#itemArea .itemBtnList > li a {
		height: 60px;
		font-size: 15px;
	}

	#itemArea .itemBtnList>li a::after {
		right: 15px;
		width: 22px;
		height: 22px;
	}
}



/* --------------------------------------------------------------
voiceArea
--------------------------------------------------------------- */
#voiceArea .voiceList {
	display: flex;
	gap: 30px;
}

#voiceArea .voiceList li {
	flex: 1;
	display: flex;
	gap: 20px;
	padding: 20px 30px;
	border: 1px solid #CCCCCC;
	border-radius: 8px;
}

#voiceArea .voiceList li picture {
	width: 100px;
	flex-shrink: 0;
}

#voiceArea .voiceList li .review {
	display: flex;
	flex-direction: column;
}

#voiceArea .voiceList li .review .reviewCategory p {
	display: inline-block;
	margin-bottom: 20px;
	padding: 0.25em 1em;
	font-size: 14px;
	border-radius: 9999px;
	background: #EB9C00;
	color: #fff;
}

#voiceArea .voiceList li .review p.reviewText {
	margin-bottom: 20px;
	flex: 1;
}

#voiceArea .voiceList li .review p.reviewMeta {
	font-size: 14px;
	text-align: right;
}

@media screen and (max-width: 767px) {
	#voiceArea .voiceList {
		flex-direction: column;
	}

	#voiceArea .voiceList li {
		padding: 20px 15px;
	}

	#voiceArea .voiceList li picture {
		width: 60px;
	}

	#voiceArea .voiceList li .review p.reviewCategory {
		margin-bottom: 8px;
	}

	#voiceArea .voiceList li .review p.reviewText {
		margin-bottom: 10px;
	}

	#voiceArea .voiceList li .review p.reviewMeta {
		font-size: 16px;
	}
}



/* --------------------------------------------------------------
faqArea
--------------------------------------------------------------- */
#faqArea .faqList > li {
	border: 1px solid #CCCCCC;
	border-radius: 8px;
	overflow: hidden;
}

#faqArea .faqList > li + li {
	margin-top: 10px;
}


/* faqHeader
-------------------------------------*/
#faqArea .faqList > li .faqHeader {
	position: relative;
	padding: 18px 40px 18px 20px;
	transition: 0.3s all;
	cursor: pointer;
}

#faqArea .faqList > li .faqHeader[aria-expanded="true"] {
	background: #F2F9FF;
}

#faqArea .faqList > li .faqHeader::after {
	content: '';
	display: block;
	position: absolute;
	top: calc(50% - 8px);
	right: 20px;
	background-image: url(/products/other/regular_fare/img/icon_plus.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
}

#faqArea .faqList > li .faqHeader[aria-expanded="true"]::after {
	background-image: url(/products/other/regular_fare/img/icon_minus.svg);
}

#faqArea .faqList > li .faqHeader p {
	font-weight: bold;
}


@media screen and (max-width: 767px) {
	#faqArea .faqList > li .faqHeader {
		padding: 16px 40px 16px 15px;
	}

	#faqArea .faqList > li .faqHeader::after {
		right: 15px;
	}

	#faqArea .faqList > li .faqHeader p {
		font-size: 15px;
	}
}


/* faqContent
-------------------------------------*/
#faqArea .faqList > li .faqContent {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

#faqArea .faqList > li .faqContent.active {
	max-height: 9999px;
}

#faqArea .faqList > li .faqContent .faqContentInner {
	padding: 20px;
}

#faqArea .faqList > li .faqContent .note {
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	#faqArea .faqList > li .faqContent p {
		font-size: 14px;
	}
}