@charset "UTF-8";


/* Table Of Contents
---------------------------------------------------------------------------- 
General Elements
header
gNav
visual
topicPath
footer
---------------------------------------------------------------------------- */


/*General Elements
---------------------------------------------------------------------------- */
body{
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	color:#333;
	position: relative;
	background-color: var(--color-white);
    margin: 0;
    min-height: 100vh
}
.body-l-window {
  background: url(../image/head_foot/foot_bg_partnercurve.jpg) right bottom no-repeat;
  background-size: 100% 220px;
  padding-top: 0;
  min-height: 100vh;
  width: 100%;
}

.body-has-header {
  padding-top: 141px;
}

html {
  font-size: 10px;
}

@media all and (min-width: 769px) {
	html{
		min-width: 944px;
	}
	body{
		min-width: 944px;
		min-height: 100vh
	}
	body.l-modalbody{
		min-width: 640px;
		background: none;
	}
}
@media all and (max-width: 768px) {
	body.l-modalbody{
		background: none;
	}
  .body-l-window {
    background: url(../image/head_foot/foot_bg_partnercurve_sp.jpg) right bottom no-repeat;
    background-size: 100% 240px;
  }
  .body-has-header {
    padding-top: 64px;
	}
}
input{
	font-family: inherit;
}
a{
	text-decoration: underline;
	color: #3281a2;
	outline: none;
}
@media all and (max-width: 768px) {
	a{
		text-decoration: none !important;
	}
}
a[href^="tel:"]{
	cursor: default;
}
@media all and (max-width: 768px) {
	a[href^="tel:"]{
		cursor: pointer;
	}
}
a:hover{ text-decoration: none; }
*{
	box-sizing: border-box;
	word-break: break-all;
}
@media all and (max-width: 768px) {
	img,
	object{
		max-width: 100%;
		height: auto;
	}
}

/*l-header
---------------------------------------------------------------------------- */
.l-header{
	min-width: 944px;
}
.l-header.l-window{
	margin-bottom: 25px;
  height: 88px;
  border-bottom: 1px solid #adadad;
  padding: 17px 0 16px;
}
.l-header-inner{
	width: 944px;
	margin: 0 auto;
}
.l-header-logo{
	float: left;
	width: auto;
}
.l-header-right{
	float: right;
	width: auto;
}

/*文字の大きさ*/
.l-header-right-size{
	float: right;
	width: auto;
}
.l-header-right-size-text{
	float: left;
	line-height: 1.0;
	margin: 6px 6px 0 0;
}
.l-header-right-size-list{
	float: left;
	width: auto;
	font-size: 14px;
	border-radius: 6px;
	margin-right: 20px;
}
.l-header-right-size-list li{
	width: auto;
	float: left;
}
.l-header-right-size-list li img{
	cursor: pointer;
}

/*検索フォーム*/
.l-header-right-form{
	float: right;
	width: auto;
}
.l-header-right-form-text{
	float: left;
	width: auto;
	margin-right: 8px;
}
.l-header-right-form-text input{
	width: 180px;
	font-size: 12px;
	color: #999;
	padding: 2px 0 2px 8px;
	border: 2px solid #c6c6c6;
	outline: none;
}
.l-header-right-form-btn{
	float: left;
	width: auto;
}
.l-header-right-form-btn input{
	outline: none;
}

/*ナビゲーション*/
.l-header-right-navi{
	font-size: 1.3em;
	margin-top: 5px;
}
.l-header-right-navi li{
	float: left;
	width: auto;
}
.l-header-right-navi li + li{
	margin-left: 14px;
}
.l-header-right-navi li a{
	text-decoration: none;
}
.l-header-right-navi li a:hover{
	text-decoration: underline;
}
.l-header-right-navi-blank{
	padding-left: 14px;
}
#popterm1{
	top: 5px !important;
  margin-left: 10px !important;
}
@media all and (max-width: 768px) {
	.l-header{
		min-width: 0;
		padding: 0;
	}
	.l-header.l-window{
		margin-bottom: 10px;
	}
	.l-header-inner{
		width: 96%;
		margin: 0 0 0 4%;
	}
	.l-header-left-sp{
		float: left;
		width: auto;
		padding: 8px 0;
	}
	.l-header-left-sp img{
		width: 90px;
		height: auto;
	}
	.l-header-right-sp{
		float: right;
	}
	.l-header-right-sp p{
		float: left;
		border-left: 1px solid #d6d6d6;
		margin-left: 2px;
	}
	.l-header-right-sp p:first-child{
		border-left: none;
	}
	.l-header-right-sp p img{
		width: auto;
		height: 60px;
		cursor: pointer;
	}

	/*非レスポンシブ用*/
	.l-header.l-windowpc{
		min-width: 944px;
		height: 88px;
		border-bottom: 1px solid #adadad;
		padding: 17px 0 16px;
	}
	.l-windowpc .l-header-inner{
		width: 944px;
		margin: 0 auto;
	}
	.l-windowpc .l-header-inner.pc{
		display: block !important;
	}
	.l-windowpc .l-header-inner.sp{
		display: none !important;
	}

	/*ハンバーガーナビ*/
	.l-header-navi{
		width: 100%;
		position: absolute;
		top: 62px;
		left: 0;
		z-index: 100;
		display: none;
	}
	.l-header-navi-list{
		background: #fff;
		border-bottom: 1px solid #c0c0c0;
	}
	.l-header-navi-list1,
	.l-header-navi-list6{
		font-size: 1.5em;
		font-weight: bold;
	}
	.l-header-navi-list > li + li{
		border-top: 1px solid #c0c0c0;
	}
	.l-header-navi-list > li > a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		padding: 19px 14px 14px;
		display: inline-block;
	}
	.l-header-navi-list1 > a,
	.l-header-navi-list6 > a{
		background: url(../image/head_foot/navi_arrow_sp.png) 97% center no-repeat;
		background-size: 14px auto;
	}
	.l-header-navi-list-ac-head{
		font-size: 1.5em;
		font-weight: bold;
		cursor: pointer;
	}
	.l-header-navi-list-ac-head.is-open{
		background-color: #e1ddcd;
	}
	.l-header-navi-list-ac-head span{
		width: 100%;
		background: url(../image/head_foot/navi_icon_head_sp_of.png) 97% center no-repeat;
		background-size: 15px auto;
		padding: 19px 14px 14px;
		display: inline-block;
	}
	.l-header-navi-list-ac-head.is-open span{
		width: 100%;
		background: url(../image/head_foot/navi_icon_head_sp_ov.png) 97% center no-repeat;
		background-size: 15px auto;
		padding: 19px 14px 14px;
		display: inline-block;
	}
	.l-header-navi-list-ac-body{
		border-top: 1px solid #c0c0c0;
		display: none;
	}
	.l-header-navi-list-ac-body-second{
		font-size: 1.4em;
		background: #fffaeb;
	}
	.l-header-navi-list-ac-body-second > li + li{
		border-top: 1px solid #c0c0c0;
	}
	.l-header-navi-list-ac-body-second > li > a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		padding: 15px 15px 14px 37px;
		display: inline-block;
	}
	.l-header-navi-list-ac-body-second > li > span{
		width: 100%;
		color: inherit;
		text-decoration: none;
		padding: 15px 15px 14px;
		display: inline-block;
	}
	.l-header-navi-list-ac-body-second-top a{
		background: url(../image/index_link_plane.png) 15px center no-repeat;
		background-size: 14px auto;
	}
	.l-header-navi-list-ac-body-second-link a{
		background: url(../image/index_link_plane.png) 15px center no-repeat;
		background-size: 14px auto;
	}
	.l-header-navi-list-ac-body-second-link-blank a{
		background: url(../image/index_link_blank.png) 15px center no-repeat;
		background-size: 14px auto;
	}
	.l-header-navi-list-ac-body-second-child{
		background: #fff;
		padding: 0 30px;
	}
	.l-header-navi-list-ac-body-second-child li + li{
		border-top: 1px dotted #c0c0c0;
	}
	.l-header-navi-list-ac-body-second-child li a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		background: url(../image/index_link_plane.png) left center no-repeat;
		background-size: 14px auto;
		padding: 15px 15px 14px 22px;
		display: inline-block;
	}
	.l-header-navi-list-ac-body-second-child li a.l-header-navi-list-ac-body-second-child-blank{
		background: url(../image/index_link_blank.png) left center no-repeat;
		background-size: 14px auto;
	}
	.l-header-navibottom{
		font-size: 1.4em;
		background: #fff;
	}
	.l-header-navibottom li + li{
		border-top: 1px solid #c0c0c0;
	}
	.l-header-navibottom li a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		background: url(../image/head_foot/navibottom_icon_arrow_sp.png) 96.5% center no-repeat;
		background-size: 6px auto;
		padding: 13px 14px 11px;
		display: inline-block;
	}
	.l-header-navibottom li a.l-header-navibottom-blank{
		background: url(../image/head_foot/navibottom_icon_blank_sp.png) 96.5% center no-repeat;
		background-size: 9px auto;
	}

	/*背景*/
	.l-header-navibg{
		width: 100%;
		height: calc(100% - 62px);
		background: rgba(0,0,0,0.7);
		position: absolute;
		top: 62px;
		left: 0;
		z-index: 50;
		display: none;
	}

	/*検索フォーム*/
	.l-header-form{
		border-top: 1px solid #c0c0c0;
		background: #fff;
		padding: 15px;
	}
	.l-header-form-search{
		float: left;
		width: 70%;
	}
	.l-header-form-search input{
		width: 100%;
		font-size: 1.6em;
		color: #999;
		border: 1px solid #c6c6c6;
		padding: 8px 14px 6px;
	}
	/*iphone用設定*/
	.iphone .l-header-form-search input{
		padding: 6px 14px 5px;
	}
	/*android用設定*/
	.android .l-header-form-search input{
		padding: 10px 14px 9px;
	}
	.l-header-form-btn{
		float: right;
		width: auto;
	}
	.l-header-form-btn input{
		width: auto;
		height: 40px;
	}
}
/* l-gNav
---------------------------------------------------------------------------- */
.l-gNav{
	height: 63px;
	position: relative;
	z-index: 10;
}
.l-gNav:after{
	content: "";
	width: 100%;
	height: 3px;
	background: var(--color-red);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	display: inline-block;
}
.l-gNav-list{
	width: 944px;
	margin: 0 auto;
	font-size: 16px;
	position: relative;
	z-index: 150;
}
.l-gNav-list li{
	float: left;
	width: 24.8%;
	background: #fff url(../image/head_foot/gnav_bg.jpg) left top repeat-x;
	border-right: 1px solid #adadad;
	border-left: 1px solid #adadad;
}
.l-gNav-list li + li{
	border-left: none;
}
.l-gNav-list li a{
	color: inherit;
}
.l-gNav-list li span{
	width: 100%;
	color: inherit;
	text-decoration: none;
	background: url(../image/head_foot/gnav_arrow_of.png) 200px center no-repeat;
	border-bottom: 3px solid var(--color-red);
	padding: 20px 0 16px 18px;
	display: inline-block;
	cursor: pointer;
}
.l-gNav-list li.is-active span,
.l-gNav-list li:hover span{
	color: #fff;
	background: #c7000d url(../image/head_foot/gnav_arrow_ov.png) 200px center no-repeat;
}

