@charset "UTF-8";
/*! /css/common.css */

/* font
========================================================================== */
html {font-size: 62.5%;}
body{
	font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	font-size: 1.4rem;
	line-height: 1.6;
	color: #594135;
	-webkit-text-size-adjust: 100%;
}
*, *::before, *::after {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	body{
		font-size: 1.6rem;
		min-width: 980px;
	}
}

sup{
	position: relative;
	vertical-align: top;
	top: 0;
	font-size: 1.2rem;
	padding: 0 3px;
}


/* common
========================================================================== */
.hover:hover {opacity: 0.6;}
@media only screen and (max-width: 767px) {
	.hover:hover {opacity: 1;}
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: none;
}

/* コンテンツの表示非表示 */
@media screen and (max-width: 767px) {
	.pc-show { display: none!important;}
	.sp-hide { display: none!important;}
}
@media screen and (min-width: 768px) {
	.pc-hide { display: none!important;}
	.sp-show { display: none!important;}
}

.icon-circle{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	color: #8C7062;
	line-height: 1;
	width: 14px;
	height: 14px;
	margin: 0 8px 2px 0;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
}
.icon-circle::before {
	content: '';
	color: #fff;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 4px 5px;
	border-left-color: currentColor;
	border-right: 0;
	position: absolute;
	top: 0;
	left: 1px;
	right: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 768px) {
	.icon-circle{
		margin: 0 10px 2px 0;
	}
}


/* リストマーク
========================================================================== */
.maru,.kome,.ast,.maru1,.maru2,.maru3,.maru4,.maru5,.maru6,
.maru-a,.maru-b,.maru-c,.maru-d,.maru-e,.dot,.dia,.shikaku{
	position: relative;
	padding-left: 1.1em;
}
.no1,.no2,.no3,.no4{
	position: relative;
	padding-left: 1.7em;
}
.kome1,.kome2,.kome3,.kome4,.kome5,.kome6,.kome7,.kome8{
	position: relative;
	padding-left: 2em;
}
.kako1,.kako2,.ast1,.ast2,.ast3,.ast4,.ast5,.ast6{
	position: relative;
	padding-left: 2.2em;
}
.kako-ast1,.kako-ast2{
	position: relative;
	padding-left: 3.2em;
}
.kako-tyu1,.kako-tyu2,.kako-tyu3,.kako-tyu4{
	position: relative;
	padding-left: 3.5em;
}
.source{
	position: relative;
	padding-left: 3.2em;
}
.maru:before,.kome:before,
.kome1:before,.kome2:before,.kome3:before,.kome4:before,.kome5:before,.kome6:before,.kome7:before,.kome8:before,
.ast:before,.ast1:before,.ast2:before,.ast3:before,.ast4:before,.ast5:before,.ast6:before,
.maru1:before,.maru2:before,.maru3:before,.maru4:before,.maru5:before,.maru6:before,
.maru-a:before,.maru-b:before,.maru-c:before,.maru-d:before,.maru-e:before,
.kako1:before,.kako2:before,.kako-ast1:before,.kako-ast2:before,.dot:before,.source:before,.dia:before,.shikaku:before,
.kako-tyu1:before,.kako-tyu2:before,.kako-tyu3:before,.kako-tyu4:before,.no1:before,.no2:before,.no3:before,.no4:before{
	position: absolute;
	left: 0;
	font-size: inherit;
	line-height: inherit;
}

.maru:before{content: '●';font-family: "メイリオ", Meiryo;}
.shikaku:before{content: '■';font-family: "メイリオ", Meiryo;}
.dia:before{content: '◆';font-family: "メイリオ", Meiryo;}
.kome:before{content: '※';}
.kome1:before{content: '※1';}
.kome2:before{content: '※2';}
.kome3:before{content: '※3';}
.kome4:before{content: '※4';}
.kome5:before{content: '※5';}
.kome6:before{content: '※6';}
.kome7:before{content: '※7';}
.kome8:before{content: '※8';}
.ast:before{content: '＊';}
.ast1:before{content: '＊1';}
.ast2:before{content: '＊2';}
.ast3:before{content: '＊3';}
.ast4:before{content: '＊4';}
.ast5:before{content: '＊5';}
.ast6:before{content: '＊6';}
.no1:before{content: '１.';}
.no2:before{content: '２.';}
.no3:before{content: '３.';}
.no4:before{content: '４.';}
.maru1:before{content: '\002460'}
.maru2:before{content: '\002461';}
.maru3:before{content: '\002462';}
.maru4:before{content: '\002463';}
.maru5:before{content: '\002464';}
.maru6:before{content: '\002465';}
.maru-a:before{content: '\24D0'}
.maru-b:before{content: '\24D1'}
.maru-c:before{content: '\24D2'}
.maru-d:before{content: '\24D3'}
.maru-e:before{content: '\24D4'}
.kako1:before{content: '（1）';}
.kako2:before{content: '（2）';}
.kako-ast1:before{content: '（＊1）';}
.kako-ast2:before{content: '（＊2）';}
.kako-tyu1:before{content: '（注1）';}
.kako-tyu2:before{content: '（注2）';}
.kako-tyu3:before{content: '（注3）';}
.kako-tyu4:before{content: '（注4）';}
.dot:before{content: '・';}
.source:before{content: '出典：';}


/* セクション
========================================================================== */
.block-sec:not(:last-child) {margin-bottom: 30px;}
@media screen and (min-width: 768px) {
	.block-sec:not(:last-child) {margin-bottom: 50px;}
}

.elm-section {margin-bottom: 20px!important;}
.elm-section-m {margin-bottom: 25px!important;}
.elm-section-l {margin-bottom: 30px!important;}
@media screen and (min-width: 768px) {
	.elm-section-l {margin-bottom: 40px!important;}
}


/* 余白
========================================================================== */
.mt0{margin-top: 0!important;}
.mt5{margin-top: 5px!important;}
.mt10{margin-top: 10px!important;}
.mt15{margin-top: 15px!important;}
.mt20{margin-top: 20px!important;}
.mt30{margin-top: 30px!important;}
.mt40{margin-top: 40px!important;}

