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

/* reset
========================================================================== */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}a:active,a:hover,a:link,a:visited{color:#333}button,input,select,textarea{font-family:inherit}


/* 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: #333333;
}

*, *::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;
	font-size: 1.6rem;
	line-height: 1.5;
}

sup {
	position: relative;
	vertical-align: top;
  top: 1px;
	font-size: 1.2rem;
	padding: 0 3px;
}
.txt-s sup,
.list-s sup {
	font-size: 1.1rem;
}

br {line-height: 0;}

@media screen and (min-width: 768px) {
	body {
		font-size: 1.6rem;
	}
}


/* 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 (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: 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;}
}


/* リストマーク
========================================================================== */
.maru, .kome, .ast, .dot, .dia, .shikaku,
.maru1, .maru2, .maru3, .maru4, .maru5, .maru6, .maru7 {
	position: relative;
	padding-left: 1.1em;
}
.arrow {
	position: relative;
	padding-left: 1.2em;
}
.no1, .no2, .no3, .no4, .no5, .no6, .no7 {
	position: relative;
	padding-left: 1.7em;
}
.kome1, .kome2, .kome3, .kome4 {
	position: relative;
	padding-left: 2em;
}
.kako1, .kako2, .kako3, .kako4,
.ast1, .ast2, .ast3, .ast4 {
	position: relative;
	padding-left: 2.2em;
}
.kako-tyu {
	position: relative;
	padding-left: 3.2em;
}
.kako-tyu1, .kako-tyu2, .kako-tyu3 {
	position: relative;
	padding-left: 3.5em;
}
.source {
	position: relative;
	padding-left: 3.2em;
}

.maru:before, .kome:before, .ast:before, .dot:before, .dia:before, .shikaku:before,
.maru1:before, .maru2:before, .maru3:before, .maru4:before, .maru5:before, .maru6:before, .maru7:before,
.arrow:before,
.no1:before, .no2:before, .no3:before, .no4:before, .no5:before, .no6:before, .no7:before,
.kome1:before, .kome2:before, .kome3:before, .kome4:before,
.kako1:before, .kako2:before, .kako3:before, .kako4:before,
.ast1:before, .ast2:before, .ast3:before, .ast4:before,
.kako-tyu:before,
.kako-tyu1:before, .kako-tyu2:before, .kako-tyu3:before,
.source:before {
	position: absolute;
	display: block;
	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';}
.ast:before {content: '＊';}
.ast1:before {content: '＊1';}
.ast2:before {content: '＊2';}
.ast3:before {content: '＊3';}
.ast4:before {content: '＊4';}
.no1:before {content: '１.';}
.no2:before {content: '２.';}
.no3:before {content: '３.';}
.no4:before {content: '４.';}
.no5:before {content: '５.';}
.no6:before {content: '６.';}
.no7: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';}
.maru7:before {content: '\002466';}
.kako1:before {content: '（1）';}
.kako2:before {content: '（2）';}
.kako3:before {content: '（3）';}
.kako4:before {content: '（4）';}
.kako-tyu:before {content: '（注）';}
.kako-tyu1:before {content: '（注1）';}
.kako-tyu2:before {content: '（注2）';}
.kako-tyu3:before {content: '（注3）';}
.dot:before {content: '・';}
.source:before {content: '出典：';}
.arrow:before{
	content: '▲';
	font-family: "メイリオ", Meiryo;
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


/* セクション
========================================================================== */
.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;}

.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
========================================================================== */
.header, .gnav, .main-area__box, .main-column, .product-column {
	width: 980px;
	margin: 0 auto;
}
.main-column, .product-column {
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.product-column, .main-area__box, .header {
		width: 100%;
	}		
}


/* header
========================================================================== */
header {width:100%;}

.header{
	position: relative;
	display: flex;
	padding: 10px 0 0;
	overflow: hidden;
}

.header__top{
	display: flex;
	align-items: center;
}
.header__ifc > p{
	font-size: 1.2rem;
	line-height: 1;
	margin-bottom: 5px;
}
.header__ifc > a > img{
	display: block;
	width: auto;
	height: 20px;
}

.header__aioi > a > img{
	display: block;
	width: auto;
	height: 23px;
}

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

	.header__top .btn-tel a{
		display: flex;
		align-items: center;
		color: #00655a;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1;
		text-decoration: none;
		padding: 13px 15px 11px;
		margin: 0 0 0 15px;
		border-radius: 8px;
		border-color: #00655a;
		box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 3px 0;
	}
	.header__top .btn-tel a img{
		width: auto;
		height: 20px;
		margin-right: 6px;
	}

	.header__ifc > p{
		margin-bottom: 7px;
	}
	.header__ifc > a > img{
		height: 30px;
	}
	.header__aioi > a > img{
		height: 30px;
	}
}

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

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

	.header__ifc > p{
		font-size: 1.0rem;
	}
	.header__aioi{
		display: flex;
		justify-content: center;
		width: 100%;
		padding: 8px 0;
		margin-top: 10px;
		background: #ebebeb;
	}
}


/* gnav
========================================================================== */
.gnav_block{
	position: relative;
	width: 100%;
	border-bottom: 4px solid #00655a;
	box-shadow: rgb(0 0 0 / 10%) 0px 10px 10px -6px;
}
.gnav-main{
	display: table;
	width: 100%;
	height: 60px;
	padding: 10px 0;
}
.gnav-main li{
	position: relative;
	display: table-cell;
	vertical-align: middle;
	color: #00655a;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	border-left: 1px solid #cecece;
	width: 140px;
}
.gnav-main li:hover:before{
  border-color: #fff;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
}
.gnav-main li a{
	color: #00655a;
	width: 100%;
	height: 100%;
	display: table;
	position: relative;
}
.gnav-main li a:hover,
.gnav-main .btn-select a{
	color: #00b199;
}
.gnav-main li a:hover:after,
.gnav-main .btn-select a:after{
	content: "";
	position: absolute;
	height: 4px;
	width: 100%;
	left: 0;
	bottom: -14px;
	background: #00b199;
}
.gnav-main a span{
	display: table-cell;
	vertical-align: middle;
}
.gnav-main a span span{
	display: inline-block;
}
.gnav-main li:last-child{
	border-right: 1px solid #cecece;
}
.gnav__stxt{
	font-size: 1.6rem;
}
.gnav-main .btn-close{
	position: relative;
	color: #00b199;
}
.gnav-main .btn-close::after{
    content: "";
    position: absolute;
    height: 4px;
    width: 100%;
    left: 0;
    bottom: -14px;
    background: #00b199;
}
.gnav-main .btn-close a{
	color: #fff;
}

.gnav-product{
	position: absolute;
	display: none;
	top: 64px;
	width: 980px;
	font-size: 1.4rem;
	padding: 20px 30px 10px;
	background: #e7f9f7;
	border-radius: 0 0 5px 5px;
	overflow: hidden;
	z-index: 1000;
}
.gnav-product li{
	display: block;
	float: left;
	width: 49%;
	margin-bottom: 15px;
	background: #fff;
	border-radius: 5px;
}
.gnav-product li:nth-child(even){
	float: right;
}
.gnav-product li a{
	display: table;
	width: 100%;
	font-weight: bold;
}
.gnav-product li a b{
	display: table-cell;
	vertical-align: middle;
	width: 30%;
	text-align: center;
	height: 70px;
}
.gnav-product li a img{
	width: 100px;
	height: 50px;
}
.gnav-product li a > span{
	position: relative;
	display: table-cell;
	vertical-align: middle;
	width: 70%;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.2;
}
.gnav-product li a span span{
	display: block;
	position: relative;
	padding: 0 5px 0 25px;
}
.gnav-product li a span span:last-child:before{
	bottom: 0;
	content: "";
	margin: auto;
	position: absolute;
	left: 8px;
	top: 0;
	height: 8px;
	width: 8px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-right: 2px solid #00b199;
	border-top: 2px solid #00b199;
	vertical-align: middle;
}
.gnav-product li a:hover {
	opacity: 0.6;
}