/*メガナビ*/
.l-gNav-mega{
	width: 944px;
	height: 520px;
	background: #fff;
	border: 4px solid #feedee;
	box-shadow: 0 0 7px 3px rgba(0,0,0,0.25);
	margin: 0 auto;
	position: absolute;
	top: 63px;
	right: 0;
	left: 0;
	z-index: 100;
	display: none;
}
.l-gNav-mega-list-top{
	font-size: 20px;
	font-weight: bold;
	border-bottom: 3px solid #feedee;
	padding: 0 16px;
}
.l-gNav-mega1 .l-gNav-mega-list-inner,
.l-gNav-mega2 .l-gNav-mega-list-inner,
.l-gNav-mega3 .l-gNav-mega-list-inner{
	border-bottom: 3px solid #feedee;
	padding-right: 16px;
}
.l-gNav-mega1 .l-gNav-mega-list-top,
.l-gNav-mega2 .l-gNav-mega-list-top,
.l-gNav-mega3 .l-gNav-mega-list-top{
	float: left;
	width: auto;
	border-bottom: none;
}
.l-gNav-mega-list-btn{
	display:table;
	float: right;
	width:276px;
	min-height:65px;
	margin:10px 0px;
}
.l-gNav-mega-list-btn a{
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	width:100%;
	padding:10px 15px 9px 37px;
	font-size: 14px;
	font-weight:bold;
	color: inherit;
	border: 1px solid #c0c0c0;
	border-bottom: 3px solid #c7000d;
	border-radius: 4px;
	text-decoration: none;
	background: #fff url(../image/index_link_plane.png) 15px center no-repeat;
	background-size: 14px auto;
	}
.l-gNav-mega-list-btn.link-blank a{
	background: #fff url(../image/index_link_blank.png) 15px center no-repeat;
	background-size: 14px auto;
}
.l-gNav-mega-list-top a{
	color: inherit;
	text-decoration: none;
	background: url(../image/index_link_plane.png) left center no-repeat;
	background-size: 14px auto;
	padding: 19px 0 17px 20px;
	display: inline-block;
}
.l-gNav-mega-list-navi{
	padding: 18px 16px 0 16px;
}
.l-gNav-mega1 .l-gNav-mega-list-navi > li,
.l-gNav-mega2 .l-gNav-mega-list-navi > li,
.l-gNav-mega4 .l-gNav-mega-list-navi > li{
	float: left;
	width: 276px;
	min-height: 171px;
}
.l-gNav-mega3 .l-gNav-mega-list-navi > li{
	float: left;
	width: 198px;
	min-height: 223px;
}
.l-gNav-mega1 .l-gNav-mega-list-navi > li + li,
.l-gNav-mega2 .l-gNav-mega-list-navi > li + li,
.l-gNav-mega4 .l-gNav-mega-list-navi > li + li{
	width: 296px;
	border-left: 1px solid #d6d6d6;
	margin-left: 18px;
	padding-left: 20px;
}
.l-gNav-mega3 .l-gNav-mega-list-navi > li + li{
	width: 217px;
	border-left: 1px solid #d6d6d6;
	margin-left: 18px;
	padding-left: 20px;
}
.l-gNav-mega-list-navi-lead{
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background: #c7000d;
	border-radius: 5px;
	padding: 0 15px 0;
	display: table;
}
.l-gNav-mega-list-navi-lead span{
	width: 100%;
	vertical-align: middle;
	display: table-cell;
}
.l-gNav-mega-list-navi-link{
	font-size: 14px;
}
.l-gNav-mega-list-navi-link li{
	margin-top: 10px;
}
.l-gNav-mega-list-navi-link li a{
	color: inherit;
	text-decoration: none;
	background: url(../image/index_link_plane.png) left center no-repeat;
	background-size: 14px auto;
	padding: 2px 0 0 23px;
	display: inline-block;
}
.l-gNav-mega-list-navi-link li a.l-gNav-mega-list-navi-link-blank{
	background: url(../image/index_link_blank.png) left center no-repeat;
	background-size: 14px auto;
}
.l-gNav-mega-close{
	position: absolute;
	right: 17px;
	bottom: 16px;
	z-index: 10;
}
.l-gNav-mega-close img{
	cursor: pointer;
}

/*背景（閉じる用）*/
.l-gNav-megabg{
	width: 100%;
	height: 520px;
	position: absolute;
	top: 63px;
	left: 0;
	z-index: 50;
	display: none;
}

/* l-topicPath
---------------------------------------------------------------------------- */
.l-topicPath{
	min-width: 944px;
	background: #fffaeb;
	margin-bottom: 30px;
	padding: 9px 0;
}
.l-topicPath-list{
	width: 944px;
	margin: 0 auto;
	font-size: 1.2em;
}
.l-topicPath-list li{
	color: #939393;
	display: inline;
}
.l-topicPath-list li a{
	text-decoration: none;
	padding-right: 0.5em;
}
.l-topicPath-list li a:hover{
	text-decoration: underline;
}
.l-topicPath-list li > span{
	color: #333;
}
@media all and (max-width: 768px) {
	.l-topicPath{
		min-width: 0;
		margin-bottom: 15px;
	}
	.l-topicPath-list{
		width: 92%;
		margin: 0 0 0 4%;
		font-size: 1.2em;
	}
}
/* l-pageBody
---------------------------------------------------------------------------- */
.l-pageBody{
	width: 944px;
	margin: 0 auto;
}
.l-pageBody.l-modalpageBody{
	width: auto;
}
@media all and (max-width: 768px) {
	.l-pageBody{
		width: 100%;
		padding: 0 4%;
	}
}
/* l-content
---------------------------------------------------------------------------- */
.l-contentleft{
	float: left;
	width: 704px;
}
.l-modalcontent{
	width: 640px;
	margin: 0 auto;
}
@media all and (max-width: 768px) {
	.l-contentleft{
		float: none;
		width: 100%;
	}
	.l-modalcontent{
		width: 100%;
	}
}
/* l-sidebar
---------------------------------------------------------------------------- */
.l-sidebar{
	float: right;
	width: 224px;
}

/*第3階層*/
.l-sidebar > ul > li + li{
	margin-top: 5px;
}
.l-sidebar > ul > li{
	font-weight: bold;
}
.l-sidebar > ul > li > a{
	width: 100%;
	font-size: 1.4em;
	color: #fff;
	background-color: #92846e;
	background-image:  url(../image/lnav/lnav_icon_link_arrow.png);
	background-repeat: no-repeat;
	background-position: 92.5% center;
	background-size: 14px auto;
	padding: 14px 13px 12px;
	border-radius: 5px;
	display: inline-block;
}
.l-sidebar > ul > li.op > a,
.l-sidebar > ul > li.opon > a{
	background-image: url(../image/lnav/lnav_icon_link_arrow_op.png);
	border-radius: 5px 5px 0 0;
}
.l-sidebar > ul > li > a:hover,
.l-sidebar > ul > li.on > a,
.l-sidebar > ul > li.opon > a{
	background-color: #b2a999;
}
.l-sidebar > ul > li ul,
.grandChildWrap{
	display: none;
}
.l-sidebar .op > *,
.l-sidebar .op > .grandChildWrap ul,
.l-sidebar .opon > *,
.l-sidebar .opon > .grandChildWrap ul{
	display: block;
}
.l-sidebar > ul > li span{
	width: 100%;
	padding-right: 25px;
	display: inline-block;
}