.mb0{margin-bottom: 0!important;}
.mb5{margin-bottom: 5px!important;}
.mb10{margin-bottom: 10px!important;}
.mb15{margin-bottom: 15px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30{margin-bottom: 30px!important;}
.mb40{margin-bottom: 40px!important;}

.mr0{margin-right: 0!important;}
.mr5{margin-right: 5px!important;}
.mr10{margin-right: 10px!important;}
.mr15{margin-right: 15px!important;}
.mr20{margin-right: 20px!important;}

.ml0{margin-left: 0!important;}
.ml5{margin-left: 5px!important;}
.ml10{margin-left: 10px!important;}
.ml15{margin-left: 15px!important;}
.ml20{margin-left: 20px!important;}

.pt0{padding-top: 0px!important;}
.pt5{padding-top: 5px!important;}
.pt10{padding-top: 10px!important;}
.pt15{padding-top: 15px!important;}
.pt20{padding-top: 20px!important;}

.pb0{padding-bottom: 0px!important;}
.pb5{padding-bottom: 5px!important;}
.pb10{padding-bottom: 10px!important;}
.pb15{padding-bottom: 15px!important;}
.pb20{padding-bottom: 20px!important;}

.pr0{padding-right: 0px!important;}
.pr5{padding-right: 5px!important;}
.pr10{padding-right: 10px!important;}
.pr15{padding-right: 15px!important;}
.pr20{padding-right: 20px!important;}

.pl0{padding-left: 0px!important;}
.pl5{padding-left: 5px!important;}
.pl10{padding-left: 10px!important;}
.pl15{padding-left: 15px!important;}
.pl20{padding-left: 20px!important;}


/* inner
========================================================================== */
.topline__box,.header,.gnav,.main-area__box,.main-column,.product-column{
	width: 980px;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.product-column{
		width: 100%;
		overflow: hidden;
	}
	.main-column{
		width: 100%;
		padding: 0 10px;
		overflow: hidden;
	}
}


header {width:100%;}

.header{
	position: relative;
	display: flex;
	background: #fff;
	overflow: hidden;
}

.header__top{
	display: flex;
	align-items: center;
}
.header__ifc > a > img{
	display: block;
	width: 116px;
	height: auto;
	margin-top: 6px;
}

.header__medicare{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 20px;
}
.header__medicare > a > img{
	display: block;
	width: 100px;
	height: auto;
}

.header__ifc > p,
.header__medicare > p{
	color: #8C7062;
	font-size: 1.0rem;
	line-height: 1;
}

@media screen and (min-width: 768px){
	.header{
		justify-content: space-between;
		align-items: center;
		padding: 14px 0;
	}

	.header__top .btn-tel a{
		display: flex;
		align-items: center;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1;
		text-decoration: none;
		padding: 11px 15px;
		margin: 0 0 0 15px;
		border-color: #D3BCB4;
		border-radius: 5px;
	}
	.header__top .btn-tel a img{
		width: auto;
		height: 22px;
		margin-right: 8px;
	}

	.header__ifc > a > img{
		width: 160px;
		margin-top: 8px;
	}
	.header__medicare > a > img{
		width: 200px;
	}
	.header__ifc > p,
	.header__medicare > p{
		font-size: 1.2rem;
	}
}
@media all and (min-width: 768px),(-ms-high-contrast: none){
	.header__medicare {top: 15px;}
}

@media screen and (max-width: 767px) {
	.header{
		flex-direction: column;
		width: 100%;
	}

	.header__top{
		align-items: center;
		justify-content: space-between;
		padding: 0 2%;
		margin: 8px 0;
	}
	.header__top .btn-tel{
		display: none;
	}

	.header__medicare{
		gap: 0 12px;
		width: 100%;
		padding: 8px 0;
		background: #FAF6F5;
	}
}


/* gnav
========================================================================== */
.gnav_block{
	position: relative;
	background: #fff;
	box-shadow: rgba(89, 61, 47, 0.1) 0px 2px 4px;
}
.gnav-main{
	display: flex;
	width: 100%;
	height: 75px;
	line-height: 1.3;
}
.gnav-main li{
	position: relative;
	vertical-align: middle;
	text-align: center;
	width: 100%;
}
.gnav-main li::before{
	position: absolute;
	content: "";
	display: block;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	height: 30px;
	width: 1px;
	background-color: #DED1C8;
}
.gnav-main li:last-child a::after{
	position: absolute;
	content: "";
	display: block;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 0;
	height: 30px;
	width: 1px;
	background-color: #DED1C8;
}

.gnav-main li .gnav-main__sub{
	display: inline-block;
	font-size: 1.4rem;
}
.gnav-main li:hover a,
.gnav-main li:hover div,
.gnav-main .btn-select a,
.gnav-main .btn-select div{
	border-bottom: 3px solid #FF6E15;
}
.gnav-main li div,
.gnav-main li a{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #594135;
	font-weight: bold;
	text-align: center;
	width: 100%;
	height: 100%;
	cursor: pointer;
	border-bottom: 3px solid #fff;
}
.gnav-main span{
	vertical-align: middle;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
}
.gnav-main span.gnav-main__cat{
	display: block;
	color: #805A47;
	font-size: 1.4rem;
	font-weight: normal;
	padding-top: 4px;
}

.gnav-product {
	position: absolute;
	display: none;
	top: 70px;
	width: 980px;
	font-size: 1.4rem;
	padding: 20px 30px 10px;
	background: #f2f6f7;
	border-radius: 0 0 10px 10px;
	box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 10px inset;
	overflow: hidden;
	z-index: 1000;
}
.gnav-product li {
	display: block;
	float: left;
	width: 49%;
	margin-bottom: 15px;
	background: #fff;
	border-radius: 10px;
}
.gnav-product li:nth-child(even) {
	float: right;
}
.gnav-product li a {
	display: flex;
	align-items: center;
	width: 100%;
	font-weight: bold;
}
.gnav-product li a b {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
	height: 80px;
}
.gnav-product li a img {
	width: 100px;
	height: 50px;
}
.gnav-product li a span {
	display: flex;
	align-items: center;
    color: #4d4d4d;
	width: 70%;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.2;
}
.gnav-product li a:hover {
	opacity: 0.6;
}

.m-modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .7);
	z-index: 900;
	cursor: pointer;
}
[v-cloak] {
	display: none;
}
.caution-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .7);
	z-index: 100;
	cursor: pointer;
}
.caution-modal-overlay div {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	background: #fff;
	padding: 30px 50px;
	font-size: 1.6rem;
	border-radius: 15px;
}
.batsu-wrapper {
	position: absolute;
	right: 15px;
	top: 15px;
}
.batsu {
	display: block;
	position: relative;
	width: 20px;
	height: 20px;
}
.batsu::before, .batsu::after { /* 共通設定 */
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px; /* 棒の幅（太さ） */
	height: 20px; /* 棒の高さ */
	background: #333;
	border-radius: 2.5px;
}
.batsu::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.batsu::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

.header__sp-btn,
.sp-nav{
	display: none;
}

@media screen and (max-width: 767px) {
	.gnav, .gnav_block {display: none;}

	.header__sp-btn{
		display: flex;
		flex-direction: row;
	}
	.sp-menu-btn{
		display: block;
		width: 40px;
		height: 40px;
		background: url(/life/medicare/img/icon/icon_menu.svg) no-repeat center center;
		background-size: 34px 34px;
	}
	.btn-close{
		background: url(/life/medicare/img/icon/icon_menu_close01.svg) no-repeat center center;
		background-size: 34px 34px;
	}
	.sp-tel-btn.open-tel-modal-link{
		display: block;
		width: 40px;
		height: 40px;
		background: url(/life/medicare/img/icon/icon_header-tel.svg) no-repeat center center;
		background-size: 34px 34px;
	}

	.sp-nav{
		position: absolute;
		width: 100%;
		background: #F6EEEB;
		z-index: 1000;
	}
	.sp-nav__ttl{
		position: relative;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		padding: 8px 10px;
		background-color: #594135;
	}
	.sp-nav__ttl span{
		display: block;
	}
	.sp-nav__close{
		color: #805A47;
		padding: 0 10px 10px;
		text-align: center;
		font-weight: bold;
		font-size: 1.4rem;
		position: relative;
	}
	.sp-nav__close-menu{
		max-width: 10px;
		margin-right: 6px;
		vertical-align: middle;
	}
	.sp-nav__link{
		background-color: #fff;
	}
	.sp-nav__link li{
		font-size: 1.4rem;
		border-bottom: 1px solid #E6DDDA;
	}
	.sp-nav__link li a{
		position: relative;
		display: block;
		color: #594135;
		padding: 12px 10px 12px;
	}
}

/** iOSでのhover無効 *****************************************************/
.ios .gnav li a:hover:after {
	display: none !important;
}


/* mainTitle
========================================================================== */
.main-title___area{
	color: #fff;
	font-size: 12px;
	padding: 10px 0;
	margin: 0 auto;
	background-color: #594135;
}
@media screen and (max-width: 767px) {
	.main-title___area{
		text-align: center;
		padding: 5px 0;
	}
}
@media screen and (min-width: 768px) {
	.main-title___area{
		color: #805A47;
		padding: 12px 0 10px;
		background-color: #F6EEEB;
	}
	.main-title___area h1{
		width: 980px;
		margin: 0 auto;
	}
}


/* article-bg
========================================================================== */
.article-bg{
	background: #fff;
	padding: 24px 0;
}
.article-bg-basis{
	padding: 32px 0 64px;
}
@media screen and (min-width: 768px) {
	.article-bg{
		padding: 40px 0 80px;
	}
	.article-bg-basis{
		padding: 56px 0 120px;
	}
}


/* mainArea
========================================================================== */
.main-area {
	position: relative;
	width: 100%;
	background-color: #F6EEEB;
	overflow: hidden;
}
.main-area__img {
	width: 100%;
	z-index: 2;
	overflow: hidden;
}
.main-area__img img {
	display: block;
}

.main-area__nav {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 16px 20px 24px;
}
.main-area__nav > p {
	position: relative;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 12px;
}
.main-area__nav > p::before,
.main-area__nav > p::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: -32px;
	margin: auto;
	background: url(/life/medicare/img/top/bg_btn_area_left.svg);
	width: 17px;
	height: 30px;
}
.main-area__nav > p::after {
	left: auto;
	right: -32px;
	background: url(/life/medicare/img/top/bg_btn_area_right.svg);
}
.main-area__nav > p span {
	font-size: 1.8rem;
}
.main-area__nav li:first-of-type {
	margin-bottom: 13px;
}
.main-area__nav li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	border-radius: 5px;
}
.main-area__nav img {
	width: 30px;
	height: auto;
	margin: 0 12px 3px 0;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.main-area__box {
		width: 100%;
		height: auto;
	}
	.main-area__nav li {
		width: 100%;
		margin: 0 auto;
	}
	.main-area__nav li:first-child {
		margin-bottom: 12px;
	}
}
@media screen and (min-width: 768px) {
	.main-area__box {
		position: relative;
		margin: 0 auto 25px;
	}
	.main-area__box::before {
		content: '';
		display: block;
		position: absolute;
		top: -10px;
		right: -20px;
		width: 20px;
		height: 345px;
		background-color: #F6EEEB;
		z-index: 20;
	}
	.main-area__img {
		height: 325px;
		border-radius: 10px;

		background-color: #fff;
	}
	.main-area__nav {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 300px;
		height: 270px;
		margin: auto;
		background-color: #F6EEEB;
		border-radius: 10px 0 0 10px;
		box-shadow: 0 0px 10px rgba(89, 61, 47, 0.4);
		z-index: 10;
	}
	.main-area__nav > p span {
		font-size: 2.0rem;
	}
	.main-area__nav li {
		width: 260px;
	}
	.main-area__nav li:first-child {
		margin-right: 20px;
	}
	.main-area__nav li a {
		font-size: 2.2rem;
		height: 70px;
	}
}