.nav-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #0b0b0b;
	opacity: 0.5;
	z-index: 900;
	cursor: pointer;
}

.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: 35px;
    height: 35px;
    background: url(/img/icon/icon_menu.svg) no-repeat 0 0;
    background-size: 35px 35px;
	}
	.btn-close{
		background: url(/img/icon/icon_menu_close.svg) no-repeat 0 0;
		background-size: 35px 35px;
	}
	.sp-tel-btn.open-tel-modal-link{
    display: block;
    width: 35px;
    height: 35px;
		margin-right: 5px;
    background: url(/img/icon/icon_tel.svg) no-repeat 0 0;
    background-size: 35px 35px;
	}

	.sp-nav{
		position: absolute;
		z-index: 1000;
		background: #fff;
		width: 100%;
	}
	.sp-nav__ttl{
		position: relative;
    color: #fff;
    font-weight: bold;
		font-size: 1.5rem;
		padding: 6px 10px;
		background: #00655a;
		border-top: 3px solid #00b199;
	}
	.sp-nav__ttl span{
		display: block;
	}
	.sp-nav__close{
		position: relative;
		padding: 10px;
    background: #e7f9f7;
    color: #00655a;
		text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
	}
	.sp-nav__close span{
		position: relative;
		padding-left: 25px;
	}
	.sp-nav__close span::before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
    width: 20px;
    height: 20px;
		background: url(/img/icon/icon_menu_close.svg) no-repeat 0 0;
    background-size: 20px 20px;
	}	
	.sp-nav__link{
		padding: 10px;
	}
	.sp-nav__link li{
		font-size: 1.4rem;
	}
	.sp-nav__link li:not(:last-child){
		margin-bottom: 8px;
	}
	.sp-nav__link li a{
		color: #333;
		padding-left: 18px;
		position: relative;
		display: block;
	}
	.sp-nav__link li a:before{
		bottom: 0;
		content: "";
		margin: auto;
		position: absolute;
		left: 0;
		top: 0;
		height: 8px;
		width: 8px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		border-right: 2px solid #00b199;
		border-top: 2px solid #00b199;
	}
}


/* mainArea
========================================================================== */
.main-area{
	background: #e7f9f7;
}
.main-area__box{
	overflow: hidden;
	padding: 5px 0 20px
}
.main-area__box h1{
	color: #00655a;
	font-size: 1.2rem;
	padding-bottom: 5px;
}
.main-area__img{
	float: left;
	width: 756px;
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 3px 0;
}
.main-area__img img{
	display: block;
}
.main-area__nav{
	width: 209px;
	float: right;
}
.main-area__nav li:first-child{
	height: 126px;
	background: #f56531;
	margin-bottom: 15px;
}
.main-area__nav li{
	position: relative;
	height: 126px;
	background: #00b199;
	text-align: center;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 3px 0;
}
.main-area__nav li a{
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	height: 100%;
	width: 100%;
}
.main-area__nav li a img {
	width: 36px;
    height: auto;
    margin: 0 0 10px 0;
}

@media only screen and (max-width: 767px) {
	.main-column{
		width: 100%;
		padding: 0 2%;
	}
	.main-area{
		width: 100%;
	}
	.main-area__box{
		display: flex;
		flex-direction: column;
		padding: 0;
	}
	.main-area__box h1{
		order: 2;
		font-size: 1.5rem;
		font-weight: bold;
		text-align: center;
		padding: 15px 0 0;
	}
	.main-area__img,
	.main-area__nav{
		float: none;
	}
	.main-area__nav,
	.main-area__img,
	.main-area__img img{
		width: 100%;
	}
	.main-area__img{
		padding-top: 5px;
		box-shadow: none;
	}
	.main-area__nav{
		order: 3;
		display: flex;
		flex-direction: column;
		padding: 8px 4% 20px;
	}
	.main-area__nav li {
		height: 65px!important;
		width: 100%;
	}
	.main-area__nav li:first-child{
		margin-bottom: 10px;
	}
	.main-area__nav li a{
		flex-direction: row;
		font-size: 2.0rem!important;
	}
	.main-area__nav li a img {
		width: 30px;
		margin: 0 10px 0 0;
	}
	.main-area__nav li:first-child a img {
		margin: 0 12px 0 0;
	}
}


/* ttl-productlist
========================================================================== */
.ttl-plist{
	font-size: 2.5rem;
	font-weight: bold;
	color: #00655a;
	text-align: center;
	margin: 15px 0 10px;
}
.ttl-plist span{
	position: relative;
	display: inline-block;
	padding: 10px 20px;
}


/* product-area
========================================================================== */
.product-area {
	margin-bottom: 30px;
	overflow: hidden;
}
.product-item{
	border-radius: 15px;
	overflow: hidden;
}

.product-item__ttl{
	padding: 10px 5px 8px;
	position: relative;
	width: 100%;
	background: #00655a;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	border-bottom: 3px solid #00b199;
}
.product-item__box{
	padding: 0 15px;
	border: 2px solid #ebebeb;
	border-top: none;
	border-radius: 0 0 15px 15px;
	overflow: hidden;
}
.product-item__img{
	height: 80px;
	text-align: center;
	margin: 20px auto 15px;
}
.product-area__in col:last-child .product-item__img{
	height: 100px;
}
.product-item__img img{
	display: inline-block;
	vertical-align: middle;
	max-height: 80px;
}
.product-item__img:before {
	content: "";
	height: 100%;
	vertical-align: middle;
	width: 0px;
	display: inline-block;
}
.product-item__text{
	width: 100%;
}
.product-item__type{
	font-size: 1.4rem;
	color: #00655a;
	text-align: center;
	margin-bottom: 5px!important;
}
.product-item__text p{
	margin-bottom: 12px;
	text-align: center;
}
.product-item__text ul{
	display: flex;
	flex-direction: row;
    justify-content: center;
	padding-bottom: 20px;
}
.product-item__text li{
	width: 50%;
	text-align: left;
	font-size: 1.4rem;
  font-weight: bold;
}
.product-item__text li:first-child{
	margin-right: 10px;
}
.product-item__text li a{
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	padding-left: 46px;
	background: #00b199;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	height: 44px;
}
.product-item__text li a:before{
	content: "";
	position: absolute;
	top: 12px;
	height: 22px;
	width: 22px;
	left: 12px;
}
.product-item__text li:nth-child(1) a:before{
	background: url(/img/icon/icon_tokucho_w.svg);
	background-repeat: no-repeat;
}
.product-item__text li:nth-child(2) a:before{
	background: url(/img/icon/icon_kakunin_w.svg);
	background-repeat: no-repeat;
}
.product-item__text li:last-child a:before{
	height: 20px;
	width: 24px;
	background: url(/img/icon/icon_simlation_w.svg);
	background-repeat: no-repeat;
	top: 12px;
	left: 15px;
}
.product-item__consul{
	background: #00655a;
	padding: 5px;
	color: #fff;
	text-align: center;
}
.product-item__consul p{
	font-weight: bold;
}
.product-item__consul p span{
	font-size: 1.4rem;
	display: block;
}