/*第4階層*/
.ChildList{
	border: 1px solid #d9cfb1;
	border-top: none;
	padding: 10px 9px;
	border-radius: 0 0 5px 5px;
}
.ChildList > li{
	font-weight: bold;
	line-height: 1.2;
	border: 1px solid #e2ddd4;
	border-bottom: 3px solid #c2b7a8;
	border-radius: 5px;
	padding: 8px 7px;
	position: relative;
}
.ChildList > li.op,
.ChildList > li.opon{
	border: none;
	padding: 5px 0 0;
}
.ChildList > li:first-child.op,
.ChildList > li:first-child.opon{
	padding-top: 0;
}
.ChildList > li + li{
	margin-top: 5px;
}
.ChildList > li > a{
	width: 100%;
	font-size: 1.4em;
	color: inherit;
	text-decoration: none;
	background-image: url(../image/lnav/lnav_icon_second_head_link_arrow.png);
	background-repeat: no-repeat;
	background-size: 14px auto;
	background-position: 97% center;
	border-radius: 2px;
	padding: 11px 15px 8px 10px;
	display: inline-block;
}
.ChildList > li.op > a,
.ChildList > li.opon > a{
	background-image: url(../image/lnav/lnav_icon_second_head_link_arrow_op.png);
}
.ChildList > li > a[target="_blank"]{
	background: url(../image/index_link_blank.png) 97% center no-repeat;
	background-size: 14px auto;
}
.ChildList > li > a:hover,
.ChildList > li.on > a,
.ChildList > li.opon > a{
	background-color: #feedee;
}