.slick-dots li.slick-active button:before {background: #805A47!important;}
.slick-dots li button:before {background: #D3BCB4!important;}
@media screen and (min-width: 768px) {
	.slick-dots{
		left: 25px!important;
		right: auto!important;
		width: auto!important;
	}
}


/* トップ 保険商品一覧
========================================================================== */

/* ttl-plist */
.ttl-plist{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin: 40px 0 16px;
}
@media screen and (min-width: 768px) {
	.ttl-plist{
		font-size: 2.6rem;
		margin: 48px 0 20px;
	}
}

.product-area__ttl{
	position: relative;
	text-align: center;
	margin: 0 0 26px;
}

.ttl-product__genre{
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}
/*左側のリボン端*/
.ttl-product__genre::before {
	content: '';
	position: absolute;
	width: 10px;
	bottom: -10px;
	left: -30px;
	z-index: -2;
	border: 20px solid #FF8C40;
	border-left-color: transparent;/*山形に切り抜き*/
}
/*右側のリボン端*/
.ttl-product__genre::after {
	content: '';
	position: absolute;
	width: 10px;
	bottom: -10px;
	right: -30px;
	z-index: -2;
	border: 20px solid #FF8C40;
	border-right-color: transparent;/*山形に切り抜き*/
}

.ttl-product__genre span{
	position: relative;
	display: inline-block;
	padding: 8px;
	background-color: #FF6E15;
	min-width: 220px;
}
.ttl-product__genre span::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 10px #FE5200;/*左の折り返し部分*/
}
.ttl-product__genre span::after {
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-left: solid 10px #FE5200;/*右の折り返し部分*/
}

@media screen and (min-width: 768px) {
	.product-area__ttl{
		margin: 0 0 34px;
	}
	.product-area__ttl::before{
		content: " ";
		display: block;
		position: absolute;
        bottom: 9px;
		left: 0;
		right: 0;
		width: 970px;
		height: 6px;
		margin: auto;
		background-image: repeating-radial-gradient(
			circle,
			#FFB689 0px,
			#FFB689 2px,
			transparent 3px,
			transparent 10px
		);
		background-size: 12px 6px;
		background-repeat: repeat-x;
		background-position: center;
		z-index: -10;
	}

	.ttl-product__genre {
		font-size: 2.0rem;
	}
	.ttl-product__genre::before,
	.ttl-product__genre::after {
		border: 22px solid #FF8C40;
	}
	.ttl-product__genre::before {
		left: -34px;
		border-left-color: transparent;
	}
	.ttl-product__genre::after {
		right: -34px;
		border-right-color: transparent;
	}

	.ttl-product__genre span {
		min-width: 300px;
	}
}

/* product-area
-------------------------------------------------------------------------- */
.product-area{
	padding: 0;
	margin: 0 0 40px;
}

.product__box{
	display: flex;
	text-align: center;
	background: #fff;
	border: 1px solid #D3BCB4;
}
.product__box + .product__box {
	margin-top: 20px;
}

.product__img {
	display: flex;
	align-items: center;
	justify-content: center;
}
.product__img img{
	width: 100%;
	max-width: 240px;
}

.product__inner{
	width: 100%;
	padding: 24px 16px 18px;
}
.product__category{
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-bottom: 16px;
}
.product__category li {
	font-size: 1.3rem;
	color: #805A47;
	border: 1px solid #D3BCB4;
	border-radius: 5px;
	padding: 2px 12px;
}
.product__category li:not(:first-child) {
	margin-left: 10px;
}

.product__text dt{
	font-size: 2.0rem;
	font-weight: bold;
	margin: 16px 0 8px;
}
.product__text dt span{
	font-size: 1.4rem;
	display: block;
}

.product__info{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF2EA;
}
.product__info ul{
	display: flex;
	flex-direction: column;
	width: 100%;
}
.product__info ul li {
	display: flex;
	width: 100%;
}
.product__info ul li:hover{
	opacity: 0.6;
}
.product__info ul li a{
	display: flex;
	align-items: center;
	color: #594135;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: left;
	line-height: 1.5;
	width: 100%;
	padding: 8px 10px;
	background-color: #fff;
	border: 1px solid #D3BCB4;
	border-radius: 3px;
	box-shadow: 0 3px 0 rgba(211, 188, 180, 1);
}

/* 商品別 */
.product__box--medifit-a .product__info li a .icon-circle {background-color: #EF8200;}
.product__box--medifit-re .product__info li a .icon-circle {background-color: #00A8E9;}
.product__box--medifit-gan .product__info li a .icon-circle {background-color: #DD2723;}
@media screen and (min-width: 768px) {
	.product__box--medifit-a {border-left: 3px solid #EF8200;}
	.product__box--medifit-re {border-left: 3px solid #00A8E9;}
	.product__box--medifit-gan {border-left: 3px solid #DD2723;}
}

@media screen and (max-width: 767px) {
	.product__box {
		flex-direction: column;
		align-items: center;
	}
	.product__img {
		width: 100%;
		margin-top: 32px;
	}
	.product__info {
		width: 100%;
		padding: 12px 12px 14px;
	}
	.product__info ul {
		gap: 8px;
		flex-direction: row;
	}
}
@media screen and (min-width: 768px) {
	.product-area {
		margin: 0 0 48px;
	}

	.product__img {
		width: 240px;
		min-width: 240px;
	}
	.product__img a{
		width: 180px;
	}
	.product__img img{
		max-width: 180px;
	}

	.product__inner{
		padding: 24px 32px 24px 0;
	}
	.product__category {
		justify-content: flex-start;
	}
	.product__text{
		text-align: left;
	}
	.product__text dt {font-size: 2.2rem;}
	.product__text dd {font-size: 1.5rem;}
	.product__text dt span {font-size: 1.6rem;}

	.product__info {
		width: 290px;
		min-width: 290px;
		padding: 20px;
	}
	.product__info ul {
		gap: 10px;
		justify-content: center;
	}
	.product__info ul li a {
		font-size: 1.5rem;
		padding: 14px 24px 11px;
	}
}


/* footer
========================================================================== */
footer {
	font-size: 1.2rem !important;
}
#footerNav ul {
	width: 980px;
	margin: 0 auto;
	padding: 15px 0;
}
#footerNav ul::after {
	content: "";
	display: block;
	clear: both;
}
#footerNav ul li {
	float: left;
	padding-right: 15px;
	margin-right: 15px;
	border-right: 1px solid #D3BCB4;
}
#footerNav ul li a {
	color: #594135;
	text-decoration: none;
}

.fConts-bg {
	background-color: #EFE6E1;
}
.fConts-bg:not(:first-of-type){
	border-top: 1px solid #D3BCB4;
}
.fConts-inner {
	width: 980px;
	margin: 0 auto;
	padding: 15px 0;
}

.fConts-inner::after {
	content: "";
	display: block;
	clear: both;
}

.fConts-inner .com-name {
	float: left;
	margin-right: 30px;
}
.fConts-inner .com-address{
	float: left;
}

.fLink-hikaku h2 {
	font-weight: bold;
	border-top: 1px solid #D3BCB4;
	padding: 10px 0 5px;
	margin-top: 10px;
}

.fLink-hikaku a {
	color: #333;
	text-decoration: none;
	display: block;
	width: 237px;
	height: 40px;
	background-color: #fff;
	float: left;
	border-radius: 3px;
	margin-right: 10px;
	margin-bottom: 5px;
	line-height: 1.2;
	padding: 13px 0 10px 40px;
	position: relative;
}
.fLink-hikaku a:hover {
	opacity: 0.7;
	text-decoration: none;
}

@media only screen and (max-width: 767px) {
	.fLink-hikaku a:hover {
		opacity: 1.0;
	}
}
@media only screen and (max-width: 600px) {
	footer {
		margin-bottom: 50px;
	}
}
@media only screen and (min-width: 768px){
	#footerNav ul li a.link-blank {
		background-position: right 0px center;
		padding-right: 20px;
	}
}

.fLink-hikaku a img {
	width: 24px;
	height: 24px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8px;
	margin: auto;
}
.fLink-hikaku a:nth-of-type(4n) {
	margin-right: 0;
}

#footer-Privacy {
	width: 980px;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 1.0rem;
	color: #8C7062;
}
#footer-Privacy,
#footer-Privacy ul {
	display: flex;
	align-items: center;
}
#footer-Privacy ul {
	flex-grow: 0;
	flex-shrink: 0;
}
#footer-Privacy li img {
	margin-right: 20px;
}
#footer-Privacy li.isms img {
	height: 60px;
}
#footer-Privacy li.pmark img {
	width: 60px;
	height: 60px;
}
#footer-Privacy p {
	width: auto;
	text-align: left;
	flex-grow: 1;
	flex-shrink: 1;
}
#footer-copy {
	background-color: #594135;
}
#footer-copy address {
	width: 980px;
	margin: 0 auto;
	padding: 8px 20px;
	color: #fff;
	text-align: center;
	font-size: 1.1rem;
}

@media only screen and (max-width: 767px) {
	#footerNav ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}
	#footerNav ul li {
		float: none;
		padding: 0;
		margin: 0;
		border: none;
	}
	#footerNav ul li a {
		float: left;
		display: block;
		width: 50%;
		padding: 10px;
		margin: 0;
		border-right: 1px solid #d3dbde;
		border-bottom: 1px solid #d3dbde;
	}
	#footerNav ul li:nth-child(-n+1) {
		border-top: 1px solid #d3dbde;
	}
	#footerNav ul li:nth-child(2n) a {
		border-right: none;
	}
	#footerNav ul li:last-child a {
		border-right: none;
		border-bottom: none;
		width: 100%;
	}
	.fConts-inner {
		width: 100%;
		padding: 10px;
	}
	.fConts-inner .com-name {
		float: none;
		margin-right: 30px;
	}
	.fLink-hikaku a {
		width: 49%;
		margin: 0 0 5px 0;
	}
	.fLink-hikaku a:nth-child(odd) {
		float: right;
	}
	#footer-Privacy {
		width: 100%;
		padding: 15px 10px 0;
		text-align: center;
		flex-direction: column;
	}
	#footer-Privacy p{
		width: 100%;
		margin: 10px;
	}
	#footer-copy address {
		width: 100%;
		padding: 5px 10px;
	}
}
@media only screen and (min-width: 768px){
	#footerNav {
		border-top: 1px solid #D3BCB4;
	}
	#footerNav ul li:first-child {
		padding: 0 15px;
		border-left: 1px solid #D3BCB4;
	}
}