@media screen and (min-width: 768px) {
	.product-item__box {padding: 0 20px;}
	.product-item__text li a,.product-item__text li:last-child a{
		padding-left: 40px;
	}
	.product-item__text li a:before,
	.product-item__text li:last-child a:before{
    height: 20px;
    width: 20px;
		left: 12px;
	}
	.product-item__text li:last-child a:before{
		top: 14px;
	}
}

@media only screen and (max-width: 767px) {
	.product-item:nth-child(odd),
	.product-item:nth-child(even),
	.product-item__img,
	.product-item__text{
		float: none;
	}
	.ttl-plist{
		font-size: 2rem;
		margin: 15px 0 0;
	}
	.product-item{
		width: 100%;
	}
	.product-item__ttl{
		display: block;
		width: 100%;
	}
	.product-item__img{
		margin: 15px auto 10px;
	}
	.product-item__text{
		width : 100%;
	}
	.product-item__text ul {flex-direction: column;}
	.product-item__text li{
		width: 100%;
		font-size: 1.5rem;
	}
	.product-item__text li:first-child{
		margin: 0 0 10px 0;
	}
}


/* footer
========================================================================== */
footer {
  font-size: 1.2rem;
	color: #fff;
	margin: 20px 0 0 0;
}
#footerNav ul {
  width: 980px;
  margin: 0 auto;
  padding: 15px 20px;
}
#footerNav ul::after {
  content: "";
  display: block;
  clear: both;
}
#footerNav ul li {
  float: left;
  padding-right: 15px;
  margin-right: 15px;
  border-right: 1px solid #c2cad3;
}
#footerNav ul li a {
  color: #333;
  text-decoration: none;
}
.fConts-bg {
  background-color: #00b199;
  border-top: 1px solid rgb(255 255 255 / 40%);;
}
.fConts-inner {
  width: 980px;
  margin: 0 auto;
  padding: 15px 20px;
}
.fConts-inner::after {
  content: "";
  display: block;
  clear: both;
}
.fConts-inner .com-name {
  float: left;
  margin-right: 30px;
}
.fLink-hikaku h2 {
  font-weight: bold;
	color: #fff;
	border-top: 1px dotted rgb(255 255 255 / 50%);;
  padding: 10px 0 5px;
  margin-top: 10px;
}
.fLink-hikaku a {
  color: #333;
  text-decoration: none;
  display: block;
  width: 225px;
  height: 40px;
  background-color: #fff;
  float: left;
  border-radius: 3px;
  margin-right: 10px;
  margin-bottom: 5px;
  line-height: 1.2;
  padding: 12px 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;
	}
}

.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 20px;
  font-size: 1.0rem;
  color: #666;
}
#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: #00655a;
}
#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 8px;
    margin: 0;
    border-right: 1px solid #c2cad3;
    border-bottom: 1px solid #c2cad3;
  }
	#footerNav ul li:nth-child(-n+1) {
		border-top: 1px solid #c2cad3;
	}
  #footerNav ul li:nth-child(2n) a {
    border-right: none;
  }
	#footerNav li:nth-child(2n+1):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 h2 {
		border-top: 1px dotted rgb(255 255 255 / 40%);;
    margin-top: 5px;
  }
  .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 li:last-child img {
		margin-right: 0;
	}
	#footer-Privacy p{
		width: 100%;
		margin: 10px;
  }
  #footer-copy address {
    width: 100%;
    padding: 5px 10px;
  }
}


/* 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: #f5f5f5;
	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 {
	color: #00655a;
	display: table-cell;
	border-right: 1px solid #d9d9d9;
	vertical-align: middle;
	padding: 5px;
	text-align: center;
}
#spfnav-fixed .menu-bottom-block:nth-child(2) {
	padding: 8px 5px 5px;
}
#spfnav-fixed .menu-bottom-block:last-child {
	border-right: none;
}
#spfnav-fixed .menu-bottom-sp-siryo {
	background-color: #f56531;
	border-radius: 5px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 3px 0;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 3px 0;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 3px 0;
	display: block;
	height: 40px;
	line-height: 40px;
}
#spfnav-fixed a {
	text-decoration: none;
	color: #665933;
}
#spfnav-fixed img {
	width: 16px;
	vertical-align: middle;
	margin-right: 8px;
}
#spfnav-fixed .menu-bottom-sp-siryo  img{
	width: 22px;
	padding-bottom: 3px;
}
#spfnav-fixed .menu-bottom-block:nth-child(2) img{
	padding-bottom: 2px;
}
#pagetop_sp {
	width: 40px;
	position: relative;
}
#pagetop_sp:after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 13px;
	height: 13px;
	border-top: 2px solid #00655a;
	border-right: 2px solid #00655a;
	top: 23px;
	left: 0;
	right: 0;
	transform: rotate(-45deg);
}


/* pan
========================================================================== */
#pan{
	width: 100%;
	overflow: hidden;
	padding: 8px 0 0;
}
.body-medical #pan, .body-medical_kanwa #pan,
.body-cancer #pan, .body-life #pan, .body-syunyu #pan,
.body-child #pan, .body-care #pan{
	background-color: #e7f9f7;
}
#pan ul{
	width: 980px;
	margin: 0 auto;
	font-size: 1.2rem;
}
#pan li{
	float: left;
	position: relative;
	margin-right: 10px;
	padding: 0 10px 0 0;
	line-height: 1.3;
	color: #808080;
}
#pan li a{
	color: #808080;
}
#pan li:last-child{
	margin-right: 0;
}
#pan li:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-top: 1px solid #808080;
	border-right: 1px solid #808080;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
	#pan ul {width: 100%;padding: 0 2%;font-size: 1rem;}
	#pan li {padding-right: 5px;}
	#pan li:not(:last-child):after {right: -3px;}
}


/* 商品ナビゲーション（.nav-product）
========================================================================== */
.nav-product{
	display: table;
	table-layout: fixed;
	width: 100%;
	line-height: 1.5;
	padding: 0 20px;
	margin-top: 15px;
}
.nav-product li{
	position: relative;
	text-align: center;
	display: table-cell;
	font-size: 1.7rem;
	font-weight: bold;
}
.nav-product li.nav-product__on::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
}
.nav-product li:not(:last-child) a{
	border-right: 3px #fff solid;
}
.nav-product li a{
	padding: 10px 5px;
	width: 100%;
	height: 100%;
	display: block;
	background: #f0f0f0;
	color: #00655a;
}
.nav-product li a:before {
	content: "";
	height: 100%;
	vertical-align: middle;
	width: 0px;
	display: inline-block;
}
.nav-product li a span{
	display: inline-block;
	vertical-align: middle;
}

.nav-product__row3 {
	margin-bottom: -2.4em!important;
	display: inline-block;
	vertical-align: middle;
}
.nav-product__row2 {
	margin-bottom: -1.4em!important;
	display: inline-block;
	vertical-align: middle;
}
.nav-product .nav-product__on{
	border-top: 2px solid #00655a;
	border-left: 2px solid #00655a;
	border-right: 2px solid #00655a;
	border-bottom: none;
	background: none;
}
.nav-product .nav-product__on a{
	background: #fff;
}
@media screen and (min-width: 768px) {
	.nav-product{
		margin-top: 40px;
		border-bottom: 2px solid #00655a;
	}
	.nav-product li a{
		min-height: 60px;
	}
}

