@charset "UTF-8";

/*
========================================

	nav_jc.css
    各サイトごとに自由に設定
    
========================================
*/

/*----------------------------------

	Bootstrap modify and reset

----------------------------------*/

/*
ナビゲーション設定 
bootstrap.cssを上書きするセレクタのみ転記
*/

/*----------ベース*/

.navbar {/*---bootstraptheme.css---line3920*/
    padding: 0;
    z-index: 1030 !important;
    border-bottom: 1px solid rgba(36,44,151,0.25);
    border-bottom:1px solid #d2d2de;
}

/*----------ロゴ*/

.navbar-brand {/*---bootstraptheme.css---line3954*/
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 0;
}

/*----------ナビゲーション項目（ a.nav-linkのこと ）基本の大きさ*/

 .navbar-expand-lg .navbar-nav .nav-link {/*---bootstraptheme.css---line4165*/
    padding-right: 2rem;
    padding-left: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
	color:#252525 ;
     /*border: 1px dotted #000;ガイド*/
}

@media (min-width: 992px) {
	
	ul.navbar-nav {	
		/*margin-top: 32px;-----ul.subがある場合*/
        border-bottom: 1px solid rgba(36,44,151,0.25);
        border-bottom:1px solid #d2d2de;
	}

	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 8px;
		padding-left: 8px;
		/*min-width: 160px;*/

		/*
		font-size:1rem=16px・line-height:1.75=28px …の場合
		*/

		/*header navの高さ96px
		padding-top: 34px;
		padding-bottom: 34px;*/

		/*header navの高さ80px
		padding-top:26px;
		padding-bottom: 26px;*/

		/*header navの高さ64px
		padding-top:18px;
		padding-bottom: 18px;*/

		/*header navの高さ112px
		padding-top:42px;
		padding-bottom: 42px;header navにborderがある場合はその分を引く*/

        /*header navの高さ112px + ul.sub(高さ30px)がある場合
		padding-top:26px;
		padding-bottom: 26px;header navにborderがある場合はその分を引く*/

		/*
		font-size:1rem=15px・line-height:2=30px …の場合
		*/

		/*header navの高さ80px*/
		line-height: 2;
		padding-top:25px;
		padding-bottom: 24px;/*header navにborderがある場合はその分を引く*/
        
	}
    
}

@media (min-width: 1200px) {

	 .navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 16px;
		padding-left: 16px;
	}

}

@media (min-width: 1600px) {

	 .navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 32px;
		padding-left: 32px;
	}

}

/*----------ハンバーガーメニュー*/

.navbar-toggler {/*---bootstraptheme.css---line4005*/
    background-color: transparent;
    /*padding:20px 20px 28px 20px; header navが72pxの場合*/
    /*padding: 8px 16px 16px 16px;header navが48pxの場合*/
	padding: 12px 20px 20px 20px;/*header navが56pxの場合*/
    border: none;
    border-radius: 0;
}

.icon-bar {
	width: 22px; 
	height: 1px;
	background-color: #171c61;
	display: block;
	transition: all .4s;
	margin-top: 7px
}

.navbar-toggler .top-bar {
	animation: active-menu-bar01 .4s forwards;
}

@keyframes active-menu-bar01 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(8px) rotate(0);}
	100% {transform: translateY(8px) rotate(45deg);}
}

.navbar-toggler .middle-bar {opacity: 0;}
 
.navbar-toggler .bottom-bar {
	animation: active-menu-bar02 .4s forwards;
}

@keyframes active-menu-bar02 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(-8px) rotate(0);}
	100% {transform: translateY(-8px) rotate(-45deg);}
}

.navbar-toggler.collapsed .top-bar {
	animation: menu-bar01 .75s forwards;
}