/* SP用固定フッターナビ
========================================================================== */
@media screen and (min-width: 600px) {
	#spfnav-fixed {
		display: none!important;
	}
}
#spfnav-fixed {
	display: table;
	bottom: -50px;
	width: 100%;
	height: 50px;
	position: fixed;
	z-index: 9999;
	background: #F6EEEB;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-webkit-transition-timing-function: ease;
	transition-timing-function: ease;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
}
#spfnav-fixed.slide-sp {
		bottom: 0;
}
#spfnav-fixed .menu-bottom-block {
	display: table-cell;
	font-size: 1.5rem;
	text-align: center;
	vertical-align: middle;
	padding: 5px;
	border-right: 1px solid #D3BCB4;
}
#spfnav-fixed .menu-bottom-block:last-child {
	border-right: none;
}
#spfnav-fixed .menu-bottom-sp-shiryo {
	display: block;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 40px;
	height: 40px;
	background-color: #22AD48;
	border-radius: 5px;
	box-shadow: rgba(30, 148, 61, 1) 0px 2px 0;
}
#spfnav-fixed a {
	text-decoration: none;
	color: #665933;
}
#spfnav-fixed img {
	width: 20px;
	vertical-align: middle;
	margin-right: 6px;
	margin-bottom: 2px;
}
#spfnav-fixed .menu-bottom-sp-shiryo  img{
	width: 22px;
}
#pagetop_sp {
	width: 40px;
	position: relative;
}
#pagetop_sp:after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 12px;
	height: 12px;
	border-top: 2px solid #805A47;
    border-right: 2px solid #805A47;
	top: 23px;
	left: 0;
	right: 0;
	transform: rotate(-45deg);
}


/* pan
========================================================================== */
#pan{
	width: 100%;
}
#pan ul {
	font-size: 1.2rem;
	position: relative;
	max-width: 980px;
	padding: 6px 0 4px;
	margin: 0 auto;
	letter-spacing: 0.03em;
}
@media screen and (max-width:599px) {
	#pan ul {
		padding: 6px 0;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
}
#pan li {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	padding: 0 10px 0 0;
	line-height: 1.4;
	color: #8C7062;
}
#pan li:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-top: 1px solid #8C7062;
	border-right: 1px solid #8C7062;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#pan li:not(:first-child) {
	padding-left: 10px;
}
#pan li a {
	color: #8C7062;
}
@media screen and (min-width: 768px) {
	#pan{
		background-color: #FAF6F5;
	}
}
@media screen and (max-width: 767px) {
	#pan ul {
		width: 100%;
		padding: 8px 10px 0;
		font-size: 1rem;
	}
	.body-service #pan ul {
		padding: 1.4% 2%;
	}
}