/*第5階層*/
.grandChild{
	margin-top: 10px;
	padding: 14px 0 10px;
	position: relative;
}
.grandChild:before{
	content: "";
	width: 100%;
	height: 3px;
	background: #c2b7a8;
	border-radius: 1.5px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.grandChild > li{
	line-height: 1.5;
	border-radius: 2px;
}
.grandChild > li + li{
	margin-top: 3px;
}
.grandChild > li > a{
	width: 100%;
	font-size: 1.2em;
	color: inherit;
	text-decoration: none;
	background-image: url(../image/lnav/lnav_icon_second_link_arrow.png);
	background-repeat: no-repeat;
	background-size: 6px auto;
	background-position: 96% center;
	border: 1px solid #e2ddd4;
	border-radius: 2px;
	padding: 11px 25px 10px 10px;
	display: inline-block;
}
.grandChild > li.op > a,
.grandChild > li.opon > a{
	background-image: url(../image/lnav/lnav_icon_second_link_arrow_op.png);
}
.grandChild > li > a > em{
	font-weight: normal;
}
.grandChild > li > a[target="_blank"]{
	background: #fff url(../image/lnav/lnav_icon_second_link_blank.png) 96% center no-repeat;
	background-size: 10px auto;
}
.grandChild > li > a:hover,
.grandChild > li.on > a,
.grandChild > li.opon > a{
	background-color: #feedee;
}

/*第6階層*/
.posterity{
	margin: 3px 0;
}
.posterity > li + li{
	margin-top: 3px;
}
.posterity > li a{
	width: 100%;
	font-size: 1.2em;
	text-decoration: none;
	background: url(../image/lnav/lnav_icon_second_link_child_arrow.png) 20px 40% no-repeat;
	background-size: 7px auto;
	padding: 8px 18px 6px 35px;
	display: inline-block;
}
.posterity > li a[target="_blank"]{
	background: url(../image/lnav/lnav_icon_second_link_child_arrow.png) 20px 40% /7px auto no-repeat,
	url(../image/lnav/lnav_icon_second_link_child_blank.png) right center /10px auto no-repeat;
}
.posterity > li a:hover,
.posterity > li.on a,
.posterity > li.opon a{
	background-color: #feedee;
}
.posterity > li a em{
	font-weight: normal;
}
@media all and (max-width: 768px) {
	.l-sidebar{
		float: none;
		width: 100%;
		margin-top: 40px;
	}
	.l-sidebar > ul > li + li{
		margin-top: 10px;
	}
	.l-sidebar > ul > li > a{
		padding: 13px 15px 11px;
	}
	.ChildList{
		padding: 10px 15px 15px;
	}
	.ChildList > li{
		padding: 8px 15px 7px;
	}
	.ChildList > li.op,
	.ChildList > li.opon{
		padding: 0;
	}
	.ChildList > li + li{
		margin-top: 10px;
	}
	.ChildList > li > a{
		background-size: 14px auto;
		padding: 8px 25px 6px 10px;
	}
	.ChildList > li > a.l-sidebar-navi-second-head-blank{
		background-size: 14px auto;
	}
	.grandChild{
		padding: 15px 0 0;
	}
	.grandChild > li + li{
		margin-top: 9px;
	}
	.grandChild > li > a{
		padding: 10px 30px 9px 10px;
	}
}

/* 旧スタイル */
/*第3階層*/
.l-sidebar-navi + .l-sidebar-navi{
	margin-top: 5px;
}
.l-sidebar-navi-head{
	font-size: 1.4em;
	font-weight: bold;
	border-radius: 5px;
	cursor: pointer;
	overflow: hidden;
}
.l-sidebar-navi-head.is-open{
	border-radius: 5px 5px 0 0;
}
.l-sidebar-navi-head a{
	width: 100%;
	color: #fff;
	background-color: #92846e;
	background-image:  url(../image/lnav/lnav_icon_link_arrow.png);
	background-repeat: no-repeat;
	background-position: 92.5% center;
	background-size: 14px auto;
	padding: 14px 13px 12px;
	display: inline-block;
}
.l-sidebar-navi-head.is-open a{
	background-image: url(../image/lnav/lnav_icon_link_arrow_op.png);
}
.l-sidebar-navi-head a:hover,
.l-sidebar-navi-head.is-side-current a{
	background-color: #b2a999;
}
.l-sidebar-navi dd{
	display: none;
}
.l-sidebar-navi .is-open + dd{
	display: block;
}
.l-sidebar-navi-head span{
	width: 100%;
	padding-right: 25px;
	display: inline-block;
}
.l-sidebar-navi-head + dd{
	border: 1px solid #d9cfb1;
	border-top: none;
	padding: 10px 0;
	border-radius: 0 0 5px 5px;
}

/*第4階層*/
.l-sidebar-navi-second{
	padding: 0 9px;
}
.l-sidebar-navi-second + .l-sidebar-navi-second{
	margin-top: 5px;
}
.l-sidebar-navi-second-head{
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2;
	border: 1px solid #e2ddd4;
	border-bottom: 3px solid #c2b7a8;
	border-radius: 5px;
	padding: 8px 7px;
	cursor: pointer;
	position: relative;
}
.l-sidebar-navi-second-head.is-open{
	border: none;
	padding: 10px 0;
}
.l-sidebar-navi-head + dd .l-sidebar-navi-second:first-of-type .l-sidebar-navi-second-head.is-open{
	padding-top: 0;
}
.l-sidebar-navi-second-head a{
	width: 100%;
	color: inherit;
	text-decoration: none;
	background-image: url(../image/lnav/lnav_icon_second_head_link_arrow.png);
	background-repeat: no-repeat;
	background-size: 14px auto;
	background-position: 97% center;
	border-radius: 2px;
	padding: 11px 15px 8px 10px;
	display: inline-block;
}
.l-sidebar-navi-second-head.is-open a{
	background-image: url(../image/lnav/lnav_icon_second_head_link_arrow_op.png);
}
.l-sidebar-navi-second-head a.l-sidebar-navi-second-head-blank{
	background: url(../image/index_link_blank.png) 97% center no-repeat;
	background-size: 14px auto;
}
.l-sidebar-navi-second-head a:hover,
.l-sidebar-navi-second-head.is-side-current a{
	background-color: #feedee;
}
.l-sidebar-navi-second-head span{
	width: 12px;
	height: 12px;
	background: url(../image/lnav/lnav_icon_head_02_of.png) right center no-repeat;
	background-size: 12px auto;
	margin: auto 0;
	position: absolute;
	top: 0;
	right: 9px;
	bottom: 0;
	z-index: 5;
	display: inline-block;
}
.l-sidebar-navi-second-head.is-open span{
	background: url(../image/lnav/lnav_icon_head_02_ov.png) right center no-repeat;
	background-size: 12px auto;
}
.l-sidebar-navi-second-body{
	padding: 14px 0 10px;
	position: relative;
}
.l-sidebar-navi-second-body:before{
	content: "";
	width: 100%;
	height: 3px;
	background: #c2b7a8;
	border-radius: 1.5px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/*第5階層*/
.l-sidebar-navi-second-body-link > li{
	font-size: 1.2em;
	border-radius: 2px;
}
.l-sidebar-navi-second-body-link > li + li{
	margin-top: 3px;
}
.l-sidebar-navi-second-body-link > li > a{
	width: 100%;
	color: inherit;
	text-decoration: none;
	background-image: url(../image/lnav/lnav_icon_second_link_arrow.png);
	background-repeat: no-repeat;
	background-size: 6px auto;
	background-position: 96% center;
	border: 1px solid #e2ddd4;
	border-radius: 2px;
	padding: 11px 25px 10px 10px;
	display: inline-block;
}
.l-sidebar-navi-second-body-link > li.is-open > a{
	background-image: url(../image/lnav/lnav_icon_second_link_arrow_op.png);
}
.l-sidebar-navi-second-body-link > li > a.l-sidebar-navi-second-body-link-blank{
	background: #fff url(../image/lnav/lnav_icon_second_link_blank.png) 96% center no-repeat;
	background-size: 10px auto;
}
.l-sidebar-navi-second-body-link > li > a:hover,
.l-sidebar-navi-second-body-link > li.is-side-current > a{
	background-color: #feedee;
}

/*第6階層*/
.l-sidebar-navi-second-body-link > li.l-sidebar-navi-second-body-link-in{
	background: none;
	display: none;
}
.l-sidebar-navi-second-body-link > li.is-open + li.l-sidebar-navi-second-body-link-in{
	display: block;
}
.l-sidebar-navi-second-body-link-in-child{
	margin: 3px 0;
}
.l-sidebar-navi-second-body-link-in-child li + li{
	margin-top: 3px;
}
.l-sidebar-navi-second-body-link-in-child li a{
	width: 100%;
	text-decoration: none;
	background: url(../image/lnav/lnav_icon_second_link_child_arrow.png) 20px 40% no-repeat;
	background-size: 7px auto;
	padding: 8px 18px 6px 35px;
	display: inline-block;
}
.l-sidebar-navi-second-body-link-in-child li a.l-sidebar-navi-second-body-link-in-child-list-blank{
	background: url(../image/lnav/lnav_icon_second_link_child_arrow.png) 20px 40% /7px auto no-repeat,
	url(../image/lnav/lnav_icon_second_link_child_blank.png) right center /10px auto no-repeat;
}
.l-sidebar-navi-second-body-link-in-child li a:hover,
.l-sidebar-navi-second-body-link-in-child li.is-side-current a{
	background-color: #feedee;
}
@media all and (max-width: 768px) {
	.l-sidebar{
		float: none;
		width: 100%;
		margin-top: 40px;
	}
	.l-sidebar-navi + .l-sidebar-navi{
		margin-top: 10px;
	}
	.l-sidebar-navi-head a{
		padding: 13px 15px 11px;
	}
	.l-sidebar-navi-head + dd{
		padding-bottom: 15px;
	}
	.l-sidebar-navi-second{
		padding: 0 15px;
	}
	.l-sidebar-navi-second + .l-sidebar-navi-second{
		margin-top: 10px;
	}
	.l-sidebar-navi-second-head{
		font-size: 1.4em;
		padding: 8px 15px 7px;
	}
	.l-sidebar-navi-second-head a{
		padding: 8px 25px 6px 10px;
	}
	.l-sidebar-navi-second-head a.l-sidebar-navi-second-head-blank{
		background: url(../image/index_link_blank.png) 97% center no-repeat;
		background-size: 14px auto;
	}
	.l-sidebar-navi-second-head span{
		right: 15px;
	}
	.l-sidebar-navi-second-body{
		padding: 15px 0 0;
	}
	.l-sidebar-navi-second-body-link > li + li{
		margin-top: 9px;
	}
	.l-sidebar-navi-second-body-link > li > a{
		padding: 10px 30px 9px 10px;
	}
}

/*バナー*/
.l-sidebar-bnr.l-sidebar-top{
	margin-bottom: 15px;
}
.l-sidebar-bnr.l-sidebar-bottom{
	margin-top: 15px;
}
@media all and (max-width: 768px) {
	.l-sidebar-bnr{
		text-align: center;
	}
	.l-sidebar-bnr.l-sidebar-bottom{
		margin-top: 20px;
	}
	.l-sidebar-bnr.l-sidebar-top{
		margin-bottom: 20px;
	}
	.l-sidebar-bnr img{
		max-width: 100%;
		height: auto;
	}
}

/*お問い合わせ*/
.l-sidebar-contact{
	background: #fffaeb;
	border: 1px solid #d9cfb1;
	border-radius: 5px;
	margin-top: 30px;
	padding: 10px 10px 9px;
}
.l-sidebar-contact-ttl{
	font-size: 1.8em;
	color: #c7000d;
	font-weight: bold;
	text-align: center;
}
.l-sidebar-contact-img{
	margin-top: 3px;
}
.l-sidebar-contact-text{
	font-size: 1.3em;
	margin-top: 10px;
}
.l-sidebar-contact-tel{
	margin-top: 3px;
}
.l-sidebar-contact-tel a{
	color: inherit;
	text-decoration: none;
}
.l-sidebar-contact-tel img{
	vertical-align: middle;
}
.l-sidebar-contact-tel span{
	font-size: 20px;
	font-weight: bold;
	vertical-align: middle;
	display: inline-block;
}
.l-sidebar-contact-time{
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	background: #fff;
	border-radius: 5px;
	margin-top: 14px;
	padding: 9px 0 8px;
}
.l-sidebar-contact-time-ttl{
	font-weight: bold;
}
@media all and (max-width: 768px) {
	.l-sidebar-contact{
		border-radius: 0;
		margin-top: 20px;
		padding: 19px 32px 20px;
	}
	.l-sidebar-contact-ttl{
		font-size: 1.6em;
	}
	.l-sidebar-contact-img{
		text-align: center;
		margin-top: 18px;
		padding: 0 23px;
	}
	.l-sidebar-contact-img img{
		max-width: 100%;
		height: auto;
	}
	.l-sidebar-contact-text{
		margin-top: 26px;
	}
	.l-sidebar-contact-tel{
		text-align: center;
		margin-top: 20px;
	}
	.l-sidebar-contact-tel img{
		width: 42px;
		height: auto;
	}
	.l-sidebar-contact-time{
		line-height: 1.5;
		border-radius: 0;
		margin-top: 20px;
		padding: 15px 0 14px;
	}
	.l-sidebar-contact-time-text{
		font-size: 12px;
	}
}

/* l-pagetop
---------------------------------------------------------------------------- */
.l-pagetop{
	position: fixed;
	right: 50px;
	bottom: 30px;
	z-index: 50;
	display: none;
}
@media all and (max-width: 768px) {
	.l-pagetop{
		right: 20px;
		bottom: 20px;
	}
	.l-pagetop img{
		width: 51px;
		height: auto;
	}
}

/* l-footer
---------------------------------------------------------------------------- */
.l-footer.l-window{
	border-top: none;
}
.l-footer-navi{
	width: 832px;
	text-align: center;
	margin: 9px auto 55px;
}
.l-footer-navi + .l-footer-navi{
	margin-top: 3px;
}
.l-footer-navi-list{
	font-size: 1.1em;
}
.l-footer-navi li{
	line-height: 1.2;
	border-right: 1px solid #999;
	margin: 0 0 10px 12px;
	padding-right: 12px;
	display: inline-block;
}
.l-footer-navi li:last-child{
	border-right: none;
}
.l-footer-navi li a{
	text-decoration: none;
}
.l-footer-navi li a:hover{
	text-decoration: underline;
}
.l-footer-text{
	font-size: 1.1em;
	text-align: center;
	padding: 13px 0 0px;
}
.l-footer-text a{
	text-decoration: none;
}
.l-footer-text a:hover{
	text-decoration: underline;
}
.l-footer-copy{
	color: #c7c7c7;
	text-align: center;
	background: #6e6e6e;
	padding: 4px 0 3px;
	margin-bottom: 0;
}
@media all and (max-width: 768px) {
	.l-footer{
		min-width: 0;
	}
	.l-footer-footnavi{
		border-bottom: 1px solid #c0c0c0;
	}
	.l-footer-footnavi-list{
		font-size: 1.5em;
		font-weight: bold;
		background: #fff;
		border-bottom: 1px solid #c0c0c0;
	}
	.l-footer-footnavi-list > li + li{
		border-top: 1px solid #c0c0c0;
	}
	.l-footer-footnavi-list > li > a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		background: url(../image/head_foot/navi_arrow_sp.png) 97% center no-repeat;
		background-size: 14px auto;
		padding: 19px 14px 14px;
		display: inline-block;
	}
	.l-footer-footnavibottom{
		font-size: 1.4em;
		background: #fff;
	}
	.l-footer-footnavibottom li + li{
		border-top: 1px solid #c0c0c0;
	}
	.l-footer-footnavibottom li a{
		width: 100%;
		color: inherit;
		text-decoration: none;
		background: url(../image/head_foot/navibottom_icon_arrow_sp.png) 96.5% center no-repeat;
		background-size: 6px auto;
		padding: 13px 14px 11px;
		display: inline-block;
	}
	.l-footer-footnavibottom li a.l-footer-footnavibottom-blank{
		background: url(../image/head_foot/navibottom_icon_blank_sp.png) 96.5% center no-repeat;
		background-size: 9px auto;
	}

	/*バナーエリア*/
	.bnrBox{
		display: none;
	}

	/*検索フォーム*/
	.l-footer-form{
		border-top: 1px solid #c0c0c0;
		background: #fff;
		padding: 15px;
	}
	.l-footer-form-search{
		float: left;
		width: 70%;
	}
	.l-footer-form-search input{
		width: 100%;
		font-size: 1.6em;
		color: #999;
		border: 1px solid #c6c6c6;
		padding: 8px 14px 6px;
	}
	/*iphone用設定*/
	.iphone .l-footer-form-search input{
		padding: 6px 14px 5px;
	}
	/*android用設定*/
	.android .l-footer-form-search input{
		padding: 10px 14px 9px;
	}
	.l-footer-form-btn{
		float: right;
		width: auto;
	}
	.l-footer-form-btn input{
		width: auto;
		height: 40px;
	}
	.l-footer-navi{
		width: 100%;
		text-align: left;
		margin: 15px 0 40px;
		padding: 0 3px;
	}
	.l-footer-navi li{
		margin: 0 0 5px 12px;
	}
	.l-footer-navi-list{
		font-size: 1.2em;
	}
	.l-footer-text{
		margin-top: 6px;
	}
	.l-footer-text{
		font-size: 1.2em;
		text-align: left;
		padding: 15px 15px 75px;
	}
	.l-footer-copy{
		font-size: 1.2em;
		text-align: left;
		padding: 12px 15px 76px;
	}

	/*非レスポンシブ用*/
	.l-footer.l-windowpc{
		min-width: 944px;
		border-top: 1px solid #c0c0c0;
		margin-top: 60px;
	}
	.l-footer.l-windowpc .l-footer-copy{
		color: #c7c7c7;
		text-align: center;
		background: #6e6e6e;
		padding: 4px 0 3px;
	}
}

.header ol,
.footer ol,
.header ul,
.footer ul {
  list-style: none;
}

.header h1,
.footer h1,
.header h3,
.footer h3,
.header h2,
.footer h2,
.header h4,
.footer h4,
.header h5,
.footer h5,
.header li,
.footer li,
.header a,
.footer a,
.header span,
.footer span,
.header p,
.footer p,
.header div,
.footer div {
  font-family:
    "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3",
    Meiryo,
    "メイリオ",
    Osaka,
    "MS PGothic",
    arial,
    helvetica,
    sans-serif;
	font-style: normal;
}

.header p,
.footer p{
  margin: 0;
}


.header a:hover,
.footer a:hover {
  text-decoration: none;
}

@media (min-width: 768px) {
  .header a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

@media (min-width: 768px) {
  .footer a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.header input,
.footer input,
.header button,
.footer button {
  outline: none;
  appearance: none;
	border: none;
}


.header {
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  padding-top: 12px;
  padding-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
  position: fixed;
  background-color: var(--color-white);
  min-width: 944px;
}

@media (max-width: 768px) {
  .header {
    padding-top: 0;
    padding-bottom: 0;
    min-width: unset;
  }
}

.header-area {
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  width: var(--main-width);
  margin: 0 auto;
  gap: 16px;
}

@media(max-width: 944px) {
.header-area {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .header-area {
    padding: 0;
    gap: 0;
  }
}

.header-detail-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .header-detail-area {
    position: relative;
    padding-left: 15px;
  }
}

.header-tool-area {
  display: flex;
  align-items: center;
  gap: 24px;
}

@media (max-width: 768px) {
  .header-tool-area {
    gap: 0;
  }
}

.header-menu-area {
  background-color: var(--color-white);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 768px) {
  .header-menu-area {
    margin: 0 auto;
    position: absolute;
    top: 64px;
    right: 0;
    left: 0;
    z-index: 100;
    text-decoration: none;
    display: none;
  }
}

.header-icon-area {
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .header-icon-area {
    margin-top: 0;
    align-items: center;
  }
}

.header-icon {
  width: 109.2px;
  height: 52px;
}

@media (max-width: 768px) {
  .header-icon {
    width: 84px;
    height: 40px;
  }
}

@media (max-width: 768px) {
  .header-button-area {
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-top: 0;
  }
}

.header-button {
  background-color: var(--color-red);
  width: 148px;
  height: 44px;
  display: flex;
  align-items: center;
  border-radius: 4px;
  text-decoration: none;
}

@media (max-width: 768px) {
  .header-button {
    width: 134px;
  }
}

.header-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .header-button:hover {
    opacity: 1;
    transition: none;
  }
}

.header-button-text {
  color: var(--color-white);
  font-weight: var(--font-weight-bold);
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .header-button-text {
    font-size: 13px;
    line-height: 1.5;
  }
}

.header-button-inner {
  display: flex;
  width: 100%;
  justify-content: center;
}

.hamburger-area {
  width: 64px;
  height: 64px;
}

.header-hamburger-area {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.header-hamburger-menu-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  gap: 3px;
  background: transparent;
}

@media (max-width: 768px) {
  .header-hamburger-menu-button {
    gap: 0;
  }
}

.header-hamburger-item-icon {
  width: 32px;
  height: 32px;
  position: relative;
}

.header-hamburger-item-icon-border {
  display: block;
  width: 26px;
  height: 2px;
  background: var(--color-red);
  position: absolute;
  border-radius: 1px;
}

.header-hamburger-item-icon-border:nth-of-type(1) {
  position: absolute;
  left: 9.38%;
  right: 9.38%;
  top: 18.75%;
  bottom: 75%;
  transform: rotate(0);
  transition: var(--transition-time);
}

.header-hamburger-item-icon-border.open-hamburger-menu:nth-of-type(1) {
  top: 0;
  transform: translateY(14px) rotate(45deg);
  transition: var(--transition-time);
}

.header-hamburger-item-icon-border:nth-of-type(2) {
  position: absolute;
  left: 9.38%;
  right: 9.38%;
  top: 46.88%;
  bottom: 46.88%;
  transform: rotate(0);
  transition: var(--transition-time);
}

.header-hamburger-item-icon-border.open-hamburger-menu:nth-of-type(2) {
  top: 50%;
  opacity: 0;
}

.header-hamburger-item-icon-border:nth-of-type(3) {
  position: absolute;
  left: 9.38%;
  right: 9.38%;
  top: 75%;
  bottom: 18.75%;
  transform: rotate(0);
  transition: var(--transition-time);
}

.header-hamburger-item-icon-border.open-hamburger-menu:nth-of-type(3) {
  top: 0;
  transform: translateY(14px) rotate(-45deg);
  transition: var(--transition-time);
}

.header-hamburger-item-text {
  height: 14px;
  color: var(--color-red);
  font-weight: var(--font-weight-bold);
  font-size: 9px;
  line-height: 1.5;
}

.header-detail-menu-area {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

@media (max-width: 768px) {
  .header-detail-menu-area {
    display: none;
  }
}

.header-detail-menu {
  display: flex;
  height: 36px;
  gap: 16px;
  justify-content: space-between;
}

.font-size-button-area {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
}

.font-size-title {
  font-weight: var(--font-weight-text);
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-black);
}

.font-size-button-box {
  display: flex;
}

.font-size-button {
  width: 47px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
  color: var(--color-black);
}

.font-size-button-left {
  border: 1px solid var(--color-border);
  border-radius: 4px 0 0 4px;
}

.font-size-button-center {
  border-bottom: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
}

.font-size-button-right {
  border: 1px solid var(--color-border);
  border-radius: 0 4px 4px 0;
}

.font-size-button-active {
  border-color: var(--color-red);
  background-color: var(--color-red);
  color: var(--color-white);
}

.font-size-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
  cursor: pointer;
}

@media (max-width: 768px) {
  .font-size-button:hover {
    opacity: 1;
    transition: none;
  }
}

.font-size-button-text {
  font-weight: var(--font-weight-bold);
  font-size: 14px;
  line-height: 1.8;
}

.active-font {
  background-color: var(--color-red);
  color: var(--color-white);
}

.font-size-button-inner {
  display: flex;
  width: 100%;
  justify-content: center;
}

.header-detail-link-area {
  display: flex;
  gap: 12px;
}

.header-site-search {
  display: none;
}

@media (max-width: 768px) {
  .header-site-search {
    width: 100%;
    padding: 0 15px;
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
}

.site-search-box {
  box-sizing: border-box;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  width: 264px;
  height: 36px;
  position: relative;
}

@media (max-width: 768px) {
  .site-search-box {
    height: 53px;
    width: 100%;
    margin: 24px 0;
  }
}

.site-search-text-box {
  font-size: 14px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  line-height: 180%;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media (max-width: 768px) {
  .site-search-text-box {
    gap: 0;
  }
}


.site-search-text {
  margin-left: 12px;
  border: 0;
  width: 188px;
  font-size: 14px;
  line-height: 180%;
}

@media (max-width: 768px) {
  .site-search-text {
    /* 検索ボタン(72px+3px(余白))と余白(12px)を引いた大きさ */
    width: calc(100% - (75px + 12px));
    font-size: 16px;
    height: 29px;
  }
}

.site-search-text::placeholder {
  color: var(--color-black);
}

.site-search-text:focus {
  background-color: var(--color-light-grey);
}

.site-search-box:focus-within {
  background-color: var(--color-light-grey);
}

.site-search-button {
  border: 0;
  font-weight: var(--font-weight-bold);
  font-size: 14px;
  line-height: 1.8;
  outline: none;
  background-color: var(--color-red);
  border-radius: 2px;
  width: 48px;
  height: 28px;
  color: var(--color-white);
  text-align: center;
  cursor: pointer;
}

@media (max-width: 768px) {
  .site-search-button {
    border-radius: 4px;
    width: 72px;
    height: 37px;
    margin-right: 5px;
  }
}

.site-search-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .site-search-button:hover {
    opacity: 1;
    transition: unset;
  }
}

input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.header-detail-link {
  font-weight: var(--font-weight-text);
  font-size: 12px;
  line-height: 1.8;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--color-link);
  gap: 4px;
}

.header-detail-link:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .header-detail-link:hover {
    opacity: 1;
    transition: unset;
  }
}