@media screen and (max-width: 767px) {
	.nav-product li{
		font-size: 1.4rem;
		font-weight: normal;
		border-radius: 5px;
		overflow: hidden;
	}
	.nav-product{
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		padding: 0 2%;
		margin-top: 0;
	}
	.nav-product li{
		width: calc(100% / 2 - 5px);
		margin-bottom: 10px;
		flex: none;
		border: 1px solid #00655a;
	}
	.nav-product li a{
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		color: #00655a;
		font-size: 1.4rem;
		text-align: left;
		padding: 10px 7px 10px 25px;
		background: #fff;
		border: none!important;
	}
	.nav-product li:nth-child(odd){margin-right: 2%;}
	.nav-product li:nth-child(2n+1):last-child {
		width: 100%;
		margin-right: 0;
	}
	.nav-product li:before{
		bottom: 0;
		content: "";
		margin: auto;
		position: absolute;
			border: none;
		left: 6px;
		top: 0!important;
		height: 8px;
		width: 8px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		border-right: 2px solid #00b199;
		border-top: 2px solid #00b199;
	}

	.nav-product .nav-product__on a {background: #00655a; color: #fff;}
	.nav-product .nav-product__on:before {border-color: #fff;}
}


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

/*--- 共通 ---*/
.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;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	height: 68px;
	letter-spacing: 0.02em;
}
.btn-proceed a .txt-ss{
	display: block;
	font-weight: normal;
}
.btn-proceed a img{
	width: auto;
	height: 24px;
    margin: 0 10px 4px 0;
}

.box-proceed .btn-shiryo a img {height: 22px; margin: 0 10px 2px 0;}
.box-proceed .btn-net a img {margin: 0 8px 4px 0;}
.box-proceed p.txt-ss:last-child {margin-top: 8px;}

.btn-shiryo a {background-color: #f56531;}
.btn-net a {background-color: #005d8c;}
.btn-consul a {background-color: #00b199;}
.btn-tel a {
	color: #00a38d;
	background-color: #fff;
	border: 1px solid #00b199;
}

/*---------- 資料請求・面談予約・ネット申込 ----------*/
.box-proceed {
	position: relative;
	width: 980px;
	text-align: center;
	padding: 15px;
	margin: 30px 2%;
	border-top: 4px solid #e5e5e5;
	border-bottom: 4px solid #e5e5e5;
}
.box-proceed.proceed-1col{
	padding: 15px 15px 20px;
}

.box-proceed .col-ttl{
	position: relative;
	display: inline-block;
	font-weight: bold;
	padding-bottom: 5px;
	margin-top: 5px;
}
.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: #f56531;
	-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: #00b199;
}

@media only screen and (min-width: 768px) {
	.box-proceed {
		margin: 0 auto;
	}
	.box-proceed.proceed-1col{
		padding: 20px 280px;
	}
	.box-proceed.proceed-1col:has(.col-btn__2col){
		padding: 20px 80px;
	}
	.box-proceed.proceed-2col{
		padding: 20px 60px 15px;
	}
	.box-proceed.proceed-2col:has(.col-btn__2col){
		padding: 20px 30px 15px;
	}

	.box-proceed.proceed-1col .col-ttl{
		font-size: 1.8rem;
	}

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

	.box-proceed.proceed-2col .box-proceed__col .col-contact{
		padding-left: 40px;
		margin-left: 40px;
		border-left: 2px dotted #d9d9d9;
	}
	.box-proceed.proceed-2col .box-proceed__col .col-contact:has(.col-btn__2col){
		padding-left: 30px;
		margin-left: 30px;
	}
	.box-proceed.proceed-2col .box-proceed__col .col-contact .col-btn__2col li{
		width: 280px;
	}

	.box-proceed .col-btn__2col{
		display: flex;
	}
	.box-proceed .col-btn__2col li:first-child{
		margin-right: 20px;
	}

	.box-proceed::before,.box-proceed::after {
		position: absolute;
		content: "";
		width: 160px;
		height: 30px;
	}
	.box-proceed::before {
		border-left: solid 4px #00655a;
		border-top: solid 4px #00655a;
		top: -4px;
		left: 0;
	}
	.box-proceed::after {
		border-right: solid 4px #00655a;
		border-bottom: solid 4px #00655a;
		bottom: -4px;
		right: 0;
	}
}
@media only screen and (max-width: 767px) {
  .box-proceed {
		width: auto;
	}

	.box-proceed .col-ttl{
		font-size: 1.7rem;
	}
	.box-proceed__col .col-contact{
		padding-top: 15px;
		margin-top: 20px;
		border-top: 2px dotted #d9d9d9;
	}
	.box-proceed .col-btn__2col li:first-child{
		margin-bottom: 10px;
	}

	.box-proceed::before {
		position: absolute;
		content: "";
		border-top: solid 4px #00655a;
		width: 100px;
		top: -4px;
		left: 0;
		right: 0;
		margin: auto;
  }
}

/*--- お問い合わせ・ご相談 ---*/
.box-proceed__tel{
	font-weight: bold;
	padding: 15px 15px 20px;
	margin: 20px 2% 30px;
	background-color: #e7f9f7;
}
.box-proceed__ttl {
	color: #00655a;
	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: 20px 130px 25px;
		margin: 30px auto;
  }
	.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{
	width: 980px;
	padding: 20px;
	margin: 40px auto 30px auto;
	background: #f5f5f5;
	border-radius: 8px;
}

.box-fproduct__ttl{
	color: #00655a;
	padding: 0 0 10px;
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
}
.box-fproduct__bg .row-col3{
	gap: 15px;
}
.box-fproduct__bg a{
	background: #fff;
	display: block;
	width: 100%;
	padding: 10px 10px 15px;
}
.box-fproduct__in{
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	border-radius: 5px;
	overflow: hidden;
}
.box-fproduct__cat{
	margin: -10px -10px 15px -10px;
	padding: 5px;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
	background: #00655a;
}
.box-fproduct__in ul{
	width: 100%;
	display: table;
}
.box-fproduct__in li{
	text-align: center;
	display: table;
	vertical-align: middle;
	margin: 0 auto;
	font-size: 1.4rem;
	line-height: 1.4;
}
.box-fproduct__in li:first-child{
	height: 60px;
	margin-bottom: 10px;
}
.box-fproduct__in li span{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.box-fproduct__in li img{
	display: block;
	height: 60px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.box-fproduct{
		width: auto;
		padding: 15px 10px 0;
		margin: 30px 2% 20px;
	}
	.box-fproduct .row-col4 .col {
    width: 50%!important;
		float: left!important;
	}
	.box-fproduct__ttl{
		font-size: 2rem;
		padding-bottom: 8px;
	}
	.box-fproduct__bg .col{
		margin-bottom: 0!important;
	}
	.box-fproduct__in li:first-child{width: 100%;}
	.box-fproduct__in li img{
		width: 60%;
		height: auto;
	}
	.box-fproduct__cat{font-size: 1.5rem;}
}


/* 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"],
textarea {
  outline: none;
  border: 1px solid #c2cad3;
  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 #c2cad3;
  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 {
	width: 100%;
	line-height: 1.5;
	margin: 0 auto 30px;
	background-color: #e7f9f7;
}
.ttl-product__main{
	width: 980px;
	padding: 25px 0 30px;
	margin: 0 auto;
}

.ttl-product__main h1{
	display: flex;
	align-items: center;
	color: #00655a;
}
.ttl-product__logo{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 260px;
	height: 150px;
	margin-right: 30px;
	background-color: #fff;
	border-radius: 5px;
}
.ttl-product img{
	width: 220px;
}
.body-medical .ttl-product img, .body-cancer .ttl-product img {width: 210px;}
.body-medical.body-medical_kanwa .ttl-product img {width: 220px;}
.body-syunyu .ttl-product img {width: 220px;}

.ttl-product__txt{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.ttl-product__copy{
	font-size: 1.8rem;
}
.ttl-product__ttl{
	font-size: 3.2rem;
	font-weight: bold;
	margin: 4px 0 12px;
}
.ttl-product__sub{
	display: block;
	font-size: 1.4rem;
}
.ttl-product__page{
	padding: 4px 30px;
	border: 1px solid #00655a;
	border-radius: 5px;
}

@media screen and (max-width: 767px) {
	.ttl-product__main{
		width: 100%;
		padding: 15px 0 20px;
	}
	.ttl-product h1{
		flex-direction: column;
	}
	.ttl-product__logo{
		margin: 0 auto;
		height: 130px;
	}
	.ttl-product img{
		width: 200px;
	}
	.ttl-product__txt{
		align-items: center;
		text-align: center;
		margin-top: 15px;
	}
	.ttl-product__copy{
		font-size: 1.5rem;
	}
	.ttl-product__ttl{
		font-size: 2.4rem;
		line-height: 1.3;
		margin: 6px 0 14px;
	}
	.ttl-product__sub{
		font-size: 1.2rem;
		margin-top: 4px
	}
}

.ttl-basis{
	width: 100%;
	font-weight: bold;
	color: #fff;
	font-size: 2.8rem;
	margin: 40px 0 20px;
	padding: 10px 15px;
	background: #00655a;
	border-bottom: 3px solid #c2cad3;
}
@media screen and (max-width: 767px) {
	.ttl-basis{
		font-size: 1.8rem;
		margin: 20px 0 10px;
    padding: 10px;
		line-height: 1.3;
	}
}

.ttl-main{
	position: relative;
	font-size: 2.8rem;
	color: #00655a;
	font-weight: bold;
	width: 100%;
	line-height: 1.4;
	padding: 10px 0;
	margin-bottom: 30px;
}
.ttl-main::after {
	content: " ";
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-color: #00655a;
}
@media screen and (max-width: 767px) {
	.ttl-main{
		font-size: 2.2rem;
		margin-bottom: 20px;
	}
}

.ttl-feature{
	display: table;
	position: relative;
	background: #00655a;
	color: #fff;
	padding: 3px;
	width: 100%;
	font-weight: bold;
	margin-bottom: 15px;
}
.ttl-feature .fe-text{
	display: table-cell;
	vertical-align: middle;
	padding: 5px 5px 0 12px;
	font-size: 2.2rem;
	line-height: 1.3;
	width: 100%;
}
.ttl-feature .fe-text b{
	display: block;
	font-size: 1.6rem;
}
.ttl-feature .fe-no{
	display: block;
	background: #fff;
	color: #00655a;
	width: 62px;
	height: 62px;
	text-align: center;
	padding: 6px 5px 3px 5px;
	line-height: 1;
}
.ttl-feature .fe-no b{
	display: block;
	font-family: -apple-system, BlinkMacSystemFont, Arial;
	font-size: 3.6rem;
}
@media screen and (min-width: 768px) {
	.ttl-feature{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
	.ttl-feature .fe-text{
		font-size: 1.8rem;
		padding: 3px 10px;
		display: block;
	}
	.ttl-feature .fe-no{
		width: 100%;
		height: auto;
		padding: 5px;
		margin-bottom: 5px;
	}
	.ttl-feature .fe-no b{
		font-size: 2.0rem;
		display: inline-block;
	}
}

.ttl-bold-l{
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.ttl-bold{
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	.ttl-bold-l {font-size: 1.8rem;}
	.ttl-bold {font-size: 1.6rem;}
}

.ttl-square{
	position: relative;
	display: block;
	color: #333;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 1.2em;
	margin-bottom: 5px;
}
.ttl-square:before{
	position: absolute;
	display: block;
	content: "■";
	left: 0;
	font-family: "メイリオ", Meiryo;
	font-size: inherit;
	line-height: inherit;
}
@media screen and (max-width: 767px) {
	.ttl-square {
		font-size: 1.6rem;
	}
}

.ttl-bg{
	color: #fff;
	font-weight: bold;
	font-size: 1.8rem;
	text-align: center;
	padding: 10px 15px 8px;
	margin-bottom: 20px;
	background: #b26c09;
}
@media screen and (max-width: 767px) {
	.ttl-bg{
		padding: 8px 10px;
		margin-bottom: 15px;
	}
}
/*color*/
.ttl-bg.ttl-bg--men {background: #41b3d9!important;}
.ttl-bg.ttl-bg--women {background: #ee8db7!important;}

.ttl-ac {
	position: relative;
	display: block;
	cursor: pointer;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	width: 100%;
	min-height: 40px;
	margin: 0 0 15px 0;
	padding: 11px 40px 8px 12px;
	background: #efefef;
}
.ttl-ac span{
	display: inline-block;
	width: 100%;
	vertical-align: middle;
}
.ttl-ac::before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	background-color: #fff;
	border: 1px solid #b3b3b3;
	cursor: pointer;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -14px;
	border-radius: 6px;
}
.ttl-ac span::before, .ttl-ac span::after {
	content: "";
	display: inline-block;
	position: absolute;
	background-color: #333;
	top: 50%;
	right: 17px;
	width: 12px;
	height: 2px;
	margin-top: -2px;
}
.ttl-ac span::after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	transition: all .3s;
}
.ac-block {display: none;margin-bottom: 20px;}
.ac-open span::after {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
	.ttl-ac {
		font-size: 1.8rem;
		padding: 10px 40px 10px 10px;
	}
	.ttl-ac::before{
		width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 5px;
	}
	.ttl-ac span::before,
	.ttl-ac span::after{
		right: 14px;
		margin-top: -1px;
	}
}


/* module(text)
========================================================================== */
.txt-s {font-size: 1.4rem!important;}
.txt-ss {font-size: 1.2rem!important;}
@media screen and (max-width: 767px) {
	.txt-s {font-size: 1.2rem!important;}
}

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

.txt-learge{
	font-size: 1.8rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.txt-learge{font-size: 1.6rem;}
}

/* color */
.txt-red {color: #ef2e2e!important;}
.txt-black {color: #333!important;}

.txt-orange {color: #fa8f32!important;}
.txt-green {color: #75ba39!important;}

.txt-co-cancer {color: #d99816!important;}
.txt-co-cancer--option {color: #B269A7!important;}


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

.txt-bg{
	display: inline-block;
	color: #fff;
	padding: 5px 8px;
	margin-right: 5px;
	background: #00a67b;
}
@media screen and (min-width: 768px) {
	.txt-bg{
		padding: 6px 10px 3px;
	}
}

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

.note, .note-r {
	font-size: 1.2rem;
	margin-top: 10px;
	text-align: left;
}
.note li:not(:last-child) {
	margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
	.note-r {
		text-align: right;
	}
}

.txt-caution{
	position: relative;
		display: flex;
	align-items: flex-start;
	font-size: 1.2rem;
		text-align: left;
	margin-top: 10px;
}
.txt-caution img {
	width: 18px;
	height: auto;
	margin: 0 6px 0 0;
	vertical-align: middle;
}
	
.txt-pagecaution{
	font-size: 1.2rem;
	line-height: 1.6;
	text-align: center;
	margin: 20px 0 15px 0;
}

.txt-number {
	font-size: 1.2rem;
	color: #808080;
	text-align: right;
	margin: 15px 0 40px;
	padding: 0;
}
.body-top .txt-number {margin-bottom: 0;}


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

.link-arrow{
	color: #1D3994!important;
	text-decoration: underline;
	position: relative;
	padding-left: 23px;
}
.link-arrow:before{
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	background: #1d3994;
	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: #1d3994;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.link-arrow:hover{
	text-decoration: none;
}

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


/* module(btn)
========================================================================== */
.btn-basis{
	display: table;
	width: auto;
	margin: 15px auto 0;
}
.btn-basis a{
	position: relative;
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	min-width: 300px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	padding: 15px 40px;
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
}
.btn-basis a::before{
	position: absolute;
	top: 50%;
	bottom: 50%;
	right: 15px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 9px;
	height: 9px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
	.btn-basis{
		margin: 20px auto 0;
	}
	.btn-basis a{
		font-size: 1.6rem;
		padding: 20px 40px 18px 35px;
	}
}


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

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

@media screen and (max-width: 767px) {
	.body-medical .list-s li,
	.body-cancer .list-s li{
		font-size: 1.2rem;
	}
}

/* 2カラム ver1（いずれこちらで統一）*/
@media screen and (min-width: 768px) {
	.list-col2,
	.list-col3 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 10px;
	}
	.list-col3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.list-col2 li:nth-last-child(-n+2),
	.list-col3 li:nth-last-child(-n+3){
		margin-bottom: 0;
	}
}
/* 2カラム ver2 */
@media screen and (max-width: 767px) {
	.row-col2:has(.list),
	.row-col2:has(.list-s) {
		gap: 3px 0;
	}
}

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

/* .list-no */
.list-no li{
	position: relative;
	padding-left: 30px;
}
.list-no li:not(:last-child){
	margin-bottom: 15px;
}
.list-no li::before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	line-height: 1.5em;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	background: #b26c09;
	color: #fff;
	text-align: center;
}

/* .list-no02 */
.list-no02 > li{
	position: relative;
	padding-left: 25px;
}
.list-no02 li:not(:last-child){
	margin-bottom: 5px;
}
.list-no02 > li::before{
	position: absolute;
	top: 2px;
	left: 0;
	display: block;
	line-height: 20px;
	width: 20px;
	height: 20px;
	background: #c982be;
	color: #fff;
	text-align: center;
}

.list-no__1::before {content: "1";}
.list-no__2::before {content: "2";}
.list-no__3::before {content: "3";}
.list-no__4::before {content: "4";}
.list-no__5::before {content: "5";}
.list-no__6::before {content: "6";}
.list-no__7::before {content: "7";}
.list-no__8::before {content: "8";}

.body-medical .list-no li::before{background: #ef4b30;}
.body-medical .sec-senshin .list-no li::before{background: #0075c1;}
.body-cancer .list-no li::before{background: #d99816;}


/* module(box)
========================================================================== */
.box-detail{
	padding: 40px 30px;
}
@media screen and (max-width: 767px) {
	.box-detail{
		padding: 20px 2% 40px;
		border: none;
	}
}

.box-feature{
	margin-top: 50px;
}
.ttl-main + .box-feature{
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.box-feature {
		margin-top: 30px;
	}
	.ttl-main + .box-feature{
		margin-top: 20px;
	}
}

/* box-border */
.box-border{
	padding: 15px 20px;
	border: 1px solid #ccc;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.box-border{
		padding: 10px 15px;
		margin-top: 15px;
	}
}
.box-co--orange {border-color: #ff9900;}

/* box-bg */
.box-bg{
	width: 100%;
	padding: 12px 15px;
	background: #f6f6f6;
	border-radius: 10px;
}
.body-syunyu .box-feature .box-bg{
	margin: 15px auto 0;
	background-color: #FFFBE6;
}
@media screen and (min-width: 768px){
	.body-syunyu .box-feature .box-bg{
		padding: 15px;
		text-align: center;
	}
}


/*--- 注意文言 ---*/

/* box-note */
.box-note{
	display: block;
	padding: 10px 15px;
	margin-top: 10px;
	border: 1px solid #ccc;
}

.box-note--narrow {
	display: block;
	padding: 5px 10px;
	margin-top: 5px;
	border: 1px solid #ccc;
}

.box-note.box-note--dot{
	border: 1px dotted #ccc;
}
.box-note--red {
    color: #e53342;
    border: 1px dotted #e53342;
}

/* box-caution */
.box-caution {
	padding: 15px 20px 15px 80px;
	margin: 15px 0 0 0;
	background: url(/img/icon/icon_caution.svg);
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: 22px center;
	background-color: #fffbe5;
	border-radius: 10px;
}
.box-caution__ttl {
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.box-caution {
		padding: 50px 10px 15px;
		background-size: 32px 32px;
		background-position: center 8px;
	}
	.box-caution__ttl {
		text-align: center;
	}
}

/* box-caution02*/
.box-caution02 {
	padding: 50px 15px 15px 15px;
    border: 1px dotted #b3b3b3;
    background: url(/img/icon/icon_caution.svg);
    background-size: 32px 32px;
    background-repeat: no-repeat;
    background-position: center 10px;
    margin-bottom: 20px;
}
.box-caution02__ttl {
	font-weight: bold;
	margin-bottom: 3px;
}
@media screen and (min-width: 768px) {
	.box-caution02 {
		padding: 15px 20px 15px 70px;
		background-position: 22px center;
	}
}

/* 共通ガード文言（box-gaiyo） */
.box-gaiyo{
	border: 1px dotted #bfbfbf;
	padding: 20px;
	margin-top: 20px; 
	font-size: 1.4rem;
}
.box-gaiyo__text{
	text-align: center;
}
.box-gaiyo__list{
	display: table;
	margin: 10px auto 0;
}
.box-gaiyo__list li{
	display: table-cell;
}
.box-gaiyo__list li:first-child{
	padding-right: 15px;
}
.box-gaiyo__list .arrow:before{
	color: #f56531;
}
.box-gaiyo__list li a{
	color: #f56531;
	position: relative;
	display: inline;
}
.box-gaiyo__list li a:after{
	content: '';
	position: absolute;
	height: 1px;
	background: #f56531;
	width: 100%;
	bottom: 0;
	left: 0;
}
.box-gaiyo__list li:hover a:after{
	display: none;
}
@media screen and (max-width: 767px) {
	.box-gaiyo{
		margin: 0 2%;
		padding: 10px;
		font-size: 1.2rem;
	}
	.box-gaiyo__list{
		display: block;
		text-align: center;
	}
	.box-gaiyo__list li{
		display: inline-block;
	}
	.box-gaiyo__list li:first-child{
		padding-right: 0; 
		margin-bottom: 5px;
	}
}


/* 満点生活応援団（box-service）*/
.box-service{
	background: #e7f9f7;
	padding: 20px 30px;
	border: 2px solid #00655a;
	margin-top: 40px;
}
.box-service__ttl{
	text-align: center;
	font-size: 2rem;
	color: #00655a;
	line-height: 1.3;
	margin-bottom: 10px;
}
.box-service__ttl b{
	font-weight: bold;
	display: block;
}
.box-service__txt{
	text-align: left;
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
	.box-service{padding: 15px 10px; margin-top: 25px;}
	.box-service__ttl{font-size: 1.8rem;}
	.box-service__txt{font-size: 1.4rem;}
}

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

/* 改定情報等のお知らせ */
.box-info {
	font-size: 1.2rem;
	padding: 10px;
	margin: 0 auto 20px;
	border: 1px dotted #b3b3b3;
}
@media screen and (min-width: 768px) {
	.box-info {
		text-align: center;
		padding: 15px;
		margin: 20px auto 0;
	}
}



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

.td__left {
	text-align: left !important;
}

@media screen and (max-width: 320px) {
	.tbl-basis{
		padding: 5px;
	font-size: 1.2rem;
	}
}

@media screen and (max-width: 767px) {
	/*テーブルスクロール*/
	.tbl-scroll {
		position: relative;
		display: block;
		overflow: scroll;
		white-space: normal;
	}
	.tbl-scroll table{
		white-space: nowrap;
		table-layout: inherit!important;
	}
	.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('/img/common/img_tbl-arrow.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		opacity: 0.6;
	}
	.tbl-scroll table {
		width: 100%;
	}
	/*表示位置調整*/
	.body-care .tbl-scroll:not(.scrolled)::after {
		top: 100px;
		bottom: auto;
	}
}
	
/*--- テーブルのセル幅 ---*/
.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: 0;
	display: block;
	height: 60px;
	width: 60px;
	text-indent: -200px;
	opacity: 0.6;
	margin: 0;
	padding: 0;
	text-decoration: none;
	overflow: hidden;
	z-index: 10;
	background: #555;
}
.pagetop a:hover {
	background: #005148;
	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 #fff;
	border-right: 3px solid #fff;
	transform: rotate(-45deg);
}
.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;
	}
}


/* magnific-popup
========================================================================== */
.mfp-hide {
	display: none !important;
}
.magnific-block {
	background: #fff;
	padding: 10px;
}
.magnific-block {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
}
.mfp-close-btn-in .mfp-close,
.mfp-image-holder .mfp-close{
	color: #fff!important;
	background: rgb(0 0 0 / 30%)!important;
	border-radius: 50%;
	top: -15px!important;
	right: -15px!important;
	width: 36px;
	height: 36px;
	font-size: 36px;
	line-height: 36px;
	opacity: 1;
}
.mfp-figure:after{content: none!important;}
img.mfp-img{padding: 0!important;}

@media screen and (max-width: 767px){
	.mfp-content {
		padding: 10px!important;
	}
}
@media screen and (min-width: 600px){
	.mfp-container{
		top: 0!important;
	}
	.magnific-block {
		padding: 20px;
	}
}


/*ヘッダー＆フッター固定電話 モーダル*/
.mfp-content:has(#sp-modal-tel){
	max-width: 730px !important;
}
#sp-modal-tel {
	text-align: center;
	padding: 0 0 25px;
}
/* #sp-modal-tel .modal-tel__block {
	margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #ccc;
}
#sp-modal-tel .modal-tel__block .modal-tel__ttl{
	color: #00655a;
	font-weight: bold;
	font-size: 1.7rem;
} */


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

#sp-modal-tel .buttons button{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	font-size: 1.6rem;
	width: 90%;
	padding: 20px 10px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 0 0;
	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: 22px;
	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: #00655a;
	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: #00655a;
	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: #00655a;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	padding: 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 #ccc;
}

#sp-modal-tel #tel-modal__back-button{
	color: #333;
	font-size: 1.3rem;
	padding: 8px 30px;
	margin: 15px auto 0;
	background: #fff;
	border: 1px solid #ccc;
	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 #B3B3B3;
	border-top: 1px solid #B3B3B3;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0
}
@media screen and (min-width: 768px) {
	#sp-modal-tel{
		padding: 0 0 32px;
	}
	#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: 24px;
	}
	#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;
		padding: 10px 8px 8px;
		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: 18px;
	}
}


/*保険無料相談ボタン モーダル*/
.mfp-content:has(#modal-consul){
	max-width: 730px !important;
}
#modal-consul {
	text-align: center;
	padding: 15px 10px 18px;
}
#modal-consul .modal-consul__block {
	padding-bottom: 16px;
	margin-bottom: 12px;
	border-bottom: 1px dashed #ccc;
}
#modal-consul .modal-consul__block .modal-consul__ttl{
	color: #00655a;
	font-size: 1.7rem;
	font-weight: bold;
}
#modal-consul .modal-consul__block .btn-consul{
	margin-top: 10px;
}
#modal-consul .modal-consul__block .modal-consul__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	text-decoration: none;
	margin: 0 auto;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	width: 95%;
	height: 68px;
}
#modal-consul .modal-consul__block .modal-consul__btn img {
	width: 24px;
	height: auto;
	margin: 0 10px 4px 0;
}