/* 商品ナビゲーション（.nav-product）
========================================================================== */
.nav-product-column{
	width: 100%;
}
.nav-product{
	width: 100%;
	margin-top: 30px;
	padding: 0 30px;
	display: flex;
	display: -webkit-box;
    display: -webkit-flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.nav-product li{
	flex: 1 0 0%;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
}
.nav-product li:nth-child(even){
	margin-left: 10px;
}
.nav-product li a{
	color: #594135;
	display: flex;
	display: -webkit-box;
    display: -webkit-flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
	min-height: 45px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	padding: 10px;
	margin: 0 auto;
	background: #fff;
}
.nav-product .nav-product__on a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	width: calc(100% - 4px);
	height: 2px;
	background: #fff;
	left: 2px;
}
.nav-product .nav-product__on a .icon-circle {
	background-color: #FF8C40;
	transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
	.nav-product{
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.nav-product li{
		flex: auto;
		width: calc(100% / 2 - 20px);
		font-size: 1.4rem;
	}
	.nav-product li:nth-child(n + 3) {
        margin-top: 10px;
    }
	.nav-product li a{
		justify-content: flex-start;
		text-align: left;
		border: 1px solid #D3BCB4;
		border-radius: 5px;
	}
	.nav-product .nav-product__on a{
		background-color: #F6EEEB;
	}
}
@media screen and (min-width: 768px) {
	.nav-product-column{
		border-bottom: 2px solid #D3BCB4;
	}
	.nav-product {
		width: 980px;
		margin: 0 auto;
	}
	.nav-product li:not(:first-child){
		margin-left: 20px;
	}
	.nav-product li a{
		color: #8C7062;
		padding: 14px 0 10px;
		min-height: 60px;
		background: #F6EEEB;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}
	.nav-product .nav-product__on a{
		color: #594135;
		background-color: #fff;
		border: 2px solid #D3BCB4;
		border-bottom: none;
	}
}


/* 各種お手続き
========================================================================== */

/*--- 共通 ---*/
.btn-proceed{
	width: 100%;
}
.btn-proceed a{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
	text-decoration: none;
	border-radius: 5px;
	height: 70px;
	letter-spacing: 0.02em;
}
.btn-proceed a .txt-ss{
	display: block;
	font-weight: normal;
}
.btn-proceed a img{
	width: 34px;
	height: auto;
	margin: 0 12px 0 0;
	vertical-align: middle;
}
.box-proceed .btn-consul img {width: 34px; margin: 0 14px 0 0;}

.box-proceed p.txt-ss:last-child {margin-top: 8px;}

.btn-shiryo a {background-color: #22AD48; box-shadow: rgba(30, 148, 61, 1) 0px 3px 0;}
.btn-consul a {background-color: #805A47; box-shadow: rgba(102, 65, 47, 1) 0px 3px 0;}
.btn-net a {background-color: #FF6E15; box-shadow: rgba(255, 81, 0, 1) 0px 3px 0;}

.btn-tel a {
	color: #805A47;
	background-color: #fff;
	border: 1px solid #805A47;
	box-shadow: rgba(211, 188, 180, 1) 0px 3px 0;
}
.box-proceed__tel .btn-tel img {width: 22px;}


/*---------- 資料請求・面談予約・ネット申込 ----------*/
.box-proceed {
	position: relative;
	width: 980px;
	text-align: center;
	padding: 15px 0;
	margin: 0 10px;
	background-color: #FFF2EA;
	border-radius: 10px;
}
.box-proceed.proceed-2col:has(.col-net) {
	padding: 15px 0 20px;
}

.box-proceed .col-ttl{
	position: relative;
	display: inline-block;
	font-weight: bold;
	padding-bottom: 6px;
}
.box-proceed .col-ttl::before,
.box-proceed .col-ttl::after{
	content: '';
	position: absolute;
	display: inline-block;
	bottom: 18px;
	right: -25px;
	width: 22px;
	height: 2px;
	background-color: #22AD48;
	-webkit-transform: rotate(-50deg);
	transform: rotate(-50deg);
}
.box-proceed .col-ttl::before{
	left: -25px;
	right: auto;
	-webkit-transform: rotate(50deg);
	transform: rotate(50deg);
}
.box-proceed .col-contact .col-ttl::before,
.box-proceed .col-contact .col-ttl::after{
	background-color: #805A47;
}
.box-proceed .col-net .col-ttl::before,
.box-proceed .col-net .col-ttl::after{
	background-color: #FF6E15;
}

.box-proceed .col-btn__2col{
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

@media only screen and (min-width: 768px) {
	.box-proceed{
		margin: 0 auto 40px;
	}
	.box-proceed.proceed-2col{
		padding: 20px 60px 15px;
	}
	.box-proceed.proceed-2col:has(.col-contact > .col-btn__2col){
		padding: 20px 20px 15px;
	}
	.box-proceed.proceed-2col:has(.col-net) {
		padding: 20px 30px 28px;
	}

	.box-proceed__col{
		display: flex;
	}
	.box-proceed__col > div{
		flex: 1;
		width: 100%;
	}

	.box-proceed.proceed-2col .box-proceed__col > div:last-child{
		padding-left: 30px;
		margin-left: 30px;
		border-left: 2px solid #FFDECA;
	}
	.box-proceed.proceed-2col .box-proceed__col > div.col-contact:has(.col-btn__2col),
	.box-proceed.proceed-2col .box-proceed__col > div.col-net{
		padding-left: 25px;
		margin-left: 25px;
	}
	.box-proceed.proceed-2col .box-proceed__col > div .col-btn__2col li{
		width: 280px;
	}

	.box-proceed .col-btn__2col{
		flex-direction: row;
		gap: 0 20px;
	}
}
@media only screen and (max-width: 767px) {
	.box-proceed {
		width: auto;
	}

	.box-proceed__col{
		padding: 0 10px;
	}

	.box-proceed .col-ttl{
		font-size: 1.6rem;
		padding-bottom: 8px;
	}
	.proceed-2col .box-proceed__col > div:last-child{
		padding-top: 15px;
		margin-top: 20px;
		border-top: 2px solid #FFDECA;
	}
}

/*--- お問い合わせ・ご相談 ---*/
.box-proceed__tel{
	font-weight: bold;
	padding: 15px 15px 20px;
	margin: 20px 2% 30px;
}
.box-proceed__ttl {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	margin: 0 0 10px;
}
.box-proceed__ttl span{
	display: block;
	font-size: 1.5rem;
}
.box-proceed__btn li:first-child {
	margin-right: 20px;
}
@media only screen and (min-width: 768px) {
	.box-proceed__tel{
		width: 980px;
		padding: 0 130px;
		margin: 40px auto 48px;
	}
	.box-proceed__ttl {
		font-size: 2.0rem;
	}
	.box-proceed__btn {
		display: flex;
		justify-content: center;
	}
}
@media only screen and (max-width: 767px) {
	.box-proceed__btn li:first-child {
		margin-bottom: 10px;
	}
	.box-proceed__btn li a {
		font-size: 1.8rem;
	}
}


/* 商品一覧（.box-fproduct）
========================================================================== */
.box-fproduct{
	padding: 20px 20px 24px;
	background-color: #F6EEEB;
	border-radius: 10px;
}
.box-fproduct__ttl{
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 8px;
}

.box-fproduct .row-col3{
	gap: 12px;
}
.box-fproduct__in{
	position: relative;
	border: 1px solid #D3BCB4;
	border-radius: 8px;
	box-shadow: rgba(211, 188, 180, 1) 0px 2px 0;
	overflow: hidden;
}
.box-fproduct__in:hover{
	opacity: 0.6;
}
.box-fproduct__in a{
	display: block;
	width: 100%;
}

.box-fproduct__in ul{
	position: relative;
	width: 100%;
	display: table;
	padding: 12px 10px 25px;
	background-color: #fff;
}
.box-fproduct__in li{
	text-align: center;
	display: table;
	vertical-align: middle;
	margin: 0 auto;
	font-size: 1.4rem;
	line-height: 1.5;
	position: relative;
}
.box-fproduct__in li:last-child{
	padding: 8px 0 0;
}
.box-fproduct__in li .box-fproduct__name{
	color: #805A47;
}
.box-fproduct__in li img{
	width: 100%;
	max-width: 190px;
	height: 60px;
}
@media screen and (max-width: 767px) {
	.box-fproduct {
		margin: 30px 10px;
	}
}
@media screen and (min-width: 768px) {
	.box-fproduct{
		width: 980px;
	}
	.box-fproduct__ttl{
		font-size: 2.2rem;
	}

	.box-fproduct .row-col3{
		gap: 16px;
	}
	.box-fproduct__in ul{
		padding: 16px 20px 24px;
	}
	.box-fproduct__in li:last-child{
		padding: 10px 0 0;
	}
	.box-fproduct__in li img{
		max-width: none;
		height: 70px;
	}
}


/* form
========================================================================== */
input[type="text"], button, textarea {
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	width: 100%;
	outline: none;
	border: 1px solid #ccc;
	padding: 8px;
	font-size: 1.6rem;
	border-radius: 3px;
	box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.075);
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

input[type="text"]:focus,
textarea:focus {
	box-shadow: 0 0 7px #4db3e0;
	border: 1px solid #4db3e0;
}

textarea {
	max-width: 100%;
}

select {
	outline: none;
	border: 1px solid #ccc;
	padding: 6px 6px 8px 6px;
	color: #333;
	font-size: 1.6rem;
	border-radius: 3px;
	box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.075);
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
	background-color: #fff;
}

select option{
	background-color: #fff;
}

select:focus {
	box-shadow: 0 0 7px #4db3e0;
	border: 1px solid #4db3e0;
}

::-webkit-input-placeholder {
	color: #aaa;
}

::-moz-placeholder {
	color: #aaa;
	opacity: 1;
}

:-ms-input-placeholder {
	color: #aaa;
}

input[type="text"]:disabled {
	background: #f1f1f1;
}

select:disabled {
	background: #f1f1f1;
}


/* module(layout)
========================================================================== */
.row-col2, .row-col3, .row-col4, .row-col5 {
	display: grid;
	gap: 15px 0;
}
@media screen and (min-width: 768px) {
	.row-col2, .row-col3, .row-col4, .row-col5 {
		gap: 20px;
	}
	.row-col2 {grid-template-columns: repeat(2, 1fr);}
	.row-col3 {grid-template-columns: repeat(3, 1fr);}
	.row-col4 {grid-template-columns: repeat(4, 1fr);}
	.row-col5 {grid-template-columns: repeat(5, 1fr);}
}


/* module(title)
========================================================================== */

/* ttl-product
-------------------------------------------------------------------------- */
.ttl-product {
	display: grid;
	margin: 0 auto 20px;
}

.ttl-product__img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.ttl-product__img img{
	max-height: 100px;
}

.ttl-product h1 {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
}
.ttl-product__ttl {
	margin-bottom: 12px;
	letter-spacing: 0.05em;
}
.ttl-product__ttl span{
	display: block;
	font-size: 1.6rem;
	margin-bottom: 4px;
}
.ttl-product__page{
	display: block;
	color: #8C7062;
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: 0.05em;
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.ttl-product {
		text-align: center;
		padding: 0 10px;
	}
	.ttl-product__img { order: 2;}
	.ttl-product__catchcopy { order: 1;}
	.ttl-product h1 { order: 3;}

	.ttl-product__catchcopy {
		font-size: 1.5rem;
	}
	.ttl-product__img {
		margin: 16px auto 24px;
	}
}
@media screen and (min-width: 768px) {
	.ttl-product {
		display: grid;
		grid-template-columns: max-content auto;
		grid-template-rows: auto auto;
		gap: 12px 40px;
		width: 980px;
		margin: 0 auto 40px;
	}

	.ttl-product__img {
		grid-area: 1 / 1 / 3 / 2;
		width: 300px;
		min-width: 300px;
		height: 170px;
		background: #fff;
		border: 1px solid #E6DDDA;
		border-radius: 15px;
	}
	.ttl-product__img img{
		max-width: 240px;
		max-height: none;
	}

	.ttl-product__catchcopy {
		grid-area: 1 / 2 / 2 / 3;
		align-self: end;
	}

	.ttl-product h1 { grid-area: 2 / 2 / 3 / 3; }
	.ttl-product__ttl {
		font-size: 3.0rem;
	}
	.ttl-product__ttl span{
		font-size: 1.8rem;
	}
	.ttl-product__page{
		font-size: 2.2rem;
	}
}

/* color */
.medifit-a .ttl-product__catchcopy {color: #F06F00;}
.medifit-re .ttl-product__catchcopy {color: #00A8E9;}
.medifit-gan .ttl-product__catchcopy {color: #DD2723;}

/* ttl-main
-------------------------------------------------------------------------- */
.ttl-main{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	font-size: 2.8rem;
	font-weight: bold;
	width: 100%;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 32px;
	letter-spacing: 0.04em;
}
.ttl-main::before,
.ttl-main::after {
	content: " ";
	flex: 0 0 110px;
	height: 6px;
	background-image: repeating-radial-gradient(
		circle,
		#805A47 0px,
		#805A47 3px,
		transparent 3px,
		transparent 10px
	);
	background-size: 12px 6px;
	background-repeat: repeat-x;
	background-position: center;
}
@media screen and (max-width: 767px) {
	.ttl-main{
		font-size: 2rem;
		margin-bottom: 16px;
		gap: 15px;
	}
	.ttl-main::before,
	.ttl-main::after {
		flex: 0 0 30px;
	}
}

/* ttl-feature
-------------------------------------------------------------------------- */
.ttl-feature{
	width: 100%;
	font-weight: bold;
	display: table;
	align-items: center;
}
.ttl-feature .fe-text{
	display: table-cell;
	vertical-align: middle;
	padding: 2px 0 0 20px;
	font-size: 2.4rem;
	line-height: 1.4;
}
.ttl-feature .fe-text b{
	display: block;
	font-size: 1.6rem;
}
.ttl-feature .fe-text .nowrap {
	white-space: nowrap;
}
.ttl-feature .fe-no{
	display: table-cell;
	vertical-align: middle;
	background: #805A47;
	color: #fff;
	width: 65px;
	height: 65px;
	text-align: center;
	padding: 8px 5px 5px 5px;
	line-height: 1;
	border-radius: 5px;
}
.fe-no span{
	display: inline-block;
	font-size: 1.4rem;
	margin-right: -0.5em;
	letter-spacing: 0.5em;
}
.fe-no b{
	display: block;
	font-family: -apple-system, BlinkMacSystemFont, Arial;
	font-size: 3rem;
	padding-top: 1px;
}

.ttl-feature + .ac-block{
	margin-top: 20px;
}

@media screen and (min-width: 768px) {
	.ttl-feature .fe-text {letter-spacing: 0.05em;}
	.fe-no span {width: 65px;}
}
@media screen and (max-width: 767px) {
	.ttl-feature{
		display: block;
	}
	.ttl-feature .fe-text{
		font-size: 2rem;
		padding: 0;
	}
	.ttl-feature .fe-text b{
		font-size: 1.4rem;
	}
	.fe-no b{
		font-size: 2.2rem;
		display: inline-block;
		padding-left: 2px;
	}
	.ttl-feature .fe-no{
		width: auto;
		height: auto;
		padding: 5px 18px;
		display: inline-block;
		margin-bottom: 12px;
	}
	.fe-no span {
		font-size: 1.6rem;
		margin-right: 0;
		letter-spacing: 0.1em;
	}
}

/* ttl-bold-l ／ ttl-bold ／ ttl-square
-------------------------------------------------------------------------- */
.ttl-bold-l{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.ttl-bold{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.ttl-square{
	position: relative;
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 1.3em;
	margin-bottom: 5px;
}
.ttl-square:before{
	content: "■";
	font-family: "メイリオ", Meiryo;
	display: block;
	color: #D3BCB4;
	position: absolute;
	font-size: inherit;
	left: 0;
}
@media screen and (min-width: 768px) {
	.ttl-bold-l {font-size: 2.0rem;}
	.ttl-bold { font-size: 1.8rem;}
	.ttl-square { font-size: 1.7rem;}
}


/* main-ttl（フォームでのみ使用）
-------------------------------------------------------------------------- */
.main-ttl{
	max-width: 980px;
	text-align: center;
	padding: 40px 0 0;
	margin: 0 auto;
}
.main-ttl__txt{
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
}
@media screen and (min-width: 768px) {
	.main-ttl{
		padding: 64px 0 0;
	}
	.main-ttl__txt{
		font-size: 3rem;
	}
}


/* module(text)
========================================================================== */
.txt-s {font-size: 1.4rem!important;}
.txt-ss {font-size: 1.2rem!important;}

.txt-normal {font-weight: normal!important;}
.txt-bold {font-weight: bold!important;}

.txt-underline {text-decoration: underline;}

.txt-bg{
	display: inline-block;
	color: #fff;
	line-height: 1;
	padding: 5px 10px;
	margin: 0 5px;
	background: #8C7062;
	border-radius: 3px;
}
@media screen and (min-width: 768px) {
	.txt-bg {padding: 6px 8px 4px;}
}

.txt-center {text-align: center!important;}
.txt-left {text-align: left!important;}
.txt-right {text-align: right;}

.note, .note-r {
	font-size: 1.2rem;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.note-r {
		text-align: right;
	}
}

.txt-caution{
	font-size: 1.2rem;
	background: url(/life/medicare/img/icon/icon_caution.svg);
	background-size: 22px 20px;
	background-repeat: no-repeat;
	background-position: left top;
	min-height: 22px;
	padding: 0 0 0 35px;
}
@media screen and (min-width: 768px) {
	.txt-caution{
		background-size: 30px 27px;
		background-position: left center;
		padding: 0 0 0 45px;
	}
}


/* color */
.txt-red {color: #F23524;}
.txt-base {color: #594135!important;}

.txt-co_main {color: #FF6E15;}

.txt-co_medifit-a{color: #F06F00;}
.txt-co_medifit-re{color: #00A8E9;}
.txt-co_co_medifit-gan{color: #DD2723;}
/* color ここまで */


.txt-pagecaution{
	color: #8C7062;
	font-size: 1.2rem;
	text-align: center;
}
.txt-number {
	color: #8C7062;
	font-size: 1.2rem;
	text-align: right;
	margin: 0;
	padding: 15px 0 25px;
}
@media screen and (min-width: 768px) {
	.txt-number{
		padding: 20px 0px 40px;
	}
}


/* module(link)
========================================================================== */
.link-basis{
	color: #1a0dab!important;
	text-decoration: underline;
}
.link-basis:hover{
	text-decoration: none;
}

.link-arrow {
	color: #1a0dab !important;
	text-decoration: underline;
	position: relative;
	padding-left: 26px;
}
.link-arrow:before {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	background: #1a0dab;
	width: 18px;
	height: 18px;
	border: 1px solid #1a0dab;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.link-arrow:after {
	position: absolute;
	top: 6px;
	left: 5px;
	margin: auto;
	content: "";
	vertical-align: middle;
	background: #1a0dab;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
	.link-arrow:before {
		top: 2px;
	}
	.link-arrow:after {
		top: 8px;
	}
}

.link-popup{
	color:#1a0dab!important;
	text-decoration: underline;
	background: url(/life/medicare/img/icon/icon_popup.svg);
	background-repeat: no-repeat;
	background-size: 15px 15px;
	background-position: right center;
	padding-right: 20px;
}

.link-q {
	color:#1a0dab!important;
	text-decoration:underline;
	position:relative;
}
.link-q::after{
	content: "?";
	display: inline-block;
	width: 18px;
	height: 18px;
	background-color: #1a0dab;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	line-height: 20px;
	margin-top: -3px;
	vertical-align: middle;
	margin-left: 5px;
	margin-right: 5px;
}

.link-blank{
	background: url(/life/medicare/img/icon/icon_blank.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 10px center;
	padding-right: 20px;
}


/* module(btn)
========================================================================== */
.btn-basis{
	display: table;
	width: auto;
	margin: 15px auto 0;
}
.btn-basis a{
	position: relative;
	display: table-cell;
	vertical-align: middle;
	color: #594135;
	width: 100%;
	min-width: 300px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	padding: 15px 40px;
	border: 1px solid #D3BCB4;
	border-radius: 5px;
	box-shadow: rgba(211, 188, 180, 1) 0px 3px 0;
}
.btn-basis a::before{
	position: absolute;
	top: 50%;
	bottom: 50%;
	right: 20px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 10px;
	height: 10px;
	border-top: 2px solid #8C7062;
	border-right: 2px solid #8C7062;
	transform: rotate(45deg);
}
.btn-basis.btn-anchor a{
	padding: 15px 55px;
}
.btn-basis.btn-anchor a::before{
	top: 48%;
	left: auto;
	right: 25px;
	transform: rotate(135deg);
}

@media screen and (min-width: 768px) {
	.btn-basis{
		margin: 20px auto 0;
	}
	.btn-basis a{
		font-size: 1.8rem;
		min-width: 360px;
		padding: 20px 50px 18px;
	}
	.btn-basis.btn-anchor a{
		padding: 20px 60px 18px;
	}
}

/* テキスト付きボタンエリア */
.block-detail{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 24px;
}
.block-detail__txt {
	position: relative;
	display: inline-block;
	font-weight: bold;
	text-align: center;
}
.block-detail__txt::before,
.block-detail__txt::after {
	content: '';
	position: absolute;
	display: inline-block;
	bottom: 13px;
	right: -25px;
	width: 22px;
	height: 2px;
	background-color: #805A47;
	-webkit-transform: rotate(-50deg);
	transform: rotate(-50deg);
}
.block-detail__txt::before {
	left: -25px;
	right: auto;
	-webkit-transform: rotate(50deg);
	transform: rotate(50deg);
}
.block-detail .btn-basis {
	margin: 5px auto 0;
}

/* color */
.medifit-a .btn-basis a::before {border-color: #F06F00;}
.medifit-a .block-detail__txt {color: #F06F00;}
.medifit-a .block-detail__txt::before,
.medifit-a .block-detail__txt::after {background-color: #F06F00;}
.medifit-re .btn-basis a::before {border-color: #00A8E9;}
.medifit-re .block-detail__txt {color: #00A8E9;}
.medifit-re .block-detail__txt::before,
.medifit-re .block-detail__txt::after {background-color: #00A8E9;}
.medifit-gan .btn-basis a::before {border-color: #DD2723;}
.medifit-gan .block-detail__txt {color: #DD2723;}
.medifit-gan .block-detail__txt::before,
.medifit-gan .block-detail__txt::after {background-color: #DD2723;}


/* module(list)
========================================================================== */
.list li{
	font-size: 1.4rem;
	margin-bottom: 5px;
	text-align: left;
}
.list-s li{
	font-size: 1.4rem;
	margin-bottom: 5px;
	text-align: left;
}
.list-ss li{
	font-size: 1.2rem;
	margin-bottom: 5px;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.list li{
		font-size: 1.6rem;
	}
}

.list li:last-child,
.list-s li:last-child,
.list-ss li:last-child {
	margin-bottom: 0;
}

/* 2カラム */
@media screen and (min-width: 768px) {
	.list-col2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 10px;
	}
	.list-col2 li:nth-last-child(-n+2){
		margin-bottom: 0;
	}
}

/* 横並び */
@media screen and (min-width: 768px) {
	.list-side li{
		display: inline-block;
		margin-bottom: 0;
	}
}


/* module(box)
========================================================================== */
.box-detail{
	background: #fff;
	padding: 40px 10px;
}
@media screen and (min-width: 768px) {
	.box-detail{
		padding: 64px 30px 80px;
	}
}

.box-feature{
	padding-bottom: 40px;
	background-image: linear-gradient(to right, #E6DDDA, #E6DDDA 3px, transparent 3px, transparent 3px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
	background-position: left bottom;
}
.box-feature:not(:first-of-type){
	padding-top: 40px;
}
@media screen and (max-width: 767px) {
	.box-feature{
		padding-bottom: 24px;
	}
	.box-feature:not(:first-of-type) {
		padding-top: 24px;
	}
	.ttl-feature + .ac-block {
		margin-top: 10px;
	}
}

/* box-border */
.box-border{
	border: 1px solid #cccccc;
	padding: 15px;
}
@media screen and (min-width: 768px) {
	.box-border{
		padding: 20px 20px 18px;
	}
}

/* box-bg */
.box-bg{
	background: #f6f6f6;
	padding: 12px 15px;
	border-radius: 5px;
}
@media screen and (min-width: 768px) {
	.box-bg{
		padding: 12px 15px 10px;
	}
}

/* box-note */
.box-note{
	border: 1px solid #ccc;
	padding: 15px;
	margin-top: 20px;
}
.box-note--dot{
	border: 1px dotted #cccccc;
}
.box-note--red{
	color: #e62600;
	border: 1px dotted #e62600;
}

/* box-point */
.box-point{
	padding: 15px;
	margin: 10px auto;
	background-color: #F6EEEB;
}
.box-point__list li {
	position: relative;
	padding-left: 1.8em;
}
.box-point__list li::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 0;
	font-size: inherit;
	line-height: inherit;
	width: 15px;
	height: 10px;
	border-bottom: 3px solid #FF6E15;
	border-left: 3px solid #FF6E15;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
	.box-point{
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 20px;
	}
}

/* box-bnr */
.box-bnr {
	text-align: center;
	margin: 30px 0;
}
.box-bnr img{
	line-height: 1;
	vertical-align: middle;
}
@media only screen and (max-width: 767px) {
	.box-bnr {
		padding: 0 2%;
	}
	.box-bnr img{
		width: 100%;
	}
}


/* module(table)
========================================================================== */
.tbl{
	font-size: 1.4rem;
	padding: 0px;
	margin: 0;
	border-bottom: 1px solid #CCC;
	border-left: 1px solid #CCC;
	width: 100%;
	table-layout: fixed;
	word-wrap: break-word;
	white-space: normal;
}
.tbl th,.tbl td{
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
	padding: 10px;
	vertical-align: middle;
	border-top: 1px solid #CCC;
	border-right: 1px solid #CCC;
}
.td__left{
	text-align: left!important;
}


/* 保険料表 */
.tbl-price th{
	font-weight: bold;
}
.tbl-price tr:first-child th {
	font-size: 1.5rem;
}
.tbl-price--man tr:first-child th {color: #007cdb;}
.tbl-price--man tr:last-child th {color: #007cdb; background-color: #cde8fd;}
.tbl-price--man td {background-color: #f0f8ff;}
.tbl-price--woman tr:first-child th {color: #e94870;}
.tbl-price--woman tr:last-child th {color: #e94870; background-color: #ffd5e0;}
.tbl-price--woman td {background-color: #fff2f5;}


/* 告知項目の別表 */
.tbl-append th {
	width: 35%;
	background-color: #F6EEEB;
}
.tbl-append td {
	text-align: left;
}
@media screen and (min-width: 768px) {
	.tbl-append th {
		width: 20%;
	}
}


/*--- テーブルスクロール ---*/
@media screen and (max-width: 767px) {
	/*ブロックごとスクロール*/
	.block-scroll {
		position: relative;
		overflow: auto;
		white-space: nowrap;
	}
	.block-scroll table{
		width: 100%;
		white-space: nowrap;
		table-layout: inherit!important;
	}
	/*テーブルだけスクロール*/
	.tbl-scroll{
		position: relative;
		display: block;
		overflow: scroll;
		white-space: normal;
	}
	/*スクロール画像表示*/
	.block-scroll:not(.scrolled)::after,
	.tbl-scroll:not(.scrolled)::after {
		content: " ";
		position: absolute;
		top: 50%;
		bottom: 50%;
		left: 0;
		right: 0;
		display: block;
		width: 140px;
		height: 120px;
		margin: auto;
		background-image: url('/life/medicare/img/common/img_tbl-arrow.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		opacity: 0.6;
	}
}

/*--- テーブルのセル幅 ---*/
.wid5{width: 5%;}
.wid10{width: 10%;}
.wid15{width: 15%;}
.wid20{width: 20%;}
.wid25{width: 25%;}
.wid30{width: 30%;}
.wid35{width: 35%;}
.wid40{width: 40%;}
.wid45{width: 45%;}
.wid50{width: 50%;}


/* module(img)
========================================================================== */
.img-res{
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.img-res img{width: 100%;}
}


/* pagetop
========================================================================== */
.pagetop a {
	position: fixed;
	right: 30px;
	bottom: 30px;
	display: block;
	height: 60px;
	width: 60px;
	text-indent: -200px;
	/*opacity: 0.5;*/
	margin: 0;
	padding: 0;
	text-decoration: none;
	overflow: hidden;
	z-index: 10;
	border: 2px solid #FF6E15;
	border-radius: 50%;
	background-color: #fff;
}
.pagetop a:hover {
	background-color: #FF6E15;
	opacity: 1;
}
.pagetop a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 50%;
	display: block;
	width: 14px;
	height: 14px;
	margin-top: -3px;
	margin-right: -7px;
	border-top: 3px solid #FF6E15;
	border-right: 3px solid #FF6E15;
	transform: rotate(-45deg);
}
.pagetop a:hover:after {
	border-color: #fff;
}
.pagetop a{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
	.pagetop a {
		display: none;
	}
}


/* ==========================================================================
Plugins Style
========================================================================== */
/* Magnific Popup Styles [magnific-popup.js]
----------------------------------------------- */
.mfp-bg{z-index:1;overflow:hidden;background:#0b0b0b;opacity:.6}.mfp-bg,.mfp-wrap{top:0;left:0;width:100%;height:100%;position:fixed}.mfp-wrap{z-index:2;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:4}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:3}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:5;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:9pt;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure,img.mfp-img{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:9pt;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-height:300px),screen and (max-width:800px) and (orientation:landscape){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0 0;transform-origin:0 0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}


/* ==========================================================================
Overwrite
========================================================================== */
/* magnific-popup
----------------------------------------------- */
.mfp-bg {
	z-index: 9000;
	background: #000;
	opacity: .3;
}

.mfp-wrap {z-index: 9001;}

/*.mfp-container {padding: 0 12px!important;}*/

.mfp-preloader {z-index: 9002;}

.mfp-content {
	width: 880px!important;
	padding: 0!important;
	background: #fff;
	border-radius: 15px!important;
	z-index: 9003;
}
.mfp-content .mfp-content__inner {
	padding: 12px 12px 0;
}

@media screen and (max-width: 767px) {
	.mfp-container{
		top: 10px!important;
	}
}
@media screen and (min-width: 768px) {
	.mfp-content .mfp-content__inner {
		padding: 32px 32px 0;
	}
}

button.mfp-close, button.mfp-arrow {z-index: 9004;}

.mfp-close {
	font-size: 3rem;
	top: 105px;
	opacity: 1;
	-webkit-transition: opacity .2s ease-out;
	transition: opacity .2s ease-out;
}
.mfp-close:hover, .mfp-close:active, .mfp-close:focus {opacity: .7;}
.mfp-close-btn-in .mfp-close{
	position: relative!important;
	font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	color: #805A47!important;
	width: 100%;
	height: auto;
	font-size: 1.4rem;
	line-height: 1.4;
	padding: 12px;
	margin: 32px auto 0;
	border-top: 1px solid #D3BCB4;
	opacity: 1;
}
.mfp-close-btn-in .mfp-close div{
	position: relative;
	display: inline-block;
	padding-left: 20px;
	z-index: -10;
}
.mfp-close-btn-in .mfp-close div::before{
	position: absolute;
	content: "×";
	left: 0;
}

@media screen and (max-width: 920px) {
	.mfp-content {width: 100% !important;}
}
@media screen and (max-width: 767px) {
	.mfp-close-btn-in .mfp-close{
		margin: 24px auto 0;
	}
}


/*ヘッダー＆フッター固定電話 モーダル*/
.mfp-content:has(#sp-modal-tel){
	max-width: 730px !important;
}
#sp-modal-tel {
	text-align: center;
	border-radius: 15px;
	overflow: hidden;
}

#sp-modal-tel .question{
	font-size: 1.7rem;
	font-weight: bold;
	padding: 15px 10px;
	margin-bottom: 20px;
	background: #F6EEEB;
}

#sp-modal-tel .buttons button{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #594135;
	font-size: 1.6rem;
	width: 90%;
	padding: 20px 10px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #D3BCB4;
	border-radius: 8px;
	cursor: pointer;
}
#sp-modal-tel .buttons button:not(:last-child){
	margin-bottom: 12px;
}

#sp-modal-tel .modal-tel__block a{
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	margin: 0 auto;
}
#sp-modal-tel .modal-tel__block img{
	width: 24px;
	vertical-align: middle;
	margin-right: 8px;
}
#sp-modal-tel .modal-tel__block .modal-tel__num {
	display: flex;
	align-items: center;
	font-family: Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	color: #FF6E15;
	font-weight: bold;
	font-size: 3.4rem;
	letter-spacing: 0.02em;
}
#sp-modal-tel .modal-tel__block .modal-tel__num span{
	color: #fff;
	font-weight: normal;
	font-size: 1.2rem;
	background-color: #FF6E15;
	padding: 5px;
	margin-left: 8px;
	vertical-align: middle;
}
#sp-modal-tel .modal-tel__block .note{
	text-align: center;
}

#sp-modal-tel .modal-link__block{
	padding: 0 15px;
}
#sp-modal-tel .modal-link__block .modal-link__btn {
	display: block;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	background-color: #FF6E15;
	border-radius: 8px;
	box-shadow: rgba(255, 81, 0, 1) 0px 3px 0;
	padding: 20px 8px;
    margin: 12px auto 0;
    width: 90%;
}
#sp-modal-tel .modal-link__block .modal-link__btn img{
	width: 16px;
	vertical-align: middle;
	margin-left: 3px;
}
#sp-modal-tel .modal-link__block.block-deduction{
	display: flex;
	justify-content: center;
	text-align: left;
	padding: 10px;
	margin: 10px 0 0;
	border: 1px dotted #D3BCB4;
}

#sp-modal-tel #tel-modal__back-button{
	color: #594135;
	font-size: 1.3rem;
	padding: 8px 30px;
	margin: 15px auto 0;
	background: #fff;
	border: 1px solid #D3BCB4;
	border-radius: 6px;
	cursor: pointer;
}
#sp-modal-tel #tel-modal__back-button span{
	position: relative;
	padding-left: 15px;
}
#sp-modal-tel #tel-modal__back-button span::before{
	content: '';
	position: absolute;
	height: 8px;
	width: 8px;
	border-right: 1px solid #8C7062;
	border-top: 1px solid #8C7062;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0
}
@media screen and (min-width: 768px) {
	#sp-modal-tel .question {
		font-size: 2.2rem;
		padding: 20px 10px;
		margin-bottom: 24px;
	}
	#sp-modal-tel .buttons button{
		font-size: 1.8rem;
		width: 60%;
		padding: 24px 10px;
	}
	#sp-modal-tel .buttons button:not(:last-child) {
		margin-bottom: 16px;
	}

	#sp-modal-tel .modal-tel__block .modal-tel__num{
		font-size: 4.2rem;
	}
	#sp-modal-tel .modal-tel__block .modal-tel__num span {
		font-size: 1.5rem;
		padding: 6px 8px;
		margin: 0 12px 5px;
	}
	#sp-modal-tel .modal-tel__block img{
		width: 30px;
	}
	#sp-modal-tel .modal-tel__block .note{
		font-size: 1.4rem;
	}

	#sp-modal-tel .modal-link__block{
		padding: 0 40px;
	}
	#sp-modal-tel .modal-link__block .modal-link__btn{
		font-size: 1.8rem;
		margin: 20px auto 0;
		width: 60%;
	}
	#sp-modal-tel .modal-link__block.block-deduction{
		padding: 15px;
	}

	#sp-modal-tel #tel-modal__back-button{
		font-size: 1.4rem;
		margin: 20px auto 0;
	}
}
@media screen and (max-width: 360px) {
	#sp-modal-tel .modal-tel__block .modal-tel__num {
		font-size: 3.2rem;
	}
	#sp-modal-tel .modal-tel__block img{
		width: 22px;
	}
}



/* 告知項目ページ
========================================================================== */

/* box-check__txt-box */
.box-check__txt-box {
	color: #fff;
	font-size: 1.7rem;
	line-height: 1.5;
	text-align: center;
	padding: 12px;
	background-color: #00A8E9;
	border-radius: 8px;
}
.box-check__txt-box .txt-tag {
	color: #00A8E9;
	font-size: 1.5rem;
	padding: 6px 15px;
	background-color: #fff;
	border-radius: 5px;
}
@media screen and (max-width: 767px){
	.box-check__txt-box .txt-tag {
		display: block;
		margin-bottom: 10px;
	}
}
@media screen and (min-width: 768px){
	.box-check__txt-box {
		font-size: 2.2rem;
		line-height: 1.4;
		padding: 20px 20px 18px;
	}
	.box-check__txt-box .txt-tag {
		font-size: 1.8rem;
		padding: 6px 15px 4px;
		margin-right: 15px;
	}
}

/* box-check__list */
.box-check__list{
	margin: 16px 0 20px;
}
.box-check__list > li {
	display: flex;
	align-items: stretch;
	border: 2px solid #ccc;
	overflow: hidden;
}
.box-check__list > li:first-child {
	border-radius: 10px 10px 0 0;
}
.box-check__list > li:last-child {
	border-radius: 0 0 10px 10px;
}

.box-check__list .box-check__num{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px 0;
	box-sizing: border-box;
}
.box-check__list .box-check__num span {
	display: block;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	padding: 0;
	background-color: #00A8E9;
	border-radius: 50%;
	width: 3.0rem;
	height: 3.0rem;
	line-height: 3.0rem;
}
.box-check__list .box-check__inner {
	width: 100%;
	font-size: 1.6rem;
	padding: 10px 15px;
}
.box-check__list .box-check__no{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	background-color: #faf6f5;
}
.box-check__list .box-check__no span{
	display: block;
	color: #8C7062;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width: 767px){
	.box-check__list > li{
		flex-direction: column;
	}
	.box-check__list > li:not(:last-child) {
		border-bottom: none;
	}
	.box-check__list .box-check__no img{
		width: 26px;
		height: 26px;
		margin-right: 10px;
	}
}
@media screen and (min-width: 768px){
	.box-check__list .box-check__inner {
		font-size: 1.8rem;
		padding: 18px 20px 15px;
	}
	.box-check__list > li:not(:last-child) {
		border-bottom: none;
	}
	.box-check__list .box-check__num{
		flex-direction: column;
		padding: 15px 0 15px 15px;
	}
	.box-check__list .box-check__no{
		flex-direction: column;
		padding: 15px;
	}
	.box-check__list .box-check__num span{
		font-size: 2.4rem;
		padding: 0;
		width: 3.8rem;
		height: 3.8rem;
		line-height: 4.0rem;
	}
	.box-check__list .box-check__no{
		width: 80px;
	}
	.box-check__list .box-check__no img{
		margin-bottom: 5px;
	}
}

/* 追加告知項目 */
.box-check--option{
	position: relative;
	margin-top: 80px;
}
.box-check--option::before{
	position: absolute;
	content: '';
	top: -60px;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background-image: url(/life/medicare/img/icon/ico_check-opt_plus.svg);
	background-size: 40px 40px;
}
.box-check--option .box-check__txt-box {background-color: #FA9200; border-radius: 8px 8px 0 0;}
.box-check--option .box-check__txt-box .txt-tag {color: #FA9200;}

.box-check__txt-detail{
	padding: 12px;
	border: 2px solid #FA9200;
	border-radius: 0 0 8px 8px;
}
.txt-detail__case .txt-detail__case-left > p{
	color: #FA9200;
	font-size: 1.6rem;
	margin-bottom: 5px;
}
.txt-detail__case .txt-detail__case-right p{
	position: relative;
	display: inline-block;
	color: #FA9200;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	padding-left: 24px;
	margin-top: 8px;
}
.txt-detail__case .txt-detail__case-right p::before{
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	top: 50%;
	bottom: 50%;
	left: 0;
	margin: auto;
	border-left: 10px solid #b2acaa;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.txt-detail__case .txt-detail__case-right span{
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	background-color: #FFB300;
	border-radius: 50%;
	width: 2.8rem;
	height: 2.8rem;
	line-height: 2.8rem;
}
.txt-detail__case .txt-detail__case-right span{
	margin-right: 5px;
}

.box-check--option .box-check__list .box-check__num span {background-color: #FFB300;}

.txt-detail__case:last-child .txt-detail__case-left > p {color: #418ED9;}
.txt-detail__case:last-child .txt-detail__case-right p {color: #418ED9;}
.txt-detail__case:last-child .txt-detail__case-right span {background-color: #64A3E0;}
.box-check--option .box-check__list li:last-child .box-check__num span {background-color: #64A3E0;}

.box-check--option .box-check__list .box-check__no span {border-color:#1B5794;}

@media screen and (max-width: 767px){
	.box-check__txt-detail .txt-detail__case:not(:last-child){
		padding-bottom: 15px;
		margin-bottom: 15px;
		border-bottom: 2px dotted #ccc;
	}
	.txt-detail__case .txt-detail__case-right{
		text-align: center;
	}
}
@media screen and (min-width: 768px){
	.box-check--option{
		margin-top: 100px;
	}
	.box-check--option::before{
		top: -76px;
		width: 46px;
		height: 46px;
		background-size: 46px 46px;
	}
	.box-check__txt-detail{
		display: flex;
		justify-content: center;
		padding: 15px 20px;
	}
	.box-check__txt-detail .txt-detail__case{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.box-check__txt-detail .txt-detail__case:not(:last-child){
		padding-right: 25px;
		margin-right: 25px;
		border-right: 2px dotted #ccc;
	}
	.txt-detail__case .txt-detail__case-right p::before{
		border-left: 12px solid #b2acaa;
		border-top: 13px solid transparent;
		border-bottom: 13px solid transparent;
	}
	.txt-detail__case .txt-detail__case-right span{
		font-size: 2.0rem;
		width: 3.2rem;
		height: 3.2rem;
		line-height: 3.4rem;
	}
}



/* 商品別 color
========================================================================== */

/* 新メディフィットＡ〈エース〉 */
.medifit-a .ttl-feature .fe-no {background-color: #EF8200;}
.medifit-a .ttl-feature .fe-text span {color: #F06F00;}


/* 新メディフィットRe〈リリーフ〉 */
.medifit-re .ttl-feature .fe-no {background-color: #00A8E9;}
.medifit-re .ttl-feature .fe-text span {color: #00A8E9;}


/* メディフィットがん保険 */
.medifit-gan .ttl-feature .fe-no {background-color: #DD2723;}
.medifit-gan .ttl-feature .fe-text span {color: #DD2723;}