.header-detail-link-icon-external-link-blue::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/external_link_blue.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.header-menu {
  height: 29px;
  width: 100%;
  position: relative;
  display: flex;
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
  .header-menu {
    position: fixed;
    display: block;
    overflow: scroll;
    height: calc(100% - 64px);
  }
}

.header-menu-open-height {
  height: calc(100% - 64px);
  transition: none;
}

.header-menu-close-height {
  height: calc(100% - 200px);
  transition: var(--transition-time);
}

@media (max-height: 1000px) {
  .header-menu-close-height {
    height: calc(100% - 176px);
  }
}


.header-menu-main-item {
  border-right: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  flex: 1;
}

@media (max-width: 768px) {
  .header-menu-main-item {
    border-right: 0;
    border-left: 0;
    width: 100%;
    background-color: var(--color-white);
    flex-direction: column;
    justify-content: flex-start;
  }
}

.header-menu-sub-item {
  display: none;
}

@media (max-width: 768px) {
  .header-menu-sub-item {
    display: flex;
    border-right: 0;
    border-left: 0;
    width: 100%;
    background-color: var(--color-white);
  }
}

.header-menu > li > a:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .header-menu > li > a:hover {
    opacity: 1;
    transition: none;
  }
}

.header-menu > li + li {
  border-left: 0;
}