#modal-consul .modal-link__block .modal-link__btn {
	display: block;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	background-color: #00655a;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	padding: 8px;
	margin: 12px auto 0;
	width: 85%;
}
#modal-consul .modal-link__block .modal-link__btn img {
	width: 16px;
	vertical-align: middle;
	margin-left: 3px;
}
#modal-consul .modal-link__block.block-deduction {
	display: flex;
	justify-content: center;
	text-align: left;
	padding: 10px;
	margin: 10px 0 0;
	border: 1px dotted #ccc;
}

@media screen and (min-width: 768px) {
	#modal-consul{
		padding: 24px 40px 32px;
	}
	#modal-consul .modal-consul__block{
		padding-bottom: 24px;
		margin-bottom: 20px;
	}
	#modal-consul .modal-consul__block .modal-consul__ttl{
		font-size: 2.0rem;
	}
	#modal-consul .modal-consul__block .btn-consul{
		margin-top: 10px;
	}

	#modal-consul .modal-consul__block .modal-consul__btn {
		width: 60%;
	}
	#modal-consul .modal-link__block .modal-link__btn{
		font-size: 1.6rem;
		padding: 10px 8px 8px;
		margin: 20px auto 0;
		width: 50%;
	}

	#modal-consul .modal-link__block.block-deduction{
		padding: 15px;
	}
	#modal-consul .modal-link__block.block-deduction .list li{
		font-size: 1.5rem;
	}
}