@keyframes menu-bar01 {
	0% {transform: translateY(8px) rotate(0);}
	50% {transform: translateY(0) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}

.navbar-toggler.collapsed .middle-bar {opacity: 1;}

.navbar-toggler.collapsed .bottom-bar {
	animation: menu-bar02 .75s forwards;
}

@keyframes menu-bar02 {
	0% {transform: translateY(-8px) rotate(0);}
	50% {transform: translateY(0) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}

span.closeBtn {
    display: block;
    width: 28px;
    height: 28px;
	line-height: 28px;
	border-radius: 2px;
	
	margin-top: 32px;
	margin-bottom: 32px;
    position: relative;
	background: #242c97;
    cursor: pointer;
	vertical-align: middle;
	z-index: 999;/*closeBtn*/
}

span.closeBtn::before {
    position: absolute;
    display: block;
    content: "";
    line-height:inherit !important;
    
    width: 22px;
    height: 22px;    
    top: 50%; 
    left:50%;
    transform: translateY(-50%) translateX(-50%);
    
	background-image: url(/common/cmn_img/icon_jc.svg);/*アイコン画像*/
    background-repeat: no-repeat;
	background-size: calc(1200 / 100 * 100%) calc(1200 / 100 * 100%);
    background-position: calc(900 / 1100 * 100%) calc(900 / 1100 * 100%);
}

/*------------------------------------------------------------------header*/

header h1 {
    font-size: 0;/*ロゴが入るだけ*/
    padding-left: 0.75rem;
}

header h1 img.logo {
    width: 224px;
    max-width: 100%;
    height: auto;
}

/*p.copyがある場合

header p.copy {
    display: none;
}
*/

@media (min-width: 992px) {
    
	header h1 {
		padding-left: 1rem;
		/*margin-top: 32px;-----p.copyがある場合*/
	}
	
	header h1 img.logo {
        width: 256px;
    }
	
	/*
    header p.copy {
		display: inline;
		height: 32px;
		line-height: 32px;
		position: fixed;
		left:0;
		top:0;
		z-index: 9999;
		font-size: 0.8125rem;
		margin-left: 1rem;
	}
    */
}

@media (min-width: 1200px) {
	header h1 img.logo {
        width: 256px;
    }
}

/*p.copyがある場合

@media (min-width: 1440px) {
    
	header h1 {
		margin-top: 0;p.copyを横並びに
	}

	header p.copy {
		display:inline;
		position: relative;
		left:auto;
		top:auto;
		height: auto;
		line-height: 1.5;
	}

}*/

/*----------nav*/

header nav {
	height: 56px;
    background: #fff;/*これがないと透ける*/
	/*border: 1px dotted #000;ガイド*/
    /*border-bottom: 3px solid #f5adc5;=#e6326e*0.4*/
}

ul.navbar-nav {
	overflow: auto !important;
	background: #fff;
}

ul.navbar-nav li {
	/*font-size: 125%;
    font-size: 0.9375rem !important;*/
}

/*----------headerにサブナビゲーションがある場合

ul.sub li {
	height: 76px;
	line-height: 76px;
	text-align: center;
	color: #fff;
}

ul.sub li a {
	display: block;
    width: 100%;
    height: 100%;
}

@media (min-width: 992px) {
	
	ul.navbar-nav ul.sub {-----高さ32px見込み
		position: absolute;
		top:0;
		right: 0;
		background: #fff;	
		border-top: 1px solid #ed6f99;
        border-right: 1px solid #ed6f99;
	}
	
	ul.navbar-nav ul.sub li {
        display: inline-block;
        height: 30px;
        line-height: 28px;
		min-width: 160px;
		border-left: 1px solid #ed6f99;
        border-bottom: 1px solid #ed6f99;
        background: #fff;
        color: #ed6f99;
        font-size: 0.875rem !important;
	}
    
	ul.navbar-nav li ul.sub li a {
        display: block;
        font-size: 0.875rem !important;
	}
    
    ul.navbar-nav li ul.sub li a span.icon {
        line-height: inherit !important;
    }

}*/

/*----------ドロップダウンメニュー*/

header .dropdown-menu {
    margin: 0;
    padding: 0;
    border: 0;
}

header .dropdown-menu.show {
    background: #f2f2f7;
}
/*
header .megaInner {
    background: #c33;
}*/

header .dropdown-menu.show .container {
    /*background:#fff !important;*/
}

.megamenu-li {position: static;}

.megamenu {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    /*padding:1rem;---全体の余白*/
    background: #ccc;
    border-radius: 0;
}

.dropdown-menu.show  {
    -webkit-animation: fade .5s forwards;
    animation: fade .5s forwards;
}

a.dropdown-toggle {text-indent: 1rem;}

.megamenu-li.show .dropdown-toggle {/*展開中のカテゴリタイトル*/
    /*background-image: url("/common/cmn_img/bg_pink03.jpg");
    background-size: cover;
    background-position: top left;*/
    background: #242c97;
    color: #fff !important;
}

.megamenu-li .dropdown-toggle::after {/*カテゴリタイトル横のアイコン*/
    display: inline-block;
    margin:0 0 3px 0;
	vertical-align:middle !important;

    width:1.3125rem;
    height:1.3125rem;

	border:none;/*------------重要：bootstrapを上書きするため必須*/
	text-align:center;
	
	background-image: url(/common/cmn_img/icon_jc.svg);/*アイコン画像*/
    background-repeat: no-repeat;
    background-size: calc(1200 / 100 * 100%) calc(1200 / 100 * 100%);
    background-position: 0 calc(100 / 1100 * 100%);
}

.megamenu-li.show .dropdown-toggle::after {/*展開中のカテゴリタイトル横のアイコン*/
	background-image: url(/common/cmn_img/icon_jc.svg);/*アイコン画像*/
    background-repeat: no-repeat;
    background-size: calc(1200 / 100 * 100%) calc(1200 / 100 * 100%);
    background-position: calc(700 / 1100 * 100%) 0;
}

header .dropdown-item {
    padding: 0;
    white-space: normal;
    color: #333;
}

ul.navbar-nav li a.nav-link {
    font-size: 1rem;/*大カテゴリータイトル*/
}

ul.navbar-nav li p.categoryTop {/*サイトによってはPCでの表示のみ*/
    color: #fff !important;
	width: 100%;
	/*padding:0.5rem 1rem;*/
    padding: 0.5rem 1rem 0 1rem;
	max-width: 240px;
	margin: auto;
	border-radius: 4px;
	font-weight: 500;
	position: absolute;/*col-* position:relative*/
    /*top: calc(50% - 1.5rem);*/
    top: calc(50% - 3.5rem);
	left:0;
	right: 0;
	text-align: center;
}

ul.navbar-nav li p.categoryTop span.subText {
    color: #fff !important;
    font-size: 2rem;
    font-family: 'Oswald', sans-serif;
}

ul.navbar-nav li p.categoryTop span.icon.left {
    color: #fff !important;
    padding: 0;
}

header img.ofi {/*line:1684---img.ofi 必須*/
	width: 100%;
	height: 80px;
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;';/*for IE only*/
	/*opacity: 0.75;*/
}

header div.titleImgBox {
    display: none;
}

.dropdown-item:hover, .dropdown-item:focus {background: none; color: inherit;}
.dropdown-item.active, .dropdown-item:active {background: none;color: inherit;}

@media (max-width: 991.98px) {
	
	.navbar-expand-lg .navbar-nav .nav-link {
		color: #fff !important;/*-----------line532を上書き*/
	}

	ul.navbar-nav {background: #171c61;}

	ul.navbar-nav li p.categoryTop {width: 60%;}/*サイトによってはPCでの表示のみ*/

}

@media (min-width: 992px) {
    
    header nav {
        /*height: 112px;*/
        height: 80px;
        /*
        max-width: 1920px; containerと合わせる場合はここで指定する
        margin: 0 auto;
        */
    }

    ul.navbar-nav li a.nav-link {
        font-size: 0.9375rem;/*大カテゴリータイトル*/
    }

    /*お問い合わせボタン*/

    header a.contact {
        line-height: 48px !important;
        padding:16px 8px !important;
        min-width: 144px;
    }

     header a.contact span.btnBox {
        display: block;
        width: 100%;

        color:#fff !important;
        background: linear-gradient(135deg, #17a2b8 0%, #242c97 50%,#17a2b8 100%);
        background-position-x: 0%;
        background-position-y: 0%;
        background-size: auto;
        background-size: 100% 600%;
        background-position: 0 0;
        transition: background-position 0.4s;
    }

     header a.contact:hover span.btnBox {
        background: linear-gradient(135deg, #17a2b8 0%, #242c97 50%,#17a2b8 100%);
        background-position-x: 0%;
        background-position-y: 0%;
        background-size: auto;
        background-size: 100% 600%;
        background-position: 0 100%;
        transition: background-position 0.4s;
        filter: brightness(105%) saturate(110%);
    }

    header .dropdown-menu.show {   /*min-width: 1200pxに移動*/
        /*background-repeat: repeat-y;
        background-size: 30% 100%;
        background-position: 0 0;
        background-image: linear-gradient(#999,#999);*/
    }

    header .dropdown-menu.show .container {
        padding:0;
    }

    .megamenu-li.show .dropdown-toggle::after {/*展開中のカテゴリタイトル横のアイコン*/
        background-position: calc(100 / 1100 * 100%) calc(100 / 1100 * 100%);
    }

    .megamenu-li .dropdown-toggle::after {/*カテゴリタイトル横のアイコン*/
        margin-left: 0.25rem;
    }

    .megamenu-li.show .dropdown-toggle {/*展開中のカテゴリタイトル*/
        background: none;
        color:#171c91 !important;
    }

    header img.ofi {/*line:1796---img.ofi 必須*/
        width: 100%;
        height: 100%;

        /*width: 100%;
        height: 180px;*/

        object-fit: cover;
        object-position: center;
        font-family: 'object-fit: cover; object-position: center;';/*for IE only*/
    }

    header div.titleImgBox {
        display: block;
        /*background-image: url("/common/cmn_img/bg_pink03.jpg");
        background-size: cover;
        background-position: top left;*/
        background: #171c61;
    }

}

@media (min-width: 1200px) {
    
     header a.contact {
         min-width: 180px;
    }
    
    header .dropdown-menu.show {   
        background-repeat: repeat-y;
        background-size: 25% 100%;
        background-position: 0 0;
        background-image: linear-gradient(#171c61,#171c61);
    }
    
}

/*header megamenu 内のリスト設定*/

.megamenu .overall {
    padding: 1rem 1.5rem;
}

.megamenu dl.nav_jc {
	padding-bottom: 1.5rem;
}

.megamenu ul.company {
	padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.megamenu dl.nav_jc dt {
	/*padding:0.5rem 1rem;*/
	margin-top: 0;
    padding: 0 1rem 0.5rem 1rem;
    border-bottom: 2px solid #d2d2de;/*=#e6326e*0.15*/
}

.megamenu dl.nav_jc dt span.small {
	color:  #fbe0e9;/*=#e6326e*0.15*/
	font-weight: 700;
	margin-left: 1rem;
}

.megamenu dl.nav_jc.category_M dt {/*中カテゴリータイトル*/
    font-size: 1rem;
	color: #171c91;
	font-weight: 500;
	margin-left: 0;
}

.megamenu dl.nav_jc dd ul li {
	padding-top:1.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.megamenu dl.nav_jc dd ul li:first-child {
    padding-top:0;
} 

.megamenu ul.category_M li {
	padding-top:1.5rem;
	padding-left: 1rem;
}

.megamenu ul.category_M li:first-child {
    padding-top:0;
} 

.megamenu dl.nav_jc dd ul.category_S li.title_S {/*小カテゴリータイトル*/
    padding-top:0;
    padding-bottom: 1.5rem;
}

.megamenu dl.nav_jc dd ul.category_S li.title_S ul li {/*小カテゴリー項目*/
	padding-top:1rem;
}

.megamenu ul.nav_jc {
	padding-bottom: 1rem;
	margin-top: 1rem;
}

.megamenu ul.nav_jc.mt-0 {
	margin-top: 0;
}

.megamenu ul.nav_jc li {
	padding-top: 1rem;
	padding-left: 1rem;
}

.megamenu dl.nav_jc dd ul li.typeBox.recruit {/*採用情報(992px以下でも表示されている)*/
    padding-top: 0.5rem !important;
}

.megamenu dl.nav_jc dd ul li.typeBox.recruit a{/*採用情報(992px以下でも表示されている)*/
    border: 2px solid #d2d2de;
}

@media (min-width: 992px) {
    
    .megamenu .overall {
        padding: 0;
        min-height: 320px;

        display: flex;
        flex-direction: column; /* 子要素を縦方向に揃える */
        justify-content: center; /* 子要素を中央に配置 */
        align-items: center;  /* 子要素を中央に配置 */
        -ms-flex-direction: inherit; /*for IE only   ...これはimg.ofiのためだけの設定...*/
    }

    .megamenu ul.business,
	.megamenu ul.cases,
    .megamenu ul.company,
    .megamenu ul.recruit {
	    width: 100%;/*.overallがd-flexの場合必須*/
    }  

    /*.megamenu ul.cases {
        padding-top:1.5rem;
    }*/
    
    .megamenu dl.nav_jc {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-bottom: 1.5rem;
        /*margin-top: 0;*/
    }

    .megamenu dl.nav_jc.category_M dt {
        font-size: 0.9375rem;
        /*padding:0.25rem 0.5rem !important;*/
        margin-top: 0;
        margin-left: 0;
    }

    .megamenu dl.nav_jc dd ul li {
        padding-top:1rem;
        padding-right: 0;
        font-size: 0.9375rem;
    }

    .megamenu ul.category_M li {
        padding-top:1.5rem;
        padding-right: 0;
        font-size: 0.9375rem;
    }

    .megamenu dl.nav_jc dd ul.category_S li.title_S {/*小カテゴリータイトル*/
        padding-bottom: 1rem;
        font-size: 0.9375rem;
    }

    .megamenu dl.nav_jc dd ul.category_S li.title_S ul li {/*小カテゴリー項目*/
        padding-top:0.875rem;
        font-size: 0.875rem;
    }

    .megamenu ul.nav_jc {
        margin-top: 0;
    }

    .megamenu ul.nav_jc li {
        padding-top: 0;
        padding-bottom: 1rem;
    }

    .megamenu div.related_typeBox {/*関連情報のinclude以外(992px以上のみ)*/
        margin-left: 1.5rem;
        margin-right: 0.5rem;
        margin-bottom: 0.25rem;
        font-size: 0.9375rem;
    }

    .megamenu div.related_typeBox a,
    .megamenu ul li.typeBox a{
        border: 2px solid #d2d2de;
        padding: 0.5rem 1rem !important;
    }
    
    .megamenu dl.related dd ul li.typeBox.recruit {/*採用情報(992px以下でも表示されている)*/
        margin-top: 1.5rem;
        padding-bottom: 0;
    }


}

/*------------------------------------------------------------------headerここまで*/

/*------------------------------------------------------------------スクリーン*/

div.screen {
	width: 100vw;
	height: 0;
	position: fixed;
	z-index: 999;/*screen*/
	background:rgba(0,0,0,1);
	display: none; /*cmn.js*/
	opacity: 0; /*cmn.js*/
}

@media (min-width: 992px) {
  
    div.screen {
        width: 100vw;
        height: 0;
        position: fixed;
        z-index: 999;/*screen*/
        background:rgba(255,255,255,0.35);
        display: none; /*cmn.js*/
        opacity: 0; /*cmn.js*/
    }

    div.screen.shade { 
        height: 100vh;
        display: block; 
        opacity: 1;

        -webkit-animation: fade 1s forwards;
        animation: fade 1s forwards;
    }
    
}   

@-webkit-keyframes fade {
    0% {opacity:0;}
    100% {opacity:1;}
}

@keyframes fade {
    0% {opacity:0;}
    100% {opacity:1;}
}

/*------------------------------------------------------------------スクリーンここまで*/


/*------------------------------------------------------------------aside*/

/*992px*/

aside .overall ul.row {
    margin: 32px auto;
    padding:0 0 0 1rem;
    max-width: 296px;
    background: rgba(255,255,255,1) !important;
}

aside ul.row li a {
    font-size: 0.9375rem !important;
    padding: 0.875rem 0;
    border: 2px solid #fff;
    transition: all .2s linear;
    color: #333;
}

aside ul.row li a:hover {
    border: 2px solid #f2f2f7;
    transition: all .2s linear;
    background: #f2f2f7;
}

aside .col-lg-1,
aside .col-lg-2,
aside .col-lg-3,
aside .col-lg-4,
aside .col-lg-5,
aside .col-lg-6,
aside .col-lg-7,
aside .col-lg-8,
aside .col-lg-9,
aside .col-lg-10,
aside .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
}

aside ul.row a {
    white-space: normal;
}

aside dl.nav_jc dt {
    font-size: 0.9375rem !important;
	margin: 0;
    padding: 0.5rem;
    color: #171c61;
}

aside .dropdown-item {
    padding: 0;
}

aside dl.nav_jc.category_M dt.blank {
	margin-top: 5rem !important;
}

aside ul.category_S li.title_S {
    color: #171c91 !important;
    font-size: 0.875rem !important;
}

aside ul.category_S li.title_S span.title_cS {/*小カテゴリータイトル*/
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

aside ul.category_S li.title_S ul  {/*小カテゴリーの範囲*/
    /*margin-top: 0.5rem;*/
}

aside ul.category_S li.title_S ul li {/*小カテゴリー項目*/
    font-size: 0.875rem !important;
    /*background: #ccc;*/
}

aside dl.related dd ul {
    /*margin-top: 0.5rem;*/
}

aside dl.related dd ul li {/*関連情報*/
}

aside dl.related dd ul li.typeBox {/*関連情報*/
    margin-top: 0.5rem;
	padding-bottom: 0;
}
	
aside div.related_typeBoxted_typeBox {/*関連情報のinclude以外*/
	margin-left: 0;
    margin-right: 0;
    margin-bottom: 0.25rem;
}

aside div.related_typeBox a {/*関連情報*/
    border: 2px solid #d2d2de !important;
    padding: 1rem;
    margin-top: 0.5rem;
}

aside  ul li.typeBox a {/*きばん本舗*/
    border: 2px solid #d2d2de !important;
    padding: 1rem;
}

aside div.related_typeBox a:hover,
aside  ul li.typeBox a:hover {
    border: 2px solid #d2d2de !important;
    background: #f2f2f7;
}

aside dl.related dd ul li.typeBox.recruit {/*採用情報(992px以下でも表示されている)*/
    margin-top: 0.5rem;
	padding-bottom: 0;
}

aside a.current {
    background: #171c61 !important;
    border: 2px solid #171c61 !important;
    /*transition: all .4s ease;*/
    color: #fff !important;
}

aside a.current:hover{
    border: 2px solid #171c61 !important;
    /*transition: all .4s ease;*/
    color: #fff !important;
}

aside .overall ul.company {
    /*padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;*/
}

aside ul.company li ul.category_M {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

aside ul.recruit li dl.category_M {
    margin-bottom:2rem !important;
}

/*------------------------------------------------------------------asideここまで*/


/*------------------------------------------------------------------CTA お問い合わせへ移動するボタン

kayoinomori参照

div.ctaBox {
}

div.cta {
}
*/


/*------------------------------------------------------------------footer*/

footer {
	width: 100%;
	position: relative;
	background: #111;
	z-index: 4;/*footer*/ 
}

footer .pageTop { 
    display: block;
    width: 56px;
    height: 56px;
    position: fixed;
    right: 0;
    bottom: 0;
    background:#171c61;
    line-height: 62px;
    z-index: 999;/*pageTop*/
    border-radius: 2px;
    /*text-align: center;*/
    cursor: pointer;
	vertical-align: middle;
    overflow: hidden;/*for IE footerの横スクロール防止*/    
    opacity: 0.85;
}

footer .pageTop.attach { 
    position: absolute;
    top:0;
    bottom: auto;
    background: rgba(0,0,0,0);
    opacity: 1;
}

footer .pageTop::before {
    position: absolute;
    display: block;
    content: "";
    line-height:inherit !important;
    
    width: 32px;
    height: 32px;
    
    top: 50%; 
    left:50%;
    transform: translateY(-50%) translateX(-50%);
    
    background-image: url("/common/cmn_img/icon_jc.svg");/*アイコン画像*/
    background-repeat: no-repeat;
	background-size: calc(1200 / 100 * 100%) calc(1200 / 100 * 100%);
	background-position: calc(400 / 1100 * 100%) calc(800 / 1100 * 100%);/*nine05*/
}

footer section.ft_jc {
    background: #111;
    color: #fff;
    padding-bottom: 24px;
    display: none;/*cmn.js*/
 }

footer section.ft_group {
	background: #222;
    padding: 1rem !important;
}

footer section.ft_policy {
	background: #111;
    padding: 1rem !important;
}

footer section.ft_policy ul.row li a {
    color: #ccc;
}

footer section.ft_jc ul.row li {
    font-size: 0.875rem !important;
}

footer section.ft_jc ul.row li a {
    display: block;
    width: 100%;
}

footer section.ft_jc ul.row li a.title {
    text-align: center;
    padding: 1rem 0;
}

footer section.ft_jc div.overall a {
    font-size: 0.8125rem !important;
    color: #f2f2f7;
}

footer section.ft_jc div.overall span.eight01 {/*= li.title_S*/
    font-size: 0.8125rem !important;
    margin-bottom: 0.5rem;
    color: #f2f2f7;
}

@media (min-width: 992px) {
    
    footer section.ft_jc {
        padding-bottom: 56px;
        padding-top: 56px;
     }
    
    footer section.ft_jc ul.row li a {
        padding:0 1rem 0.5rem 0;
        font-weight: 300;
    }
    
    footer section.ft_jc ul.row li a.title {
        text-align: left;
        margin-bottom:0.5rem;
        padding: 1rem 1rem 0.5rem 1rem;
        border-bottom: 1px solid #444;
    }

}

footer img.logo {
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 180px;
}

footer img.logo.ta {
    max-width: 144px;
}

footer div.titleImgBox,
footer div.ofiBox {
    display: none;
}

/*footer内のtab(要調整)*/

/*.rowは使用しない----この場合、iOSで崩れる*/

footer ul.ft_tabBox {
	margin: 0;
	padding: 0;
	width: 100% !important;
    font-size: 0.9375rem;
	
	display: flex;
	/* justify-content: space-between;子要素の最初と最後のアイテムは端に、残りは等間隔で配置 */
	flex-wrap: wrap;/* 子要素を横複数行に配置 */
	align-items: stretch;/* 子要素を親要素の高さ（または幅）いっぱいに配置 */
}

footer ul.ft_tabBox li {
    min-height: 48px;
    width: 100%;
}

footer ul.ft_tabBox li a {
	width:calc(100% - 2px);
    margin:0 1px ;
	height: 100%;
	/*display:table;--------------edgeでpaddingのバグあり*/
	transition:all .2s ease;
	/*margin: auto;*/
	vertical-align: middle;
	
	/*flexCenter*/
	display: flex;
    flex-direction: column; /* 子要素を縦方向に揃える */
    justify-content: center; /* 子要素を中央に配置 */
    align-items: center;  /* 子要素を中央に配置 */
}

footer ul.ft_tabBox li a:hover {
	cursor: pointer;
}

footer ul.ft_tabBox li a small.opacity50 {
	font-weight: 400;
}

footer ul.ft_tabBox li span.icon {/*=icon icon-lg four06 left middle inner py-3 px-2 px-lg-3 text-center*/
	text-align: center;
	padding: 1rem 0.5rem !important;
}

footer ul.ft_tabBox li.reset {
	cursor: pointer;
	transition:all .2s ease;
	min-height: 62px;
}

footer ul.ft_tabBox li span.icon::before {/*非表示*/
	display: none;
} 

@media (min-width: 992px) {
	
    footer ul.ft_tabBox li {
        min-height: 48px;/*footer img.logoの実寸に合わせる*/
        width: auto;
        padding-left:1.5rem;
        padding-right: 1.5rem;
    }

    footer ul.ft_tabBox li span.icon {
        width: 100%;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        /*border: 1px dotted #000;ガイド*/
    }

    footer ul.ft_tabBox li span.icon::before {/*表示*/
        display: block;
    } 
    
/*
footer .megaInner ul li {
    display: inline;
    min-height: 0 !important;
}

footer ul.megaInner li span.icon {
    padding: 0 !important;
}*/

footer .megamenu {
    display:none;
}


}/*@media end*/

/*footer内のtab(要調整)-----------------------ここまで*/

/*footer内のグループ会社リンク*/

footer ul.group li {
    font-size:75%;
    color: #f2f2f7;
}

footer ul.group li a img {
	max-height:32px;
	width: auto;
}

footer ul.group li a img.logo_long {
    max-height: 26px;
    margin:2px 0 4px 0 !important;
}

footer dl.company_name {
    text-align: center;
    margin-bottom: 3rem;
}

footer dl.company_name dt {
    font-size:93.75%;
    margin-bottom: 1rem;
}

footer dl.company_name dt.groupCompany {
}

footer dl.company_name dd {
    font-size:87.5%;
    margin-bottom: 1rem;
}

footer dl.company_name dd span {
    display: block;
}

footer a.shop_link {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    padding: 0.5rem 1rem;
    /*border: 1px solid #333;*/
    background: rgba(255,255,255,0.05);
}

@media (min-width: 992px) {

    footer dl.company_name {
        text-align: left;
        padding: 0.5rem;
        /*border: 1px solid #444;*/
    }
    
    footer dl.company_name dd {
        display: block; 
        width: 100%;
        margin-bottom: 0.25rem;
        overflow: hidden;
    }
    
    footer dl.company_name dd span {
        display:inline-block;
        white-space: nowrap;
    }
    
    footer dl.company_name dd span.area {
        display:block;
        float:left;
        min-width: 108px;
    }
    
    footer a.shop_link {
        margin: 0 auto 0 0;
        padding-left: 1rem;
        padding-right: 1rem;
    }

}

/*footer内のグループ会社リンクここまで*/
        
 /*footer内のサイトポリシー*/

footer p.copyright {
    padding:1rem 0.5rem 0 0.5rem;
    font-size:0.625rem;
    color: #fff;
    text-align: center;
    border-top:1px solid #444;
}

footer ul.policy {
    margin-bottom:1rem;
}

footer ul.policy li {
    margin: 0.25rem 0;
    padding:0.5rem;
    font-size:75%;
    color: #fff;
    text-align: center;
}

@media (min-width: 1200px) {

footer p.copyright {
    padding:0.25rem 0;
    font-size:75%;
    color: #fff;
    text-align: left;
    border-top:0;
}
    
footer ul.policy {
    margin-bottom:0;
}
    
footer ul.policy li {
    margin: 0.25rem 0;
    padding:0 0.5rem;
    border-left:1px solid #444;
}
    
footer ul.policy li:first-child {
    border-left:0;
}

}

/*footer内のサイトポリシーここまで*/

/*------------------------------------------------------------------footerここまで*/