.header-menu > li:nth-child(3) {
  border-left: 1px solid var(--color-border);
}

@media (max-width: 768px) {
  .header-menu > li:nth-child(3) {
    border-left: 0;
  }
}

.header-menu-button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: var(--font-weight-text);
  font-size: 16px;
  line-height: 1.8;
  padding-left: 16px;
  padding-bottom: 20px;
  color: var(--color-black);
	background-color: transparent;
}

@media (max-width: 768px) {
  .header-menu-button {
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 15px;
    gap: 8px;
    border-bottom: 1px solid var(--color-border) !important;
    border-left: 0;
    cursor: pointer;
    box-sizing: border-box;
  }
}

.header-menu-button-icon-arrow::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.header-menu-button-icon-arrow-mini-right::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows_mini_right.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.header-menu-button-icon-external-link::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/external_link.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.header-menu-button-icon-arrow-down::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: rotate(90deg);
}

.header-menu-button-icon-arrow-up::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: rotate(-90deg);
}

.header-menu-button-text-small {
  font-size: 14px;
}

.nav-menu-area {
  width: var(--main-width);
  background-color: var(--color-pink);
  position: fixed;
  top: 141px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  display: none;
  box-sizing: border-box;
  color: var(--color-black);
  text-decoration: none;
  max-height: calc(100% - 141px);
  overflow: auto;
}

@media (max-width: 768px) {
  .nav-menu-area {
    width: 100%;
    background-color: var(--color-light-grey);
    border: 0;
    margin: 0;
    position: relative;
    top: 0;
    transition: all 0.2s ease;
    color: var(--color-black);
    text-decoration: none;
    overflow: unset;
  }
}

.menu-close-area {
  display: flex;
  justify-content: flex-end;
  background-color: var(--color-white);
  padding: 12px 24px;
}

.menu-close-button {
  display: flex;
  gap: 8px;
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  color: var(--color-red);
  font-size: 14px;
  line-height: 1.8;
  background-color: var(--color-white);
}

.menu-close-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

.nav-menu-list {
  padding: 4px;
}

@media (max-width: 768px) {
  .nav-menu-list {
    padding: 0 15px;
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-light-grey);
  }
}

.nav-menu-list-item {
  display: flex;
  flex-direction: column;
}

.nav-menu-list-head {
  display: flex;
  border-radius: 2px;
  gap: 4px;
  margin-bottom: 4px;
  padding: 0;
}

@media (max-width: 768px) {
  .nav-menu-list-head {
    gap: 0;
    flex-direction: column;
    background-color: var(--color-light-grey);
    border-radius: 0;
    margin-bottom: 0;
  }
}

.nav-menu-list-head-item {
  box-sizing: border-box;
  background-color: var(--color-white);
  flex: 2;
  display: flex;
}

@media (max-width: 768px) {
  .nav-menu-list-head-item {
    width: 100%;
    border-bottom: 1px solid var(--color-border);
    border-right: 0;
    flex: 0 1 auto;
    background-color: var(--color-light-grey);
  }
}

.nav-menu-clause-link-area {
  background-color: var(--color-white);
  flex: 1;
  border-radius: 2px;
}

@media (max-width: 768px) {
  .nav-menu-clause-link-area {
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-light-grey);
    border-radius: 0;
  }
}

.nav-menu-top-link {
  padding: 24px;
  font-size: 16px;
  line-height: 1.8;
  font-weight: var(--font-weight-text);
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--color-black);
  text-decoration: none;
}

@media (max-width: 768px) {
  .nav-menu-top-link {
    padding: 16px 0;
    width: 100%;
    font-size: 14px;
    align-items: flex-start;
  }
}

.nav-menu-corporate-link {
  padding: 13.5px 24px;
  color: var(--color-black);
  text-decoration: none;
}

@media (max-width: 768px) {
  .nav-menu-corporate-link {
    padding: 16px 0;
  }
}

.nav-menu-top-link:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .nav-menu-top-link:hover {
    opacity: 1;
    transition: unset;
  }
}

.nav-menu-top-link-icon-arrow::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media (max-width: 768px) {
  .nav-menu-top-link-icon-arrow::before {
    margin-top: 4.5px;
  }
}

.nav-menu-top-link-icon-external-link::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/external_link.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media (max-width: 768px) {
  .nav-menu-top-link-icon-external-link::before {
    margin-top: 4.5px;
  }
}

.nav-menu-content {
  width: 100%;
  display: flex;
  background-color: var(--color-white);
  border-radius: 2px;
  padding: 0;
}

@media (max-width: 768px) {
  .nav-menu-content {
    flex-direction: column;
    background-color: var(--color-light-grey);
    border-radius: 0;
  }
}

.nav-menu-content > li {
  border-right: 1px solid var(--color-border);
}

@media (max-width: 768px) {
  .nav-menu-content > li {
    border-right: 0;
  }
}

.nav-menu-content > li:last-child {
  border-right: none;
}

.nav-menu-content-list {
  flex: 1;
  display: inline-block;
  padding: 0 24px;
  margin: 24px 0;
}

@media (max-width: 768px) {
  .nav-menu-content-list {
    display: inline-block;
    padding: 0;
    margin-bottom: 0;
  }
}

.nav-menu-content-list p {
  font-weight: var(--font-weight-bold);
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 12px;
}

@media (max-width: 768px) {
  .nav-menu-content-list p {
    font-weight: var(--font-weight-bold);
    font-size: 14px;
    line-height: 1.8;
  }
}

.nav-menu-content-list a {
  font-weight: var(--font-weight-text);
  font-size: 14px;
  line-height: 1.8;
  color: var(--color-black);
  text-decoration: none;
}

.nav-menu-content-link-list {
  width: 100%;
  padding: 0;
}

@media (max-width: 768px) {
  .nav-menu-content-link-list {
    border-bottom: 1px solid var(--color-border);
  }
}

@media (max-width: 768px) {
  .nav-menu-content-link-list-no-border {
    border-bottom: 0;
  }
}

.nav-menu-content-link-list-item {
  padding-left: 24px;
  margin-bottom: 6px;
}

@media (max-width: 768px) {
  .nav-menu-content-link-list-item {
    margin-bottom: 0;
    padding-top: 16px;
    padding-bottom: 16px;
    border-top: 1px solid var(--color-border);
  }
}

.nav-menu-content-link-list-item:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .nav-menu-content-link-list-item:hover {
    opacity: 1;
    transition: unset;
  }
}

.nav-menu-content-link-list-item-icon-arrow {
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-position: left 0 top 4px;
  background-size: 16px;
}

@media (max-width: 768px) {
  .nav-menu-content-link-list-item-icon-arrow {
    background-position: left 0 top 20.5px;
  }
}

.nav-menu-content-link-list-item-icon-external-link {
  background-image: url("../image/icons/external_link.png");
  background-repeat: no-repeat;
  background-position: left 0 top 4px;
  background-size: 16px;
}

@media (max-width: 768px) {
  .nav-menu-content-link-list-item-icon-external-link {
    background-position: left 0 top 20.5px;
  }
}

.nav-menu-top-company-link-area {
  background-color: var(--color-white);
  flex: 1;
  border-radius: 2px;
}

@media (max-width: 768px) {
  .nav-menu-top-company-link-area {
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-light-grey);
    border-radius: 0;
  }
}

@media (max-width: 768px) {
  .management-insurance {
    margin-top: 24px;
  }
}

@media (max-width: 768px) {
  .nav-menu-background {
    width: 100%;
    height: calc(100vh - 64px);
    background: rgba(0 0 0 / 70%);
    position: absolute;
    top: 64px;
    left: 0;
    z-index: 5;
    display: none;
  }
}

.header-float-border-bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  background-color: var(--color-red);
  z-index: 20;
}

@media (max-width: 768px) {
  .header-float-border-bottom {
    height: 2px;
  }
}

.corporate-information-text {
  font-size: 12px;
}


.footer-pattern {
  width: 100%;
  height: 160px;
  content: "";
  background-image: url("../image/footer_pattern.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 160px;
  min-width: var(--main-width);
}

@media (max-width: 768px) {
  .footer-pattern {
    height: 47px;
    min-width: unset;
    background-size: 100% 47px;
  }
}

.footer-container-wrapper {
  background-color: var(--color-light-grey);
  min-width: var(--main-width);
  margin-bottom: 0;
  bottom: 0;
  width: 100%;
}

@media (max-width: 768px) {
  .footer-container-wrapper {
    min-width: unset;
    margin-bottom: 0;
    bottom: 0;
    width: 100%;
  }
}

.footer-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: var(--main-width);
  padding: 60px 0;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .footer-container {
    width: 100%;
    padding: 48px 15px;
    box-sizing: border-box;
  }
}

.footer-search {
  display: none;
}

@media (max-width: 768px) {
  .footer-search {
    box-sizing: border-box;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    height: 53px;
    padding-right: 8px;
    padding-left: 12px;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 4px;
  }
}

.footer-search:focus-within {
  background-color: var(--color-light-grey);
}

.footer-search-input {
   /* 検索ボタン(72px)と余白(12px)を引いた大きさ */
  width: calc(100% - (72px + 12px));
  height: 29px;
  font-size: 16px;
  padding: 0;
}

.footer-search-input:focus {
  background-color: var(--color-light-grey);
}

.footer-search-input::placeholder {
  color: var(--color-black);
}