/* color
========================================================================== */

/* 医療保険Aセレクト */
.body-medical .ttl-main {color: #ef4b30;}
.body-medical .ttl-main::after {background-color: #ef4b30;}
.body-medical .ttl-feature {background: #ef4b30;}
.body-medical .ttl-feature .fe-no {color: #ef4b30;}
.body-medical .ttl-bold,
.body-medical .ttl-bold-l {color: #ef4b30;}

.body-medical .box-section__senshin .ttl-square:before {color: #0075c1;}
.body-medical .box-section__gan .ttl-square:before {color: #b169a7;}
.body-medical .box-section__woman .ttl-square:before {color: #f060a1;}
.body-medical .box-section__kaigo .ttl-square:before {color: #1ab2b8;}

.body-medical .ttl-bg {background: #ef4b30;}


/* 医療保険Aセレクト（引受緩和型） */
.body-medical_kanwa .ttl-main {color: #c23e84;}
.body-medical_kanwa .ttl-main::after {background-color: #c23e84;}
.body-medical_kanwa .ttl-feature {background: #c23e84;}
.body-medical_kanwa .ttl-feature .fe-no {color: #c23e84;}
.body-medical_kanwa .ttl-bold,
.body-medical_kanwa .ttl-bold-l {color: #c23e84;}
.body-medical_kanwa .ttl-bg {background: #c23e84;}


/* ガン保険Sセレクト */
.body-cancer .ttl-main {color: #d99816;}
.body-cancer .ttl-main::after {background-color: #d99816;}
.body-cancer .ttl-feature {background: #d99816;}
.body-cancer .ttl-feature .fe-no {color: #d99816;}
.body-cancer .ttl-bold,
.body-cancer .ttl-bold-l {color: #cc8f14;}

.body-cancer .ttl-square:before {color: #d99816;}
.body-cancer .box-section__item01 .ttl-square:before {color: #B269A7;}

.body-cancer .ttl-bg {background: #cc8f14;}


/* 終身保険（低解約返戻金型） */
.body-life .ttl-main {color: #b26c09;}
.body-life .ttl-main::after {background-color: #b26c09;}
.body-life .ttl-feature {background: #b26c09;}
.body-life .ttl-feature .fe-no {color: #b26c09;}
.body-life .ttl-bold,
.body-life .ttl-bold-l {color: #b26c09;}
.body-life .ttl-square:before {color: #b26c09;}
.body-life .ttl-bg {background: #b26c09;}


/* くらしの応援ほけんWセレクト */
.body-syunyu .ttl-main {color: #fa8f32;}
.body-syunyu .ttl-main::after {background-color: #fa8f32;}
.body-syunyu .ttl-feature {background: #fa8f32;}
.body-syunyu .ttl-feature .fe-no {color: #fa8f32;}
.body-syunyu .ttl-bold,
.body-syunyu .ttl-bold-l {color: #fa8f32;}
.body-syunyu .ttl-square:before {color: #fa8f32;}

.body-syunyu .ttl-bg {background: #fa8f32;}
.body-syunyu .sample .ttl-bg {text-align: left;}


/* 介護保険Cセレクト */
.body-care .ttl-main {color: #0091ba;}
.body-care .ttl-main::after {background-color: #0091ba;}
.body-care .ttl-feature {background: #0091ba;}
.body-care .ttl-feature .fe-no {color: #0091ba;}
.body-care .ttl-bold,
.body-care .ttl-bold-l {color: #0091ba;}
.body-care .ttl-square:before {color: #0091ba;}
.body-care .ttl-bg {background: #0091ba;}

.body-care .btn-basis a {color: #0091ba;}
.body-care .btn-basis a::before {border-color: #0091ba;}


/* こども保険 */
.body-child .ttl-main{color: #ff9900;}
.body-child .ttl-main::after{background-color: #ff9900;}
.body-child .ttl-feature{background: #ff9900;}
.body-child .ttl-feature .fe-no {color: #ff9900;}
.body-child .ttl-bold,
.body-child .ttl-bold-l {color: #ff9900;}
.body-child .ttl-square:before {color: #ff9900;}
.body-child .ttl-bg{background: #ff9900;}



/* 特徴ページ
========================================================================== */

/*--- 医療保険Aセレクト／医療保険Aセレクト（引受緩和型）---*/

/* 主契約と選べるオプション（特約）*/
.block-hosyo__medical .ttl-square{
	margin-top: 20px;
}
.block-hosyo__option {
	position: relative;
	margin-top: 50px;
}
.block-hosyo__option::before {
	position: absolute;
	content: "＋";
	font-size: 4rem;
	color: #333;
	top: -45px;
	left: 50%;
	margin-left: -2rem;
}
.block-hosyo__medical .ttl-square,
.block-hosyo__option .ttl-square {
	margin-bottom: 10px;
}
.body-medical .block-hosyo__medical .ttl-square::before,
.body-medical .block-hosyo__option .ttl-square::before {
	color: #ef4b30;
}
.body-medical_kanwa .block-hosyo__medical .ttl-square::before,
.body-medical_kanwa .block-hosyo__option .ttl-square::before {
	color: #c23e84;
}
.block-hosyo__medical ul,
.block-hosyo__option ul {
	display: flex;
	margin-top: 10px;
}
.block-hosyo__medical ul li,
.block-hosyo__option ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	font-weight: bold;
	padding: 15px 10px;
	background-color: #ccc;
	border-radius: 8px;
}
.block-hosyo__option ul {
	flex-wrap: wrap;
}
.block-hosyo__option ul li {
	width: calc(100% / 4 - 8px);
	margin-bottom: 10px;
}

.body-medical .block-hosyo__medical ul li {color: #ef4b30; background: #fff; border: 1px solid #ef4b30;}
.body-medical_kanwa .block-hosyo__medical ul li {color: #c44b8c; background: #fff; border: 1px solid #c44b8c;}

.body-medical .block-hosyo__option ul li:first-child {color: #335db3; background: #e0e9fa;}
.body-medical .block-hosyo__option ul li:nth-child(2) {color: #0075c1; background: #e0f0fa;}
.body-medical .block-hosyo__option ul li:nth-child(3) {color: #84b81d; background: #ecf5d7;}
.body-medical .block-hosyo__option ul li:nth-child(4) {color: #f060a1; background: #ffebf3;}
.body-medical .block-hosyo__option ul li:nth-child(5),
.body-medical .block-hosyo__option ul li:nth-child(6),
.body-medical .block-hosyo__option ul li:nth-child(7) {color: #b169a7; background: #f6e6f7;}
.body-medical .block-hosyo__option ul li:nth-child(8) {color: #17c3e5; background: #e1f4fa;}
.body-medical .block-hosyo__option ul li:nth-child(9) {color: #f59b00; background: #fff1db;}
.body-medical .block-hosyo__option ul li:nth-child(10) {color: #1ab2b8; background: #dcf4f5;}

.body-medical_kanwa .block-hosyo__option ul li:first-child {color: #335db3; background: #e0e9fa;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(2) {color: #0075c1; background: #e0f0fa;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(3) {color: #17c3e5; background: #e1f4fa;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(4) {color: #b169a7; background: #f6e6f7;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(5) {color: #84b81d; background: #ecf5d7;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(6) {color: #f59b00; background: #fff1db;}
.body-medical_kanwa .block-hosyo__option ul li:nth-child(7) {color: #f060a1; background: #ffebf3;}

@media screen and (min-width: 768px){
	.block-hosyo__medical ul li:not(:last-child) {
		margin-right: 10px;
	}
	.block-hosyo__option ul li:not(:nth-child(4n)) {
		margin-right: 10px;
	}
}
@media screen and (max-width: 767px){
	.block-hosyo__option::before {
		top: -60px;
	}
	.block-hosyo__medical .ttl-bold,
	.block-hosyo__option .ttl-bold {
		text-align: center;
	}
	.block-hosyo__medical ul {
		flex-wrap: wrap;
	}
	.block-hosyo__medical ul li,
	.block-hosyo__option ul li {
		width: calc(100% / 2 - 5px);
		padding: 10px;
		margin-bottom: 10px;
	}
	.block-hosyo__medical ul li:nth-child(odd),
	.block-hosyo__option ul li:nth-child(odd) {
		margin-right: 10px;
	}
}
