@charset "UTF-8";
/* 
CSS Document 
ページ共通CSS
ヘッダ, フッタ, サイド
*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }

html { -webkit-font-feature-settings: "palt"; 
	/* font-feature-settings: "palt"; */
	font-size: 62.5%; }

@media screen and (min-width: 375px) and (max-width: 767px), print { html { font-size: calc( 0.50em + (100vw - 375px)/196); } }

@media screen and (max-width: 374px) { html { font-size: 50%; height:auto; overflow:scroll;} }

body { font-family: 'Yu Gothic', YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif; color: #000; font-size: 1.6rem; line-height: 1.8; -webkit-text-size-adjust: 100%; font-weight: 500; }

/* @media print, screen and (min-width: 768px) { body { padding-top: 105px; } } */
@media print, screen and (min-width: 768px) { body { padding-top: 0px; }}
@media screen and (max-width: 767px), print { body { font-size: 1.8rem; height:auto;} }

@media print, screen and (min-width: 768px) { a { -webkit-transition: opacity .4s ease-in-out,background .4s ease-in-out,color .4s ease-in-out,-webkit-transform .4s ease-in-out; transition: opacity .4s ease-in-out,background .4s ease-in-out,color .4s ease-in-out,-webkit-transform .4s ease-in-out; -o-transition: transform .4s ease-in-out,opacity .4s ease-in-out,background .4s ease-in-out,color .4s ease-in-out; transition: transform .4s ease-in-out,opacity .4s ease-in-out,background .4s ease-in-out,color .4s ease-in-out; transition: transform .4s ease-in-out,opacity .4s ease-in-out,background .4s ease-in-out,color .4s ease-in-out,-webkit-transform .4s ease-in-out; } }

@media print, screen and (min-width: 768px) { 
	article{ padding-top: 114px; }
	#front article{ padding-top: 0px; }
	#contactConf article{ padding-top: 30px; }
	#contact  article{ padding-top: 0; }
}


/*=====================================================
 
 header
 
=====================================================*/
header { background-color: #051c31; }

@media print, screen and (min-width: 768px) { 
	header { padding: 10px 0; position: relative; /* top: 0; left: 0; */ z-index: 50; width: 100%; }
	#contact header,
	#contactComp header,
	#contactConf header{ position: relative; top: 0; left: 0; }
}

@media print, screen and (max-width: 767px) { 
	header { position: fixed; width: 100%; top: 0; left: 0; padding: 15px 0; z-index: 200; }
	#contact header,
	#contactComp header,
	#contactConf header{ position: relative;}
	#contactComp #wrapper{ position: relative;}
	
}

header > div{
	margin-right: auto;
	margin-left: auto;
	width: 96%;
}
@media print, screen and (min-width: 1300px) {
	header > div{ max-width: 1300px; }
}
@media print, screen and (max-width: 1299px) {
	header > div{ max-width: 1200px; }
}

/*  ヘッダー要素（ロゴなど）*/

.head-left { float: left; }
@media print, screen and (min-width: 768px){ .head-left{ font-size: 0; } }
@media print, screen and (max-width: 767px) { .head-left { width: calc(100% - 30px - 18rem); } }
/* @media print, screen and (min-width: 1130px) { .head-left > a { padding-left: 20px; } } */
@media print, screen and (max-width: 640px) { .head-left > a { display: inline-block; padding-left: 10px; vertical-align: top; } }

@media screen and (max-width: 500px) {
    .head-left { width: calc(100% - 150px); line-height: 1; }
    .head-left > a { max-width: 260px; width: 72%; }
}
@media screen and (max-width: 399px) {
    .head-left > a { max-width: 84px; width: 45%; }
}

@media screen and (max-width: 375px) { #contactConf .head-left { width: calc(100% - 120px); } }

@media print, screen and (min-width: 768px){ .head-left > a{ display: inline-block; vertical-align: middle; } }

.head-left-text { color: #fff; display: block; font-size: 1.2rem; line-height: 1.5; margin-bottom: .5rem; }
@media print, screen and (max-width: 767px) { .head-left-text { font-size: 10px; } }

@media print, screen and (min-width: 400px) { 
	.head-left-logoPc { max-width: 290px; }
	.head-left-logoSmt,
	.head-right-numberSmt{ display: none;} 
}
@media print, screen and (min-width: 768px) {
.head-right-numberPc{ 
	display: inline-block;
	vertical-align: middle;
	width: 55px;
	height: auto;
	margin: 0 10px;
	padding-top: 10px;
	}
}
@media print, screen and (min-width: 1051px) and (max-width: 1065px){ .head-right-numberPC{ margin: 0 5px; } }
@media screen and (max-width: 930px) and (min-width: 768px) { 
	.head-left-logoPc { max-width: 270px; }
	.head-right-numberPc{ 
		padding-top: 10px;
		width: 50px;
	}
}
@media screen and (max-width: 777px) and (min-width: 768px) { .head-right-numberPc{ margin: 0 5px; } }

@media print, screen and (max-width: 767px) {
	.head-left-logoPc{ vertical-align: top; }
	.head-right-numberSmt{ display: inline-block; width: 13%; max-width: 68px;}
	.head-right-numberPc{ display: none;}
}
@media print, screen and (max-width: 695px){ .head-left-logoPc { max-width: 315px; width: 68%; } }
@media print, screen and (max-width: 640px){ 
	.head-left-logoPc { height: 45px; margin-top: 0px; width: auto; }
	.head-right-numberSmt{ margin-left: 10px; width: 59px; }
}
@media print, screen and (max-width: 590px){ 
	.head-left-logoPc { height: 36px;}
}
@media print, screen and (max-width: 530px){
	.head-left-logoPc { height: 34px; }
	.head-right-numberSmt { width: 49px; }
}
@media print, screen and (max-width: 500px){
	.head-left-logoPc { height: auto; width: 100%; }
	.head-right-numberSmt { width: 13.45%; min-width: 41px; }
}

@media print, screen and (max-width: 399px){
	.head-left-logoSmt { display: inline; margin-top: .3rem; vertical-align: top; width: 84px; }
	.head-right-numberSmt{ width: 45px; }
	.head-left-logoPc{ display: none;}
}

@media print, screen and (max-width: 319px){
	.head-right-numberSmt { display: none;}
}

.head-right { float: right; width: auto; }

/* ヘッダー右側*/

@media screen and (max-width: 1053px) and (min-width: 1051px) { .head-right { width: calc(100% - 410px); } }
@media screen and (max-width: 1050px) and (min-width: 931px) { .head-right { width: 415px; } }
@media screen and (max-width: 930px) and (min-width: 768px) { .head-right { /* width: 415px; */width: 390px; } }

[class*=head-nav-item] {
 float: left;
 padding-left: 20px;
 margin-left: 10px;
 color: #fff;
 font-size: 1.3rem;
 background: url(/assets/images/common/head-nav-item-icon.png) no-repeat left center;
}
.head-nav-item:first-of-type{ margin-left: 0; }
@media screen and (max-width: 930px) and (min-width: 768px) { [class*=head-nav-item] { margin-left: 8px; padding-left: 18px; } }

.head-nav-item__last { margin-left: 0; }

.head-nav { margin-bottom: 0.5rem; }

.head-right-contact { float: right; margin-left: 10px; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; width: 160px; height: 57px; padding-top: 6px; background-color: #dc9610; text-align: center; color: #fff; line-height: 1.4; }

@media print, screen and (min-width: 768px) { .head-right-contact:hover { background-color: #fff; color: #dc9610; } }

.head-right-info { float: left; margin-right: 2rem; width: 220px; }
@media print, screen and (min-width: 1300px) { .head-right-info { margin-top: 10px; } }

.head-info-tel {
	text-align: center;
	color: #fff;
	font-size: 0;
	letter-spacing: 0.05em;
	line-height: 1;
	/* margin-left: 10px; */
}
.head-info-tel > span,
.head-info-tel > a {
	display: inline-block;
	font-size: 2.3rem;
	vertical-align: middle;
}

@media print, screen and (min-width: 1370px) {
	.head-info-tel > span,
	.head-info-tel > a { font-size: 2.5rem; }
}
/* ------------------------------------
20/05/07追記部分
------------------------------------ */
.head-info-tel>span:before{
	content: '全国\A対応';
	display: inline-block;
	font-size: 0.5em;
	line-height: 1.2;
	padding-right: 0.5em;
	white-space: pre;
}
/* ------------------------------------
20/05/07追記部分
------------------------------------ */


/* 電話アイコンアニメーション
------------------------------------------------------------ */

@keyframes callSupportSignal {
  8%, 64% { opacity: 1; }
  78% { opacity: 0; }
}


/* ヘッダー電話アイコン
------------------------------------------------------------ */

.head-info-tel > span.tel-icon{ 
	background: url(/assets/images/common/phone-icon01.png) left top no-repeat; 
	background-size: 20px auto;
	height: 30px;
	width: 40px;
	position: relative;
}

.head-info-tel > span.tel-icon > span.signal-icon{
	position: absolute;
	top: 11px;
	left: 15px;
	color: #ffffff;
	transform: rotate(50deg);
}

.head-info-tel > span.tel-icon > span.signal-icon:before,
.head-info-tel > span.tel-icon > span.signal-icon:after{
	content: '';
	position: absolute;
	border: 1px solid transparent;
	border-top: solid 1px currentColor;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	animation-name: callSupportSignal;
	animation-duration: 1.4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.head-info-tel > span.tel-icon > span.signal-icon:first-of-type:before{
	width: 10px;
	height: 10px;
	animation-delay: -1.16s;
}
.head-info-tel > span.tel-icon > span.signal-icon:first-of-type:after{
	width: 19px;
	height: 19px;
	animation-delay: -1.08s;
}
.head-info-tel > span.tel-icon > span.signal-icon:last-of-type:before{
	width: 28px;
	height: 28px;
	animation-delay: -1.00s;
}

.head-info-tel > span.tel-icon > span.signal-icon:last-of-type:after{ content: none; }



/* ヘッダー電話アイコンここまで
   フッター電話アイコンここから
------------------------------------------------------------ */

.foot-contact-left p.foot-tel{ font-size: 0; }
.foot-contact-left p.foot-tel > span{
	display: inline-block;
	font-size: 3.84rem;
	vertical-align: middle;
}

.foot-contact-left p.foot-tel > span.tel-icon {
	width: 40px;
	position: relative;
}

.foot-contact-left p.foot-tel > span:last-of-type{
	font-size: 2rem;
	line-height: 5.84rem;
	vertical-align: bottom;
}

.foot-contact-left p.foot-tel > span.tel-icon{
	background: url(/assets/images/common/phone-icon02.png) left top no-repeat;
	background-size: 30px auto;
	height: 40px;
	width: 50px;
	position: relative;
}

@media print, screen and (max-width: 767px) {
	.foot-contact-left p.foot-tel > span.tel-icon{
		background-size: 25px auto;
		height: 35px;
		width: 40px;
	}
	.foot-contact-left p.foot-tel > span:last-of-type{
		line-height: 2rem;
		vertical-align: middle;
	}
}
@media print, screen and (max-width: 406px) {
	.foot-contact-left p.foot-tel{ margin-bottom: 20px; }
	.foot-contact-left p.foot-tel > span:last-of-type{
		line-height: 1rem;
		vertical-align: middle;
	}
}

.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon{
	position: absolute;
	top: 16px;
	left: 22px;
	color: #0a2a47;
	transform: rotate(50deg);
}

.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:before,
.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:after{
	content: '';
	position: absolute;
	border: 2px solid transparent;
	border-top: solid 2px currentColor;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	animation-name: callSupportSignal;
	animation-duration: 1.4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:first-of-type:before{
	width: 16px;
	height: 16px;
	animation-delay: -1.16s;
}
.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:first-of-type:after{
	width: 29px;
	height: 29px;
	animation-delay: -1.08s;
}
.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:last-of-type:before{
	width: 41px;
	height: 41px;
	animation-delay: -1.00s;
}

@media print, screen and (max-width: 767px) {
	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon{
		top: 14px;
		left: 18px;
	}

	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:before,
	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:after{
		border: 1px solid transparent;
		border-top: solid 1px currentColor;
	}

	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:first-of-type:before{
		width: 10px;
		height: 10px;
	}
	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:first-of-type:after{
		width: 19px;
		height: 19px;
	}
	.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:last-of-type:before{
		width: 28px;
		height: 28px;
	}
}

.foot-contact-left p.foot-tel > span.tel-icon > span.signal-icon:last-of-type:after{ content: none; }

/* ------------------- フッター電話アイコンここまで ------------------- */

.head-info-hours {
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	background-color: #24486a;
	line-height: 1;
	padding: 5px 0;
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
}

.head-right-access { margin-top: 15px; margin-right: 10px; float: right; width: 200px; }

@media print, screen and (max-width: 1053px) { .head-right-access { display: none; } }

/* ------------------------------------
20/05/07追記部分
20/05/22変更追記部分
------------------------------------ */
.head-right-info02{ float: right; }
@media print, screen and (max-width: 1064px) { .head-right-info02{ display: none; } }
.head-right-corp{ font-size: 0; margin-bottom: 10px; width: 400px; }
@media print, screen and (min-width: 1300px) {
	.head-right-corp{
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
}

.head-right-corp > li{
	color:#ffffff;
	display: inline-block;
	font-size: 0;
	margin-top: 10px;
	vertical-align: middle;
	width: calc( ( 100% - 20px ) / 2 );
}
.head-right-corp > li:first-of-type,
.head-right-corp > li:nth-of-type(2){ margin-top: 0; }
@media print, screen and (min-width: 1065px) { .head-right-corp > li:nth-of-type(odd){ margin-right: 10px; } }
.head-right-corp > li a,
.head-right-corp > li > span{
	color: #ffffff;
	display: inline-block;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	vertical-align: middle;
}
.head-right-corp > li a:first-of-type{
	background-color: #ffffff;
	border-radius: 2px;
	color: #051c31;
	margin-right: 10px;
	padding: 2px;
	text-align: center;
	max-width: 180px;
	width: 30%;
}

.head-right-btn{ font-size: 0;  }
@media print, screen and (min-width: 1300px) {
	.head-right-btn{
		display: inline-block;
		vertical-align: middle;
	}
}

.head-right-btn > p{
	background-color: #ffffff;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1;
	margin-right: 10px;
	vertical-align: middle;
	width: calc( ( 100% - 20px ) / 3 - 0.1px );
}
@media print, screen and (min-width: 1300px) {
	.head-right-btn > p{
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
		width: 150px;
	}
}
.head-right-btn > p a{
	display: block;
	font-size: 90%;
	padding: 5px;
}
.head-right-btn > p a:before{
	content: '';
	background: url(/assets/images/common/arrow-blue_left.png) no-repeat left center,#ffffff;
	background-size: contain;
	display: inline-block;
	margin-right: 4%;
	width: 10px;
	height: 10px;
}
.head-right-btn > p a:hover:before{
	background: url(/assets/images/common/arrow-white_left.png) no-repeat left center,#0b2e4f;
	background-size: contain;
}
@media print, screen and (min-width: 1300px) {
	.head-right-btn > p a{ padding: 7px 5px; }
	.head-right-btn > p a:before{ margin-right: 20px; }
}

.head-right-btn > p.head-right-btn-access a{ background-color: #004972; color: #ffffff; }
.head-right-btn > p.head-right-btn-siryou a{ background-color: #901C43; color: #ffffff; }
.head-right-btn > p.head-right-btn-contact a{ background-color: #dc9610; color: #ffffff; }

.head-right-btn > p.head-right-btn-access a:hover{ background-color: #6da8de; }
.head-right-btn > p.head-right-btn-siryou a:hover{ background-color: #DF9494; }
.head-right-btn > p.head-right-btn-contact a:hover{ background-color: #ffffff; color: #dc9610; }

@media print, screen and (min-width: 1300px) {
	.head-right-btn > p.head-right-btn-access a{ background-color: #004972; }
	.head-right-btn > p.head-right-btn-siryou a{ background-color: #901e43; }
	.head-right-btn > p.head-right-btn-siryou a:hover{ background-color: #DF9494; }
}
@media print, screen and (min-width: 1065px) { header > div.head-bottom{ display: none; } }
@media print, screen and (max-width: 1064px) and (min-width: 768px) { 
	.head-right-info{ float: right; margin-right: 0; width: auto; }
	header > div.head-bottom .head-right-info02{
		display: block;
		float: none;
		margin-top: 10px;
		width: 100%;
	}
	header > div.head-bottom .head-right-info02 .head-right-corp{ width: 100%; }
	header > div.head-bottom .head-right-info02 .head-right-corp > li{
		margin-right: 10px;
		width: calc( ( 100% - 20px ) / 3 - 0.1px );
	}
	header > div.head-bottom .head-right-info02 .head-right-corp > li:nth-of-type(3n){ margin-right: 0; }
	header > div.head-bottom .head-right-info02 .head-right-btn > p a{ padding: 15px; }
}
header .head-info-hours.time{ background-color: #dc9610; }
@media print, screen and (max-width: 1299px) and (min-width: 1065px) { .head-right-info{ margin-top: 20px; } }
@media print, screen and (max-width: 1299px) and (min-width: 1100px) { .head-right-info{ margin-right: calc( 2rem + 20px ); } }
@media print, screen and (max-width: 1099px) and (min-width: 1065px) { .head-right-info{ margin-right: 2rem; } }
@media print, screen and (max-width: 1299px) and (min-width: 1065px) {
	.head-right-btn > ul.head-nav{
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
		width: calc( ( 100% - 20px ) / 3 - 0.1px );
	}
	.head-right-btn > ul.head-nav > li{
		float: none;
		margin-left: 0;
	}
	.head-right-btn > ul.head-nav > li a{ display: block; }
}
@media print, screen and (max-width: 1064px) and (min-width: 768px) {
	header > div.head-bottom .head-right-info02 .head-right-btn > ul.head-nav{
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
		width: calc( ( 100% - 20px ) / 3 - 0.1px );
	}
}
/* ------------------------------------
20/05/07追記部分
20/05/22変更追記部分
------------------------------------ */

/*フォーム専用header*/
.head-right-access1 { 
	margin-top: 30px;
	margin-right: 10px;
	float: right;
	width: 200px;
}

.head-info-tel1 {
	text-align: center;
	color: #fff;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-bottom: 0.5rem;
	margin-top: 15px;
}

.pc-navi { display: block !important; }
.sp-navi { display: none !important; }

.drawer-nav{
    color: #fff !important;
}

.first_navi{
    width: 20%;
    height: 380px;
    float: left;
    box-sizing: border-box;
    font-size: 20px;
    padding: 14% 3%;
    border: 2px solid #fff;
    color: #fff;
    vertical-align: middle; 
}

ul.plan_list{
    margin: 0 0 40px 22%;
}

ul.plan_udlist{
    margin: 0 0 0 22%;
}

ul.plan_list li.m_navi{
    width: 22%;
    margin:0 5px;
    display: inline-block;
    vertical-align: top;
}

ul.other_list{
    margin: 45px 0;
}

ul.other_list li.m_navi{
    width: 24%;
    display: inline-block;
    vertical-align: top;
}

li p.m_navitxt{
    padding: 5% 5px;
    font-size: 1.5rem;
    border: 2px solid #fff;
    color: #fff;
    height: 75px;
    display: flex;
    align-items: center;
}

ul.plan_udlist li{
    /* width: 47%; */
	width: calc( ( 92% - 30px ) / 3 );
    margin:0 5px;
    display: inline-block;
    vertical-align: bottom;
    padding: 2% 5px;
    font-size: 1.5rem;
    border: 2px solid #fff;
    color: #fff;
}

ul.s_navi{
    margin: 10px 22px;
}

ul.s_navi li{
    position: relative;
    font-size: 14px;
    color: #fff;
}

ul.s_navi li::after,ul.drawer-dropdown-menu li a::after{
    display: block;
    content: '';
    position: absolute;
    top: .5em;
    left: -1em;
    width: 6px;
    height: 6px;
    background-color: #3498db;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.drawer-dropdown-menu li a::after{
    left: 0em;
}

.btn_hover {
    color: #fff !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.btn_hover:hover {
    background-color: #3498db;
}

ul.drawer-menu{
  width:100%;
}

@media only screen and (max-width: 1016px) { ul.plan_udlist li.lipd01,ul.plan_udlist li.lipd02{ padding: calc( 0.9em + 2% ) 5px; } }
@media only screen and (max-width: 940px) { ul.plan_udlist li.lipd01{ padding: 2% 5px; } }

@media only screen and (max-width: 750px) {

.pc-navi { display: none !important; }
.sp-navi { display: block !important; }

nav ul{
 height: 100%;
 overflow: auto;
 -webkit-overflow-scrolling: touch;
}

.first_navi{
    width: 100%;
    float: none;
    height: auto;
    font-size: 15px;
    padding: 5% 3%;
    margin-bottom: 15px;
    text-align: center;
}

li.drawer-item{
  border: 2px solid #fff;
}

li.drawer-dropdown button.drawer-item-box{
    color: #fff !important;
    border: 2px solid #fff;
    font-size: 12px;
    width: 100%;
    text-align: left;
    height: 70px;
    padding: 0 15px;
}

.drawer-item-dropdown{
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 49%;
  -ms-flex: 0 0 49%;
  flex: 0 0 49%;
  margin-bottom: 20px;
}
	
li.drawer-single01{ padding: 2% 15px; }
li.drawer-single02{ padding: calc( 0.8em + 2% ) 15px; }

}
/*=====================================================
 
 gl-nav
 
=====================================================*/
.br951,
.br950-768,
.br850 { display: none; }
@media screen and (min-width: 951px ){ .br951{ display: inline; } }
@media screen and (max-width: 950px ) and (min-width: 768px ){ .br950-768{ display: inline; } }
@media screen and (max-width: 850px ){ .br850{ display: inline; } }

#gl-nav { background-color: #fff; /* height: 75px; */ position: absolute; width: 100%; z-index: 90; }
#gl-nav.fixed{ position: fixed; top: 0; }

#gl-menu{ height: 75px; }
@media screen and (max-width: 1100px ){
	#gl-menu.w1200-wrap { width: 100%; }
}

[class*=gl-item] { -webkit-box-sizing: border-box; box-sizing: border-box; float: left; width: calc( ( 100% - 9px ) / 8 ); position: relative; height: 73px; padding-right: 1px; }
.h75{ height: 75px; }
[class*=gl-item]:after { content: ''; display: block; position: absolute; right: 0; top: 29px; background-color: #244868; width: 1px; height: 20px; }
@media screen and (max-width: 1100px ) {
	[class*=gl-item] { width: 12.5%; }
}

.gl-item__first,
.gl-item__first01 { padding-left: 1px; }

.gl-item__first:before,
.gl-item__first01:before { content: ''; display: block; position: absolute; left: 0; top: 29px; width: 1px; height: 20px; }

.gl-item__first:before{ background-color: #244868; }

.gl-item__first01:before{ background-color: #ffffff; }

[class*=gl-link] { border-top: 1px solid #fff; border-bottom: 1px solid #efefef; cursor: pointer; text-decoration: none; display: block; color: #051c31; text-align: center; font-size: 1.5rem; line-height: 73px; }

[class*=gl-link]:hover, [class*=gl-link].current { background-color: #051c31; color: #fff; }
.gl-link__row2.bg01,
.bg01.current{ background-color: #dc9610; color: #ffffff; }
.gl-link__row2.bg01:hover{ background-color: #ffffff; color: #dc9610; }

.gl-item__hc:after{ content: ''; background-color: #ffffff; }

@media screen and (max-width: 850px ) {
	.gl-link.row850{
		height: 75px;
		line-height: 1.5;
		padding-top: 15px;
		position: relative;
	}
}
.gl-link.bg02{ background-color: #367cbb; color:#ffffff; }
.gl-link.bg02:hover{ background-color: #051C33; }

.gl-link__logoImg {
	background: url(/assets/images/common/glmenu-logo02.png) no-repeat center center;
	background-size: 65%;
	height: 100%;
	width: 100%;
}
.gl-link__logoImg:hover {
	background: url(/assets/images/common/glmenu-logo02-hover.png) no-repeat center center,#051c31;
	background-size: 65%;
}
@media screen and (max-width: 950px) { [class*=gl-link] { font-size: 1.3rem; } }

.gl-link__row2 { line-height: 1.5; padding-top: 15px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 75px; }

/*=====================================================
 
gl-nav-contents
 
=====================================================*/

/* 共通
------------------------------------------------ */

.gl-nav-contents{ 
	display: none;
	visibility: hidden;
	opacity: 0;
	padding: 20px;
}

.gl-nav-contents.is_show{
	display: block;
	opacity: 1;
	visibility: visible;
}

.gl-nav-contents.is_show a{
	cursor: pointer;
}

/* 
@keyframes fadeIn{
	form{ opacity: 0; }
	to{ opacity: 1; }
}
.gl-nav-contents.is_show{
	display: block;
	visibility: visible;
	animation: fadeIn 0.7s linear 0s;
	animation-fill-mode: forwards;
}
.gl-nav-contents.is_show02{
	display: block;
	visibility: visible;
	opacity: 1
}
 */

.gl-nav-contents .mb10px{ margin-bottom: 10px; }

.overlay{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 25;
	visibility: hidden;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.26);
	opacity: 0;
	transition: all 0.2s;
}

@media print, screen and (max-width: 1200px){
	.gl-nav-contents{ padding: 20px 0; }
}
@media print, screen and (max-width: 767px){
	.gl-nav-contents{ display: none; }
	.overlay{ display: none; }
}

.gl-nav-contents .fs0{ font-size: 0; }
.gl-nav-contents .inline-block{
	display: inline-block;
	font-size: 1.6rem;
}

#gl-nav-palan a,
#gl-nav-corp a{ text-decoration: underline; }

/* プラン
------------------------------------------------ */
#gl-nav-palan .gl-nav-palan-supplement,
#gl-nav-palan .gl-nav-palanLeft{
	width: calc( 100% - 30% - 20px );
}

#gl-nav-palan .gl-nav-palanLeft,
#gl-nav-palan .gl-nav-palanRight{
	vertical-align: top;
}
#gl-nav-palan .gl-nav-palanLeft{
	margin-right: 20px;
}
#gl-nav-palan .gl-nav-palanLeft > ul > li{
	margin-right: 2%;
	vertical-align: top;
	width: calc( ( 100% - 50% - 2%  ) / 2 );
}
#gl-nav-palan .gl-nav-palanLeft > ul > li:first-of-type{ width: calc( 100% - 50% - 2% ); }
#gl-nav-palan .gl-nav-palanLeft > ul > li:last-of-type{ margin-right: 0; }
#gl-nav-palan .gl-nav-palanLeft > ul > li > p{
	color: #ffffff;
	line-height: 1.2;
	height: 58px;
	padding: 0.7em 0;
	text-align: center;
}
#gl-nav-palan .gl-nav-palanLeft > ul > li:first-of-type > p{
	padding: 1.2em 0;
}

#gl-nav-palan .gl-nav-palanLeft > ul > li > div{
	background-color: #f6f9fb;
	padding: 2rem;
}
#gl-nav-palan .gl-nav-palanLeft > ul > li > div >ul > li.left-arrow__dullBlue{
    background: url(/assets/images/common/arrow-dullBlue_left.png) no-repeat left center/13px 13px;
    padding: 0 0 0 2rem;
}
#gl-nav-palan .gl-nav-palanRight{
	width: calc( 100% - 70% );
}

#gl-nav-palan .gl-nav-palanRight .btn-type3-arrow__left {
	display: block;
	border: 1px solid #565656;
	background: #fff url(/assets/images/common/arrow-blue_left.png) no-repeat left 2rem center/13px 13px;
	padding: 0 3rem 0 5rem;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
}
	
#gl-nav-palan .gl-nav-palanRight .btn-type3-arrow__left:hover {
	background: #0b2e4e url(/assets/images/common/arrow-white_left.png) no-repeat left 2rem center/13px 13px;
	color: #fff;
}

@media print, screen and (max-width: 1120px) and (min-width: 768px){
	#gl-nav-palan .gl-nav-palan-supplement,
	#gl-nav-palan .gl-nav-palanLeft.inline-block,
	#gl-nav-palan .gl-nav-palanRight.inline-block{
		display: block;
		width: 100%;
	}
	#gl-nav-palan .gl-nav-palanRight{ margin-top: 20px; }
	#gl-nav-palan .gl-nav-palanRight > ul{ font-size: 0; }
	#gl-nav-palan .gl-nav-palanRight > ul > li{
		display: inline-block;
		font-size: 1.6rem;
		margin-right: 20px;
		vertical-align: top;
		width: calc( ( 100% - 20px ) / 2 );
	}
	#gl-nav-palan .gl-nav-palanRight > ul > li:last-of-type{ margin-right: 0; }
	#gl-nav-palan .gl-nav-palanRight .btn-type3-arrow__left{ padding: 1.5rem 3rem 1.5rem 5rem; }
}

/* 会社概要
------------------------------------------------ */

#gl-nav-corp > div:first-of-type{ border-bottom: 1px solid #cdced1; padding-bottom: 20px; }
#gl-nav-corp > div:last-of-type{ padding-top: 20px }

#gl-nav-corp > div > div:first-of-type { margin-top: -34px; margin-right: 10px; padding-left: 15px; vertical-align: middle; width: 320px; }
#gl-nav-corp > div > div:last-of-type{ padding-right: 15px; width: calc( 100% - 320px - 10px ); }

#gl-nav-corp > div > div > p{
	font-weight: bold;
	border-left: 5px solid #134674;
	padding-left: 10px;
}

#gl-nav-corp > div > div > ul li{
	line-height: 1.4;
	margin-right: 10px;
	margin-bottom: 15px;
	padding-left: 14px;
	position: relative;
	vertical-align: middle;
	width: calc( ( 100% - 20px ) / 3 - 0.01px );
}

#gl-nav-corp > div > div > ul li:nth-of-type(3n){
	margin-right: 0;
}

#gl-nav-corp > div > div > ul li:nth-last-of-type(3),
#gl-nav-corp > div > div > ul li:nth-last-of-type(2),
#gl-nav-corp > div > div > ul li:last-of-type{
	margin-bottom: 0;
}

#gl-nav-corp > div > div > ul li:before{
	content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-left: 8px solid #043057;
    border-bottom: 6px solid transparent;
    position: absolute;
	top: calc( 50% - 6px );
	left: 0;
}

/*=====================================================
 
drawer-nav 
 
=====================================================*/
.drawer-nav .w1200-wrap { padding-top: 35px; }

@media print, screen and (max-width: 767px) { .drawer-nav .w1200-wrap { padding-top: 90px; padding-left: 15px; position: absolute;} }

.hamburger-icon { display: block; position: relative; line-height: 1; width: 6rem; height: 6rem; }

@media print, screen and (min-width: 768px) { 
	.hamburger-icon {
		background-color: #051c31;
		border: 1px solid #ffffff;
		border-right: 0;
		border-radius: 5px 0 0 5px;
	}
}

@media print, screen and (max-width: 767px) { .hamburger-icon { background-color: #fff; } }

[class*=hamburger-line] { display: block; width: 40%; height: 3px; border-radius: 3px; position: absolute; left: 30%; -webkit-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out; transition: all .4s ease-in-out; }

@media print, screen and (min-width: 768px) { [class*=hamburger-line] { background-color: #fff; } }

@media print, screen and (max-width: 767px) { [class*=hamburger-line] { background-color: #051c31; } }

.hamburger-line1 { top: 1rem; }

.hamburger-line2 { top: 1.8rem; }

.hamburger-line3 { top: 2.6rem; }

.drawer-open .hamburger-line1 { top: 1.8rem; -webkit-transform: rotate(225deg); -ms-transform: rotate(225deg); transform: rotate(225deg); }

.drawer-open .hamburger-line2 { left: 300px; }

.drawer-open .hamburger-line3 { top: 1.8rem; -webkit-transform: rotate(-225deg); -ms-transform: rotate(-225deg); transform: rotate(-225deg); }

@media print, screen and (min-width: 768px) { .drawer-open .hamburger-text:before { content: '閉じる'; } }

@media print, screen and (max-width: 767px) { .drawer-open .hamburger-text:before { font-size: 1.3rem; content: 'CLOSE'; } }

.hamburger-text { position: absolute; width: 100%; text-align: center; bottom: 1rem; left: 0; line-height: 1; }

@media print, screen and (min-width: 768px) { .hamburger-text { color: #fff; }
  .hamburger-text:before { content: 'メニュー'; } }

@media print, screen and (max-width: 767px) { .hamburger-text { color: #051c31; }
  .hamburger-text:before { font-size: 1.3rem; content: 'MENU'; } }

@media screen and (max-width: 500px) { .hamburger-text { bottom: .5rem; font-size: 1.6rem; } }

@media screen and (max-width: 500px) { .hamburger-line1 { top: 5px; }
  .hamburger-line2 { top: 11px; }
  .hamburger-line3 { top: 17px; }
  .drawer-open .hamburger-line1 { top: 11px; }
  .drawer-open .hamburger-line3 { top: 11px; } }

#hamburger-btn { right: 10px; top: 30px; }

@media print, screen and (min-width: 768px) {
	#hamburger-btn {
		display: block!important;
		right: 0;
	}
}

#phone-btn,
#contact-btn { position: fixed; width: 6rem; height: 6rem; background-color: #f1b201; text-align: center; font-size: 1.2rem; z-index: 504; }

#contactComp #hamburger-btn,
#contactComp #phone-btn,
#contactComp #contact-btn { position: absolute; }

@media print, screen and (min-width: 768px) { 
	#phone-btn{display: none;}
	#contact-btn { display: none!important;right: 16px; top: calc(190px + 6rem); }
  #contact-btn span { display: inline-block; padding-top: .7rem; font-weight: bold;} }

#favorite-btn { position: fixed; width: 6rem; height: 6rem; background-color: #ea0101; text-align: center; font-size: 1.1rem; z-index: 504; }
#favorite-btn span { display: inline-block; padding-top: 1rem; font-weight: bold;}
@media print, screen and (min-width: 768px) { #favorite-btn { display: block!important;right: 16px; top: calc(190px + 6rem); } }

@media print, screen and (max-width: 767px) { #favorite-btn { display: none!important; } }

@media print, screen and (max-width: 767px) { 
	#phone-btn{
		top: 30px;
		right: calc(30px + 12rem);
		background: #367cbb url(/assets/images/common/head-phone-icon.png) no-repeat top 5px center;
		background-size:40%; 	
	}
	
	#contact-btn { 
		right: calc(20px + 6rem);
		top: 30px;
		background: #dc9710 url(/assets/images/common/head-mail-icon.png) no-repeat top 3px center;
	}
}

@media print, screen and (max-width: 767px) { .contact-text { color: #ffffff; }
  .contact-text:before { font-size: 1rem; content: '無料面談'; } 
	#phone-btn .contact-text:before{ content: 'お電話'; } }
  

@media screen and (max-width: 640px){
	
	header{ height: 92px; }
	#hamburger-btn{ top: 15px; }
	
	#phone-btn,
	#contact-btn{ top: 15px; }
	.hamburger-icon{ top: 0px; }
	
}
/* .contact-text {
    bottom: 5rem;
    font-size: 1.6rem;
}
　*/
.contact-text {
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 0.5rem;
    left: 0;
    line-height: 1;
}

@media screen and (max-width: 500px) { 
	
	header{
		height: 76px;
	}
	
	#phone-btn, #contact-btn, .hamburger-icon { width: 40px; height: 40px; }
  #contact-btn { right: 55px; background-size: 25px auto; }
	
	#phone-btn{
		background-position: center top 3px;
		background-size: 15.5px auto;
		right: 105px;
	}
	
  #hamburger-btn { right: 5px; }
.contact-text{ bottom: 0.2rem; }
}

@media screen and (min-width: 1130px) {
	.br-1129-411{ display: none; }
	.br-1129-768{ display: none; }
}
@media screen and (max-width: 767px){ .br-1129-768{ display: none; } }
@media screen and (min-width: 411px) and (max-width:1129px){ .br-1129-411{ display: inline; } }

@media screen and (max-width: 410px) { .br-856-411{ display: none; } }

#drawer-menu { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }

.drawer-tit { text-align: center; font-size: 2.8rem; margin-bottom: 4rem; color: #fff; }

.drawer-tit:before { content: ''; display: inline-block; width: 50px; height: 2px; background-color: #fff; margin-right: 10px; vertical-align: middle; }

.drawer-tit:after { content: ''; display: inline-block; width: 50px; height: 2px; background-color: #fff; margin-left: 10px; vertical-align: middle; }

.drawer-item { -webkit-box-flex: 0; -webkit-flex: 0 0 23%; -ms-flex: 0 0 23%; flex: 0 0 23%; width: 23%; margin-bottom: 20px; }

@media print, screen and (min-width: 641px) and (max-width: 767px) { .drawer-item {-webkit-box-flex: 0; -webkit-flex: 0 0 49%; -ms-flex: 0 0 49%; flex: 0 0 49%; margin-bottom: 20px; font-size: 12px; padding: 0 15px; height: 70px;} }

@media print, screen and (max-width: 640px) { .drawer-item { -webkit-box-flex: 0; -webkit-flex: 0 0 49%; -ms-flex: 0 0 49%; flex: 0 0 49%; width: 49%; height: 70px; padding: 0 15px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center;} }

@media print, screen and (max-width: 640px) { .drawer-item-box { font-size: 12px; } }

.drawer-dropdown .drawer-item-box { position: relative; }

.drawer-dropdown .drawer-item-box:after { content: '＋'; font-weight: bold; font-size: 1.8rem; color: #fff; position: absolute; right: 5px; bottom: 0; }

.drawer-dropdown.open .drawer-item-box:after { content: 'ー'; }

.drawer-dropdown-menu { padding: 15px 5px 10px; }

.drawer-dropdown-item { color: #fff; font-size: 1.5rem; position: relative; margin-left: 2rem; padding-left: 2rem; }

@media print, screen and (max-width: 640px) { .drawer-dropdown-item { font-size: 1.8rem; } }

#drawer-menu:not(:target) { overflow: hidden\9; }

.drawer-item:not(:target) { float: left\9; width: 23.5%\9; margin-right: 1%\9; margin-bottom: 20px\9; }

@media print, screen and (min-width: 641px) and (max-width: 767px) { .drawer-item:not(:target) { width: 32%\9; } }

@media print, screen and (max-width: 640px) { .drawer-item:not(:target) { width: 49%\9; } }

.drawer-item-box:not(:target) { display: block\9; padding-top: 5px\9; }

/*=====================================================
 
footer
 
=====================================================*/
footer { background-color: #555555; }

#foot-link-list { background-color: #fff; padding: 4rem 0; }

.foot-link-wrap { float: left; width: 24.2%; margin-right: 1%; }

.foot-link-wrap.last-wrap { margin-right: 0; }

@media screen and (max-width: 900px) { .foot-link-nowrap{ width: 0%!important;} }

@media screen and (max-width: 900px) { .foot-link-wrap { width: 48%; } }

.foot-link-tit { position: relative; border-bottom: 2px solid #dfdfdf; margin: 2rem 0 1rem; padding-bottom: 1rem; padding-left: 20px; font-size: 1.4rem; background: url(/assets/images/common/arrow-blue_left.png) no-repeat left 5px/13px 13px; }

.foot-link-tit:after { content: ''; display: block; position: absolute; bottom: -2px; left: 0; width: 50px; height: 2px; background-color: #043057; }

.foot-link-text { font-size: 1.4rem; padding-left: 35px; position: relative; }

.foot-link-text:before { content: ''; display: block; width: 0; height: 0; border-top: 4px solid transparent; border-left: 6px solid #043057; border-bottom: 4px solid transparent; position: absolute; left: 18px; top: 7px; }

#foot-bottom { color: #fff; }

@media print, screen and (min-width: 768px) { #foot-bottom { padding: 5rem 0; max-width: 1200px; margin-left: auto; margin-right: auto; width: 94%; } }

@media print, screen and (min-width: 768px) { .foot-bottom-list { margin-bottom: 3rem; text-align: center; letter-spacing: -0.4em; font-size: 1.4rem; }
  .foot-bottom-list li { letter-spacing: normal; display: inline-block; padding: 0 10px; border-right: 1px solid #fff; }
  .foot-bottom-list li:last-child { border-right: none; } }

@media print, screen and (max-width: 767px) { .foot-bottom-list { margin-bottom: 4rem; }
  .foot-bottom-list li { border-bottom: 1px solid #727272; }
  .foot-bottom-list li a { display: block; padding: 20px 10px; background: url(/assets/images/common/arrow-white_left.png) no-repeat right 10px center/30px 30px; } }

#copy { text-align: center; color: #fff; font-size: 1.4rem; }

@media print, screen and (max-width: 767px) { #copy { padding-bottom: 30px; } }

#pagetopButton {
 display: none;
 position: fixed;
 z-index: 300;
 right: 5px;
 bottom: 105px;
 width: 60px; }

@media print, screen and (min-width: 768px) { #pagetopButton { cursor: pointer; } }

@media print, screen and (max-width: 767px) { #pagetopButton { width: 40px; } .lh25{ line-height: 25px; }.br::before { content: "\A" ; white-space: pre ; }}

@media print, screen and (max-width: 767px) {   }


/*=====================================================
 
その他
 
=====================================================*/
::-moz-selection { background-color: rgba(11, 47, 80, 0.5); color: #fff; }
::selection { background-color: rgba(11, 47, 80, 0.5); color: #fff; }

::-moz-selection { background-color: rgba(11, 47, 80, 0.5); color: #fff; }


header a, nav a, footer a, a.btn-type-dullBlue{ text-decoration: none; }

@media screen and (max-width: 767px) { #wrapper { overflow-y:scroll; height:100%;} }


li.hnavi{
line-height:120%;
}

#former {
  margin-top:-100px;
  padding-top:100px;
}

/*=====================================================
 
ハンバーガーメニュー
 
=====================================================*/
@media screen and (max-width: 767px){ .drawer-open .drawer-overlay{ background: rgba(200, 200, 200, 0.5); } }
.drawer--right.drawer-open .drawer-nav.sp-navi{ right: -15%; }
.drawer--right.drawer-open .drawer-nav.sp-navi > div.w1200-wrap { width: calc( 96% - 15% ); }

/*=====================================================
 
ハンバーガーメニュー（拠点紹介）
 
=====================================================*/

ul.other_list li.m_navi.baseIntroPc{ margin-top: -2em; padding-left: 4px; }
ul.other_list li.m_navi.baseIntroPc > p{ line-height: 0.5; }

@media screen and (max-width: 851px) and (min-width:821px) {
	_:lang(x)::-internal-media-controls-overlay-cast-button, ul.other_list li.m_navi.baseIntroPc{ margin-top: -4em; }
}

.drawer-dropdown-menu > li.baseIntroSmt{ line-height: 0; text-indent: 0; padding-top: 8px; padding-left: 0; }
.drawer-dropdown-menu > li.baseIntroSmt > p,
.drawer-dropdown-menu > li.baseIntroSmt > ul,
.drawer-dropdown-menu > li.baseIntroSmt > ul li{ line-height: 1; }
.drawer-dropdown-menu > li.baseIntroSmt > ul li > a:after{ top: calc( ( 100% - 6px ) / 2 ); }

/*=====================================================
	
ページ下部CTA
(フォームが入っているページ以外)
	
=====================================================*/

#footer-cta .ctaFlex{ 
	display: flex;
	justify-content: center;
}

#footer-cta.cta .sp-img{
	margin: 0 auto 20px auto;
	max-width: 640px;
}

#footer-cta .CTA3 a{
  max-width: 680px;
  display: inline-block;
  text-align: center;
  background-color: #dc9610;
  font-size: 20px;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 15px;
  border-radius: 4px;
  border-bottom: 6px solid #7C4036;
  transition:all 0.2s;
     /* CTA 文字の黒縁取り用記述　*/
text-shadow: #555555 1px 0px,  #555555 -1px 0px,
    #555555 0px -1px, #555555 0px 1px,
    #555555 1px 1px , #555555 -1px 1px,
    #555555 1px -1px, #555555 -1px -1px,
    #555555 0px 1px,  #555555 -0px 1px,
    #555555 0px -1px, #555555 -0px -1px,
    #555555 1px 0px,  #555555 -1px 0px,
    #555555 1px -0px, #555555 -1px -0px;
}

#footer-cta .CTA3:hover {
    transform: translateY(4px);
    border-bottom: none;
}


#footer-cta .ctaFlex .pc-imgLeft,
#footer-cta .ctaFlex .pc-imgRight{ 
	max-width: 300px;
	width: calc( ( 100% - 265px - 80px ) / 2 );
}

@media screen and (min-width: 768px) {
	#footer-cta.cta .sp-img{ display: none; }
	#footer-cta .ctaFlex .pc-imgLeft,
	#footer-cta .ctaFlex .pc-imgRight{ display: block;}
}
@media screen and (max-width: 840px) { 
	#footer-cta .ctaFlex .pc-imgLeft,
	#footer-cta .ctaFlex .pc-imgRight{ 
	width: calc( ( 100% - 265px - 40px ) / 2 );
	}
}
@media screen and (max-width: 767px) {
	#footer-cta .ctaFlex{ flex-direction: column; }
	#footer-cta.cta .sp-img{ display: block; }
	#footer-cta .ctaFlex .pc-imgLeft,
	#footer-cta .ctaFlex .pc-imgRight{ display: none;}
}


.ctaFlex .cta-center-pc{ margin: 0 40px; }
@media screen and (max-width: 840px) { #footer-cta .ctaFlex .cta-center-pc{ margin: 0 20px; } }

/*  ----- 見出し -----  */

#footer-cta p.ctaHeading{
	background: #0a3c69;
	color: #ffffff;
	font-size: 110%;
	line-height: 1.4;
	margin: 0 auto 30px;
	padding: 10px;
	max-width: none;
}

@media screen and (max-width: 640px){ #footer-cta p.ctaHeading{ background: #ffffff; color: #0a3c69; } }
@media screen and (max-width: 512px){ #footer-cta p.ctaHeading{ font-size: 140%; } }

/*=====================================================
	
対象リンクをhoverすると枠で囲われる
（トップとフォームのみ）

=====================================================*/

.hoverFrame{ border-color: rgba(0,0,0,0); border-style: solid; border-width: 3px; }
.hoverFrame:hover{ border-color: #ff8c16; }

/*=====================================================
	
電話バナー（固定）
お問い合わせ以外全ページ右サイド固定

=====================================================*/

/* 固定バナーアニメーション */
@keyframes fadeIn{
	0% {opacity: 0}
    100% {opacity: 1}
}

.tel-area{
	position: fixed;
	right: 0;
	z-index: 504;
}

/* .tel-area a[href^="tel:"] { pointer-events: none; } */
@media screen and (max-width: 767px){ .tel-area{ display: none; } }

.tel-area .tel-btn{ display: none; }

/* ------------- 2020/06/09追加ここから ------------- */

.tel-area .tel-bannar{
	background-color: #051c31;
	border: 1px solid #ffffff;
	border-right: 0;
	border-radius: 5px 0 0 5px;
	padding: 10px 5px;
	width: 6rem;
	height: 350px;
}
.tel-area .tel-bannar > div.tel-ban-icon02{ width: 30px; }
.tel-area .tel-bannar > div.tel-ban-icon01 img,
.tel-area .tel-bannar > div.tel-ban-icon02 img{ vertical-align: middle;}
.tel-area .tel-bannar p{
	color: #ffffff;
	line-height: 1.2;
	text-align: center;
}
.tel-area .tel-bannar p.tel-ban-txt01{ font-size: 12px; }
.tel-area .tel-bannar p.tel-ban-txt02{ font-size: 12px; }
.tel-area .tel-bannar p.tel-ban-num{
	font-size: 20px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	width: 24px;
	max-height: 150px;
}

@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
  .tel-area .tel-bannar p.tel-ban-num{
    margin: 0 9px;
  }
}

.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon{
	display: block;
	background: url(/assets/images/common/phone-icon03.png) left 0px top 0px no-repeat;
	background-size: contain;
	height: 30px;
	margin: auto;
	width: 30px;
	position: relative;
}
.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon > .signal-icon{
	position: absolute;
	top: 14px;
	left: 18px;
	color: #ffffff;
	transform: rotate(45deg);
}

.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon > .signal-icon:before,
.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon > .signal-icon:after{
	content: '';
	position: absolute;
	border: 3px solid transparent;
	border-top: solid 3px currentColor;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	animation-name: callSupportSignal;
	animation-duration: 1.4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon > .signal-icon:first-of-type:before{
	width: 11px;
	height: 11px;
	animation-delay: -1.16s;
}
.tel-area .tel-bannar > div.tel-ban-icon01 .tel-icon > .signal-icon:first-of-type:after{
	width: 24px;
	height: 24px;
	animation-delay: -1.08s;
}

/* ------------- 2020/06/09追加ここまで ------------- */

@media screen and (min-width: 768px) and (max-width: 1099px), (max-height: 760px){
	.tel-area .tel-bannar,.tel-area .tel-bannar *{ display: none; }
	
	.tel-area .tel-btn{
		display: block;
		background-color: #051c31;
		border: 1px solid #ffffff;
		border-right: 0;
		border-radius: 5px 0 0 5px;
		height: 6rem;
		padding: 5px;
		width: 6rem;
	}
	.tel-area .tel-btn .tel-icon{
		display: block;
		background: url(/assets/images/common/phone-icon03.png) left 0px top 3px no-repeat;
		background-size: contain;
		height: 30px;
		margin: auto;
		width: 25px;
		position: relative;
	}
	.tel-area .tel-btn .tel-icon > .signal-icon{
		position: absolute;
		top: 15px;
		left: 15px;
		color: #ffffff;
		transform: rotate(45deg);
	}

	.tel-area .tel-btn .tel-icon > .signal-icon:before,
	.tel-area .tel-btn .tel-icon > .signal-icon:after{
		content: '';
		position: absolute;
		border: 3px solid transparent;
		border-top: solid 3px currentColor;
		border-radius: 50%;
		transform: translate(-50%, -50%);
		opacity: 0;
		animation-name: callSupportSignal;
		animation-duration: 1.4s;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	}
	.tel-area .tel-btn .tel-icon > .signal-icon:first-of-type:before{
		width: 11px;
		height: 11px;
		animation-delay: -1.16s;
	}
	.tel-area .tel-btn .tel-icon > .signal-icon:first-of-type:after{
		width: 24px;
		height: 24px;
		animation-delay: -1.08s;
	}
	/*
	.tel-area .tel-btn .tel-icon > .signal-icon:last-of-type:before{
		width: 33px;
		height: 33px;
		animation-delay: -1.00s;
	}
	.tel-area .tel-btn .tel-icon > .signal-icon:last-of-type:after{ content: none; }
	*/
	.tel-area .tel-btn > p{
		color: #ffffff;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.2;
		margin-top: 5px;
		text-align: center;
	}
}
.tel-area .tel-btn-contets{
	display: none;
	color: #ffffff;
	background-color: rgba(5,28,49,0.85);
	padding: 15px;
	position: absolute;
	right: 6rem;
	top: 0;
	width: 380px;
}

.tel-btn-contets > div:first-of-type{ font-size: 0; }
.tel-btn-contets > div > p{
	display: inline-block;
	font-size: 1.6rem;
	vertical-align: middle;
}
.tel-btn-contets > div > p.telTitle{ font-size: 1.8rem; }

.tel-btn-contets > div p.telNumber a{ 
	display: block;
	text-decoration: none;
}

.tel-btn-contets p.tabTap{ border-top: 1px solid #ffffff; }

@media screen and (min-width: 768px) and (max-width: 1099px), (max-height: 760px){
	
	.tel-area .tel-btn:hover~.tel-btn-contets{
		animation: fadeIn 0.8s ease 0s 1 normal;
		-webkit-animation: fadeIn 0.8s ease 0s 1 normal;
	}
	.tel-area .tel-btn:hover~.tel-btn-contets,
	.tel-btn-contets:hover{ display: block; }
	
}

/*=====================================================
	
グロナビ上部のテレビ面談

=====================================================*/

@media screen and (min-width: 768px) { .tv_mendan_child-smt{ display: none; } }

#gl-nav > .tv_mendan_child{
     background-color:#ffff99;
	box-sizing: border-box;
	border-bottom: 1px solid #efefef;
}

#gl-nav > .tv_mendan_child > p:before,
.tv_mendan_child-smt > p:before{
	content: "NEW！";
	color: #ff0000;
	font-size: 90%;
	font-weight: bold;
	padding-right: 10px;
	-webkit-animation:blink 0.7s linear infinite alternate;
	-moz-animation:blink 0.7s linear infinite alternate;
	animation:blink 0.7s linear infinite alternate;
}

@-webkit-keyframes blink{
	0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
	0% {opacity:0;}
    100% {opacity:1;}
}

@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*=====================================================
	
右側（固定）
面談時の3密対策
お問い合わせ以外全ページ右サイド固定

=====================================================*/

.virus-area{
	background-color: #051c31;
	border: 1px solid #ffffff;
	border-right: 0;
	border-radius: 5px 0 0 5px;
	color: #ffffff;
	font-size: 12px;
	line-height: 1.2;
	position: fixed;
	right: 0px;
	text-align: center;
	width: 6rem;
	height: 6rem;
	z-index: 504;
}
@media screen and (max-width: 767px){ .virus-area{ display: none; } }

.virus-area > a{
	padding: 3px 0;
	display: block;
	text-decoration: none;
}

.virus-area > a img{ width: 33px; }
.virus-area > a p{
	font-weight: bold;
	margin-top: 5px;
}

/*=====================================================
	
相続大辞典フッター

=====================================================*/

.foot-info{
	display: none;
	background-color: #051c31;
	padding: 25px 10px 10px 10px;
	position: fixed;
	bottom: 0;
	left: 0;
	max-width: 400px;
	width: 100%;
	z-index:10000000000;
}
@media print, screen and (min-width: 768px) { .foot-info{ display: none; } }

.foot-info .foot-btn{
	font-size: 0;
}
.foot-info .foot-btn > div{
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.2;
	margin-left: 10px;
	text-align: center;
	vertical-align: middle;
	width: 60px;
	height: 60px;
}
.foot-info .foot-btn > div:first-of-type{ margin-left: 0; }

.foot-info .foot-btn > div.foot-btn-dial,
.foot-info .foot-btn > div.foot-btn-contact,
.foot-info .foot-btn > div.foot-btn-siryou{ border-radius: 2px; }

.foot-info .foot-btn > div.foot-btn-dial{ background-color: #367cbb; }
.foot-info .foot-btn > div.foot-btn-contact{ background-color: #dc9610; }
.foot-info .foot-btn > div.foot-btn-siryou{ background-color: #319745 }
.foot-info .foot-btn > div.foot-other{
	color: #ffffff;
	text-align: left;
	text-decoration: underline;
	width: calc( 100% - 210px );
}


.foot-info .foot-btn > div > a{
	display: block;
	padding: 1.5px 0;
	text-decoration: none;
}
.foot-info .foot-btn > div > a >img,
.foot-info .foot-btn > div > img{ height: 27px;}
.foot-info .foot-btn > div > a > p{
	margin-top: 2px;
}
.foot-info .foot-btn > div.foot-btn-dial> a > p > span,
.foot-info .foot-btn > div.foot-btn-dial> p > span{ letter-spacing: -3.5px; }
.foot-info .foot-btn > div.foot-other a{ display: block; }

.foot-info .foot-access{}
.foot-info .foot-access > ul{
	font-size: 0;
}

.foot-info .foot-access > ul > li{
	color: #ffffff;
	display: inline-block;
	font-size: 0;
	margin-top: 10px;
	vertical-align: middle;
	width: calc( ( 100% - 10px ) / 2 );
}
.foot-info .foot-access > ul > li:first-of-type,
.foot-info .foot-access > ul > li:nth-of-type(2){ margin-top: 0; }
.foot-info .foot-access > ul > li:nth-of-type(even){ margin-left: 10px; }

.foot-info .foot-access > ul > li a{ text-decoration: none; }
.foot-info .foot-access > ul > li a,
.foot-info .foot-access > ul > li > span{
	color: #ffffff;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
	vertical-align: middle;
}
.foot-info .foot-access > ul > li a:first-of-type{
	background-color: #ffffff;
	border-radius: 2px;
	color: #051c31;
	display: inline-block;
	margin-right: 10px;
	padding: 2px;
	text-align: center;
	max-width: 180px;
	width: 40%;
}

.foot-info .foot-info-close{
	font-size: 100px;
	position: absolute;
	top: -20px;
	right: 5px;
	width: 40px;
	height: 40px;
	border: 3px solid #accdec;
	background-color: #ffffff;
	border-radius: 100%;
}

.foot-info .foot-info-close:before,
.foot-info .foot-info-close:after{
	content: '';
	background-color: #39a9d6;
	position: absolute;
}

.foot-info .foot-info-close:before{
	top: 15px;
	left: 7px;
	width: 20px;
	height: 5px;
	transform: rotate(45deg);
}
.foot-info .foot-info-close:after{
	top: 7px;
	left: 15px;
	width: 5px;
	height: 20px;
	
	transform: rotate(225deg);
}

/*=====================================================
	
料金表修正

=====================================================*/
@media print, screen and (min-width: 768px) { span.price-td{ display: inline-block;} }

/*=====================================================
	
paraLink
スクロール対応

=====================================================*/
@media print, screen and (max-width: 767px) { #wrapper.visible767{ overflow-y: visible;} }

/*=====================================================
	
メニューレイアウト変更

=====================================================*/
ul.other_list li.m_navi.navi_list04{ width: 18%; }
@media print, screen and (max-width: 1170px) { .br1170{ display: none; } }

/*=====================================================
	
story.html
back、nextボタン復活

=====================================================*/
img.slide-arrow{ pointer-events: auto; }