.footer-search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 37px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  line-height: 1.8;
  color: var(--color-white);
  background: var(--color-red);
  border-radius: 4px;
}

.footer-nav-menu {
  display: none;
}

@media (max-width: 768px) {
  .footer-nav-menu {
    display: block;
    margin-top: 32px;
  }
}

.footer-nav-menu-main {
  border-top: 1px solid var(--color-border);
}

.footer-nav-menu-main-item {
  display: flex;
  align-items: center;
  padding: 16px 0;
  text-decoration: none;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-black);
}

.footer-nav-menu-main-item-link {
  display: flex;
  text-decoration: none;
  color: var(--color-black);
}

.footer-nav-menu-main-item-link::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 6.5px;
  margin-right: 8px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.footer-nav-menu-sub-item {
  display: flex;
  align-items: center;
  text-decoration: none;
  border-bottom: 1px solid var(--color-border);
}

.footer-nav-menu-sub-item-link {
  display: flex;
  flex-shrink: 0;
  width: 100%;
  padding: 16px 0;
  font-size: 14px;
  font-weight: var(--font-weight-text);
  line-height: 1.8;
  color: var(--color-black);
  text-decoration: none;
}

.footer-nav-menu-sub-item-link::before {
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 4.5px;
  margin-right: 8px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/arrows_mini_right.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.footer-nav-menu-sub-item-external-link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 16px 0;
  font-size: 14px;
  font-weight: var(--font-weight-text);
  line-height: 1.8;
  text-decoration: none;
  color: var(--color-black);
}

.footer-nav-menu-sub-item-external-link::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
  content: "";
  background-image: url("../image/icons/external_link.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.footer-nav {
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .footer-nav {
    display: block;
    margin-top: 32px;
  }
}

.footer-link-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}

@media (max-width: 768px) {
  .footer-link-list:not(:first-child) {
    margin-top: 12px;
  }
}

.footer-link-list-item {
  font-size: var(--font-size-small);
  line-height: 1.5;
  color: var(--color-link);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .footer-link-list-item {
    text-decoration: underline !important;
  }
}

.footer-link-list-item:hover {
  text-decoration: none;
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .footer-link-list-item:hover {
    transition: unset;
  }
}

.footer-message {
  padding-top: 32px;
  margin-top: 32px;
  border-top: 1px solid var(--color-border);
}

@media (max-width: 768px) {
  .footer-message {
    margin-bottom: 120px;
  }
}

.footer-message-link {
  color: var(--color-link);
  text-decoration: underline;
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .footer-message-link {
    text-decoration: underline !important;
  }
}

.footer-message-link:hover {
  text-decoration: none;
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .footer-message-link:hover {
    transition: unset;
  }
}

footer.l-footer {
  width: 100%;
  position: sticky;
  top: 100vh;
  z-index: 5;
}

.footer-copyright {
  display: block;
  width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-red);
  min-width: var(--main-width);
  margin-bottom: 0;
  position: absolute;
  bottom: 0;
}

@media (max-width: 768px) {
  .footer-copyright {
    padding-bottom: 92px;
    min-width: unset;
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
  }
}

:root {
  --color-black: #333;
  --color-link: #3281a2;
  --color-red: #c7000d;
  --color-orange: #ff7200;
  --color-cameo: #92846e;
  --color-pink: #fceff1;
  --color-gray: #f7f7f7;
  --color-white: #fff;
  --color-light-grey: #faf9f7;
  --color-border: #d6d6d6;

  /* ホバー時の不透明度 */
  --alpha: 0.7;
  --transition-time: 0.3s;

  /* 文字の太さ */
  --font-weight-bold: 700;
  --font-weight-text: 400;
  --main-width: 944px;
  --main-width-sp: 345px;

  /* テキストのfont-size 12px */
  --font-size-small: 1.2rem;

  /* 14px */
  --font-size-normal: 1.4rem;

  /* 16px */
  --font-size-large: 1.6rem;

  /* 18px */
  --font-size-sub-title: 1.8rem;
  --main-font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
    Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;

  /* letter-spacing */
  --letter-spacing-title: 1.2px;
  --letter-spacing-text-short: 0.03px;
  --letter-spacing-text-medium-short: 0.09px;
  --letter-spacing-text-rem: 0.03em;
  --margin-icon-top: 0.45rem;

  --z-index-header: 200;
}

.font-normal {
  font-size: 62.5%;
}

.font-large {
  font-size: 72.5%;
}

.font-max {
  font-size: 82.5%;
}

/* 主に使用するboxの幅 */
.main-container {
  width: var(--main-width);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .main-container {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }
}

.sp-only {
  display: none;
}

@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.text-style-bold {
  font-size: 18px;
  line-height: 1.8;
  font-weight: bold;
}

/* お問合せ */
.info-contents-box {
  background-color: var(--color-pink);
  padding: 80px 0;
  min-width: var(--main-width);
}

@media (max-width: 768px) {
  .info-contents-box {
    padding: 64px 0;
    min-width: unset;
  }
}

/* お問合せ */
.info-top-contents-box {
  background-color: var(--color-pink);
}

.info-content-box-inner {
  margin: 0 auto;
  display: flex;
  width: var(--main-width);
  height: 100%;
  flex-direction: column;
}

@media (max-width: 768px) {
  .info-content-box-inner {
    margin: 0 4%;
    width: 92%;
  }
}

.info-title-box {
  display: flex;
  justify-content: center;
  margin-bottom: 48px;
}

@media (max-width: 768px) {
  .info-title-box {
    margin-bottom: 32px;
    height: 32px;
  }
}

.info-content-title {
  font-weight: bold;
  font-size: 21px;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .info-content-title {
    font-weight: var(--font-weight-bold);
  }
}

.info-content-list {
  width: 100%;
  height: 120px;
  align-self: stretch;
  flex-grow: 0;
  display: flex;
  flex-flow: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding: 0;
}

@media (max-width: 768px) {
  .info-content-list {
    height: 108px;
    gap: 12px;
  }
}

.info-contact-list {
  height: 408px;
  align-self: stretch;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 24px;
  padding: 0;
}

@media (max-width: 768px) {
  .info-contact-list {
    height: auto;
    gap: 16px;
  }
}

.info-list {
  height: 408px;
  width: var(--main-width);
}

@media (max-width: 768px) {
  .info-list {
    height: 588px;
    width: 100%;
  }
}

.info-examine-list {
  height: 100%;
  width: var(--main-width);
}

@media (max-width: 768px) {
  .info-examine-list {
    width: 100%;
  }
}

.info-top-list {
  height: 264px;
  width: var(--main-width);
}

@media (max-width: 768px) {
  .info-top-list {
    min-height: 468px;
    width: 100%;
  }
}

.info-contact {
  height: 120px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  border-radius: 12px;
  background-color: var(--color-white);
  width: 460px;
  text-decoration: none;
}

@media (max-width: 768px) {
  .info-contact {
    height: 108px;
    width: 100%;
    gap: 0;
  }
}

.info-contact:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .info-contact:hover {
    opacity: 1;
    transition: unset;
  }
}

.info-content-image {
  width: 120px;
  height: 120px;
  flex-grow: 0;
}

@media (max-width: 768px) {
  .info-content-image {
    height: 108px;
    width: 96px;
  }
}

.info-content-image img {
  border-radius: 12px 0 0 12px;
}

@media (max-width: 768px) {
  .info-content-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}

.contact-text-area {
  width: 96%;
  height: 60px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

@media (max-width: 768px) {
  .contact-text-area {
    min-width: 217px;
    width: auto;
    padding: 0 16px;
    height: 75px;
    gap: 0;
  }
}

@media (max-width: 500px) {
  .contact-text-area {
    width: 207px;
    min-width: unset;
    padding: 0 16px;
    height: 75px;
    gap: 0;
  }
}

@media (max-width: 344px) {
  .contact-text-area {
    padding: 0;
  }
}

.contact-list-title {
  height: 27px;
  align-self: stretch;
  flex-grow: 0;
  font-size: 18px;
  font-weight: bold;
  font-stretch: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  color: var(--color-black);
}

@media (max-width: 768px) {
  .contact-list-title {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-normal);
    line-height: 1.8;
    height: 25px;
  }
}

.contact-list-text {
  align-self: stretch;
  flex-grow: 0;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  line-height: 1.8;
  letter-spacing: normal;
  text-align: left;
  color: var(--color-black);
}

@media (max-width: 768px) {
  .contact-list-text {
    font-weight: var(--font-weight-text);
    display: flex;
    align-items: center;
  }
}

/* リンク先の色 */
.link-color {
  color: var(--color-link);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .link-color {
    text-decoration: underline !important;
  }
}
/* パンくずリスト */
.topic-box {
  background-color: var(--color-light-grey);
  padding: 16px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.topic-path {
  font-size: 100%;
}

.topic-path-list {
  display: flex;
  flex-flow: nowrap;
  flex-direction: row;
  padding: 0;
  margin: 0 auto;
  width: var(--main-width);
  align-items: center;
}

.topic-path-list li {
  font-weight: normal;
  font-size: var(--font-size-small);
  line-height: 1.8;
  padding-right: 6px;
}

.topic-path-list li a {
  padding-right: 6px;
  text-decoration-line: underline;
}

.topic-path-list li a:hover {
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .topic-path-list li a:hover {
    transition: unset;
  }
}

@media (max-width: 768px) {
  .topic-path-list {
    padding-left: 15px;
    padding-right: 20px;
    width: auto;
    display: block;
    overflow-wrap: break-word;
  }
}

@media (max-width: 768px) {
  .topic-path-list li {
    display: inline;
  }
}

/* topへ戻るボタン */
.float-button {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--color-red) !important;
  background-color: var(--color-white);
  box-shadow: 0 8px 16px rgba(100 50 50 / 0.1);
  position: fixed;
  bottom: 24px;
  right: 20px;
  z-index: 10;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.float-button img {
  display: flex;
  width: 24px;
  height: 24px;
  justify-content: center;
  left: 14px;
  top: 6px;
}

.float-button span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--font-weight-bold);
  font-size: 9px;
  line-height: 1.2;
  color: var(--color-red);
}

.float-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
  cursor: pointer;
}

@media (max-width: 768px) {
  .float-button:hover {
    opacity: 1;
    transition: unset;
  }
}

/* 右側サブメニュー */
.sub-menu-area {
  background-color: var(--color-white);
  width: 224px;
  height: auto;
  display: flex;
  flex-direction: column;
}

@media (max-width: 768px) {
  .sub-menu-area {
    width: 100%;
  }
}

.border-sub-menu {
  background-color: var(--color-border);
  content: "";
  display: inline-block;
  height: 1px;
  vertical-align: middle;
  width: 100%;
}

.sub-menu {
  height: 62px;
  display: flex;
  flex-direction: column;
}

.sub-menu-max {
  height: 91px;
  display: flex;
  flex-direction: column;
}

@media (max-width: 768px) {
  .sub-menu-max {
    max-height: 91px;
    min-height: 62px;
    height: auto;
    justify-content: center;
  }
}

.sub-menu-min {
  height: 58px;
  display: flex;
  flex-direction: column;
}

@media (max-width: 768px) {
  .sub-menu-min {
    min-height: 62px;
    height: auto;
    justify-content: center;
  }
}

.sub-menu-link {
  height: 100%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.sub-menu-icon {
  width: 16px;
  height: 16px;
}

.sub-menu-max-icon {
  width: 16px;
  height: 16px;
  margin-bottom: 28px;
}

@media (max-width: 768px) {
  .sub-menu-max-icon {
    margin-bottom: 0;
  }
}

.sub-menu-text {
  color: var(--color-black);
  font-weight: var(--font-weight-text);
  font-size: 16px;
  line-height: 1.8;
}

.sub-menu-text-min {
  color: var(--color-black);
  font-weight: var(--font-weight-text);
  font-size: 14px;
  line-height: 1.8;
}

.sub-menu-text-red {
  color: var(--color-red);
  font-weight: var(--font-weight-text);
  font-size: 14px;
  line-height: 1.8;
}

.sub-menu-gray-area {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sub-menu-gray {
  border-radius: 4px;
  background-color: var(--color-light-grey);
  box-sizing: border-box;
  display: flex;
  padding: 16px;
}

.sub-menu-gray:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
  cursor: pointer;
}

@media (max-width: 768px) {
  .sub-menu-gray:hover {
    opacity: 1;
    transition: unset;
  }
}

.sub-nav-menu {
  width: 224px;
}

@media (max-width: 768px) {
  .sub-nav-menu {
    width: 100%;
  }
}

.sub-nav-menu-list-item {
  border-top: 1px solid var(--color-border);
}

.sub-nav-menu-list-item:last-child {
  border-bottom: 1px solid var(--color-border);
}

.sub-nav-menu-list-item:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .sub-nav-menu-list-item:hover {
    opacity: 1;
    transition: unset;
  }
}

.sub-nav-menu-list-item-link {
  padding-top: 16px;
  padding-bottom: 16px;
  display: flex;
}

.sub-nav-menu-list-item-active {
  color: var(--color-red);
}

/* テキストスタイル */
.page-title-h1 {
  font-family: var(--main-font-family);
  font-weight: var(--font-weight-bold);
  font-style: normal;
  font-size: 40px;
  line-height: 1.5;
  letter-spacing: var(--letter-spacing-text-rem);
}

@media (max-width: 768px) {
  .page-title-h1 {
    font-size: 32px;
  }
}

.body-copy-regular {
  font-family: var(--main-font-family);
  font-weight: var(--font-weight-text);
  font-style: normal;
  font-size: var(--font-size-large);
  line-height: 1.8;
  letter-spacing: 0;
}

.body-copy-bold {
  font-family: var(--main-font-family);
  font-weight: var(--font-weight-bold);
  font-style: normal;
  font-size: var(--font-size-large);
  line-height: 1.8;
  letter-spacing: 0;
}

.body-normal-regular {
  font-family: var(--main-font-family);
  font-weight: var(--font-weight-text);
  font-style: normal;
  font-size: var(--font-size-normal);
  line-height: 1.8;
  letter-spacing: 0;
}

.body-normal-bold {
  font-family: var(--main-font-family);
  font-weight: var(--font-weight-bold);
  font-style: normal;
  font-size: var(--font-size-normal);
  line-height: 1.8;
  letter-spacing: 0;
}

.body-link {
  color: var(--color-link);
  font-family: var(--main-font-family);
  font-size: var(--font-size-normal);
  line-height: 1.8;
  font-style: normal;
  font-weight: var(--font-weight-text);
  letter-spacing: 0;
  text-decoration-line: underline;
}

.body-comment {
  font-family: var(--main-font-family);
  font-size: var(--font-size-small);
  line-height: 1.8;
  font-style: normal;
  font-weight: var(--font-weight-text);
  letter-spacing: 0;
}

.heading-h3 {
  font-family: var(--main-font-family);
  font-size: 21px;
  line-height: 1.5;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
}

.heading-h5 {
  font-family: var(--main-font-family);
  font-size: var(--font-size-sub-title);
  line-height: 1.5;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0;
}

.text-letter-spacing-medium {
  letter-spacing: var(--letter-spacing-text-medium-short);
  font-weight: var(--font-weight-text);
  font-size: var(--font-size-normal);
  line-height: 1.8;
  color: var(--color-black);
}

.text-letter-spacing-short {
  font-family: var(--main-font-family);
  letter-spacing: var(--letter-spacing-text-short);
  font-weight: var(--font-weight-text);
  font-size: var(--font-size-normal);
  line-height: 1.8;
  color: var(--color-black);
}

.text-letter-spacing-normal {
  font-family: var(--main-font-family);
  letter-spacing: normal;
  font-weight: var(--font-weight-text);
  font-size: var(--font-size-normal);
  line-height: 1.8;
  color: var(--color-black);
}

.registration-number {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .registration-number {
    margin-top: 64px;
  }
}

.registration-number-text {
  width: 155px;
  margin-left: auto;
  font-weight: var(--font-weight-text);
  font-size: 12px;
  line-height: 1.8;
  color: var(--color-black);
}

.primary-button {
  padding-top: 14px;
  padding-bottom: 14px;
  background-color: var(--color-red);
  width: 305px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.primary-button.primary-button-large {
  padding-top: 24px;
  padding-bottom: 24px;
  width: 440px;
}

@media (max-width: 768px) {
  .primary-button.primary-button-large {
    padding-top: 16px;
    padding-bottom: 16px;
    width: 305px;
  }
}

.primary-button:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .primary-button:hover {
    opacity: 1;
    transition: unset;
  }
}

.primary-button-inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  padding: 0 35px;
  text-align: center;
}

.primary-button-icon::before {
  position: absolute;
  left: 16px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.primary-button-icon-arrow::before {
  width: 16px;
  height: 16px;
  background-image: url("../image/icons/arrows_white.png");
}

.primary-button-icon-external-link-white::before {
  width: 16px;
  height: 16px;
  background-image: url("../image/icons/external_link_white.png");
}

.primary-image:hover {
  opacity: var(--alpha);
  transition: var(--transition-time);
}

@media (max-width: 768px) {
  .primary-image:hover {
    opacity: 1;
    transition: unset;
  }
}

.primary-icon {
  margin-right: 8px;
  width: 16px;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.primary-icon-arrow {
  height: 2.5rem;
  background-image: url("../image/icons/arrows.png");
}

.primary-icon-arrow-wide {
  height: 2.9rem;
  background-image: url("../image/icons/arrows.png");
}

.primary-icon-white-arrow {
  height: 2.5rem;
  background-image: url("../image/icons/arrows_white.png");
}

.primary-icon-external-link {
  height: 2.5rem;
  background-image: url("../image/icons/external_link.png");
}

.primary-icon-anchor-link {
  height: 2.5rem;
  background-image: url("../image/icons/anchor_link.png");
}

.primary-icon-pdf {
  height: 2.5rem;
  background-image: url("../image/icons/pdf.png");
}

/* フッターリスト
---------------------------------------------------------------------------- */
.footer-c-list-wrap{
	font-weight: var(--font-weight-text);
	font-size: 12px;
	line-height: 1.8;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	text-decoration: none;
	color: var(--color-link);
	justify-content: space-between;
	gap: 12px;
}

.footer-c-list-item a{
	text-decoration: underline;
}

.footer-c-list-link-icon-blue::before {
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;
	content: "";
	background-image: url("../image/icons/external_link_blue.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 5px;
}

.footer-footer-c-list-message {
	padding-top: 32px;
	margin-top: 32px;
	border-top: 1px solid var(--color-border);
}

.footer-c-list-logo{
	text-align: center;
	margin-bottom: 20px;
}
.footer-c-list-logo img{
	width: 150px;
}

@media (max-width: 768px) {
	.footer-c-list-logo {
	    text-align: left;
	}
	.footer-c-list-item{
	width: 100%;
	text-align: left;
	}
	.footer-c-list-item a{
	text-decoration: underline !important;
	}
}
