﻿/* ===========================================
	TBS v9 Groval Footer (idx/di2)
=========================================== */

/*	di2 common header
============================== */

.di2 header.header {
	text-align:left;
}
.di2 header.header h1 {
	color:#3B3F4A;
	line-height:1.1;
	letter-spacing:0.1em;
}
.news-info.di2 header.header h1 {
	letter-spacing:0;
}
@media all and (min-width: 1200px) {
.di2 header.header {
	max-width:1200px;
	margin:0 auto;
}
}
@media all and (min-width: 992px) {
.di2 header.header {
	padding-top:131px;
	margin-bottom:32px;
}
.di2 header.header h1 {
	font-size:250%;
}
}
@media all and (max-width: 991.98px) {
.di2 header.header {
	padding-top:96px;
	margin:0 5.3333333333% 20px;
}
.di2 header.header h1 {
	font-size:5vw;
}
}
@media all and (max-width: 575.98px) {
.di2 header.header h1 {
	font-size:6vw;
}
}


/*	copyright
============================== */
div.copyright p,
div.copyright p small a {
	color:#fafafa;
}
div.copyright p {
	font-size:75%;
	line-height:1.5;
}
div.copyright p > small {
	display:block;
}
@media all and (min-width: 992px) {
	div.copyright p {
		text-align:center;
	}
	div.copyright p > small {
		padding-bottom:64px;
	}
	div.copyright p a:hover {
		text-decoration:none;
	}
}
@media all and (max-width: 991.98px) {
	div.copyright p {
		padding-left:5.3333333333vw;
		padding-right:calc(76px + 5.3333333333vw);
		text-align:left;
	}
	div.copyright p > small {
		padding-bottom:92px;
	}
}



/*	pagetop
============================== */
div.pagetop {
	text-align:right;
}
div.pagetop a {
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background-color:#0050ff;
	text-align:left;
	border-radius:50%;
}
div.pagetop a:after {
	content:"";
	display: inline-block;
	border-top: 2px solid #fafafa;
	border-left: 2px solid #fafafa;
	transform: rotate(45deg);
}
div.pagetop a span {
	display: inline-block;
	text-indent:110%;white-space:nowrap;overflow:hidden;
	width:0;
}
@media all and (min-width: 992px) {
div.pagetop {
	text-align:right;
	max-width:1200px;
	padding-top:96px;
	padding-right:30px;
	margin:0 auto 20px;
}
div.pagetop a {
	width:80px;
	height:80px;
}
div.pagetop a:after {
	width: 16px;
	height: 16px;
}
div.pagetop a span {
	height:6px;
}
}
@media all and (max-width: 991.98px) {
div.pagetop {
	padding-top:56px;
	padding-right:5.3333333333vw;
}
div.pagetop a {
	width:56px;
	height:56px;
}
div.pagetop a:after {
	width: 12px;
	height: 12px;
}
div.pagetop a span {
	height:4px;
}
}



/*	background
============================== */
::-moz-selection {
	color: #fff;
	background-color:#0050ff;
}
::selection {
	color: #fff;
	background-color:#0050ff;
}

body {
	color:#3b3f4a;
	background-color:#f5f5fa;
	text-align:center;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	font-family:"Noto Sans JP","Helvetica Neue","游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
}

main {
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
@media all and (min-width: 992px) {
.idx main {
	padding-top:120px;
}
}
@media all and (max-width: 991.98px) {
.idx main {
	padding-top:80px;
}
}



/*	.footer
============================== */

div.gfooter {
	color:#fff;
	background-color:#171C26;
}
div.gfooter ul li a {
	color:#fff;
	text-decoration:none;
}
div.gfooter div.gfooter-inner {
	text-align:left;
}
@media all and (min-width: 992px) {
div.unit {
	border-top-left-radius: 60px;
	border-top-right-radius: 60px;
	padding-top:96px;
}
body.idx div.gfooter.unit {
	padding-top:120px;
}
div.gfooter div.gfooter-inner {
	max-width:1200px;
	margin:0 auto;
}
}
@media all and (max-width: 991.98px) {
div.unit {
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	padding-top:56px;
}
}

@media all and (min-width: 1400px) {
}
@media all and (min-width: 1200px) and (max-width: 1399.98px) {
}
@media all and (min-width: 992px) and (max-width: 1199.98px) {
}
@media all and (min-width: 768px) and (max-width: 991.98px) {
}
@media all and (min-width: 576px) and (max-width: 767.98px) {
}
@media all and (max-width: 575.98px) {
}





/*	.gf-sns
============================== */

.gf-sns aside {
	border-top-width:1px;
	border-bottom-width:1px;
	border-style:solid;
	/**/
	display:flex;
}
.gf-sns aside h2 {
	line-height:1.25;
}
.gf-sns aside ul {
	display:flex;
	align-items:center;
	justify-content:space-around;
}
.gf-sns aside ul li a {
	display:flex;
}
.gf-sns aside ul li a:before {
	content:"";
	display:inline-block;
	width:48px;
	height:48px;
	background-color:#fff;
	border-radius:50%;
	overflow:hidden;
	background-image:url(/um/img/sns_logos.svg);
	background-size:300% 300%;
	background-repeat:no-repeat;
	background-position:left top;
}
.gf-sns aside ul li.gf-sns-tw a:before {
	background-color:#fff;
	background-image:url(/um/img/sns_logos_blk.svg);
	background-position:left top;
}
.gf-sns aside ul li.gf-sns-fb a:before {
	background-color:#1877f2;
	background-position:center bottom;
}
.gf-sns aside ul li.gf-sns-yt a:before {
	background-color:#f00;
	background-position:left center;
}
.gf-sns aside ul li.gf-sns-ln a:before {
	background-color:#00b900;
	background-position:right top;
}
@media all and (min-width: 992px) {
.gf-sns aside {
	border-color:#3B3F4A;
	padding:50px 0;
	align-items:center;
	justify-content:space-around;
}
.gf-sns aside ul li:not(:last-child) {
	margin-right:40px;
}
.gf-sns aside ul li a {
	align-items:center;
	font-size:14px;
}
.gf-sns aside ul li a:before {
	margin-right:12px;
}
.gf-sns aside ul li a span {
	align-items:center;
}
}
@media all and (max-width: 991.98px) {
.gf-sns aside {
	border-color:#3B3F4A;
	padding:20px 0;
	flex-direction:column;
	align-items:center;
}
.gf-sns aside h2 {
	font-size:87.5%;
	margin-bottom:1em;
}
.gf-sns aside ul {
	margin-bottom:24px;
}
.gf-sns aside ul li:not(:last-child) {
	margin-right:24px;
}
.gf-sns aside ul li a {
	flex-direction:column;
}
.gf-sns aside ul li a span {
	display:none;
}
}



/*	.gf-unit
============================== */
.gf-unit h2 {
	display:none;
}
.gf-unit h3, .gf-unit a {
 	line-height:1.25;
}
@media all and (min-width: 992px) {
.gf-unit {
 	border-bottom:1px solid #3B3F4A;
 	padding:48px 0;
}
.gf-sitemap, .gf-company div div {
 	display:flex;
}
.gf-sitemap > div.gf-media, .gf-sitemap > section,
.gf-company div div ul {
 	width:25%;
}
.gf-unit h3 {
	display:flex;
	align-items:center;
	color:#EBEBF5;
	font-size:100%;
	margin-bottom:1.5em;
}
.gf-unit h3:before {
	content:"";
	display:inline-block;
	width:8px;
	height:8px;
	background-color:#0050ff;
	border-radius:50%;
	margin-right:8px;
}
.gf-media > ul {
	margin-bottom:48px;
}
.gf-unit ul li:not(:last-child) {
	margin-bottom:0.5em;
}
.gf-unit ul li {
 	margin-left:16px;
}
.gf-unit a {
 	font-size:87.5%;
}

}
@media all and (max-width: 991.98px) {
.gf-unit h3 {
	font-size:87.5%;
	padding:0 5.3333333333%;
}
.gf-unit h3 span {
	display:block;
	text-align:center;
	padding:0.8em 0;
}
div.gf-sitemap ul li a,
div.gf-company ul li a {
	position:relative;
}
div.gf-sitemap ul li a:after,
div.gf-company ul li a:after {
	content:"";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position:absolute;
	right:5.3333333333vw;
	top:50%;
	margin-top:-6px;
}
.gf-unit a {
	display:block;
 	font-size:83%;
	padding:0.8em 5.3333333333%;
}
.gf-accordion ul li:not(:last-child) {
	padding-bottom:1px;
}
.gf-media > ul,
.gf-media > ul li:not(:last-child),
.gf-accordion {
	border-bottom:1px solid #3B3F4A;
}
.gf-unit .gf-accordion a {
	background-color:#33363B;
}
.gf-company .gf-accordion div div ul:not(:last-child) {
	margin-bottom:1px;
}
}


/*	.gf-related
============================== */
div.gf-related ul {
	display:flex;
	flex-wrap:wrap;
}
div.gf-related ul li a {
	display:flex;
	align-items:center;
	line-height:1.25;
}
@media all and (min-width: 992px) {
div.gf-related {
	padding-top:48px;
}
div.gf-related ul {
	justify-content:center;
}
div.gf-related ul li:not(:last-child) {
	margin-right:32px;
}
div.gf-related ul li a {
	font-size:87.5%;
}
div.gf-related ul li a:before {
	content:"";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-right:8px;
}
}
@media all and (max-width: 991.98px) {
div.gf-related {
	padding-top:16px;
}
div.gf-related ul li {
	padding-bottom:1px;
}
div.gf-related ul li a {
	background-color:#33363B;
	font-size:83%;
	justify-content:space-between;
	height:3em;
	padding:0 12px;
}
div.gf-related ul li a:after {
	content:"";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
}
@media all and (min-width: 768px) and (max-width: 991.98px) {
div.gf-related ul li {
	width: -webkit-calc((100% - 2*1px)/3);
	width:calc((100% - 2*1px)/3);
}
div.gf-related ul li:not(:nth-child(3n)) {
	margin-right:1px;
}
div.gf-related ul li:nth-child(3n-2) a {
	padding-left:5.3333333333vw;
}
div.gf-related ul li:nth-child(3n) a {
	padding-right:5.3333333333vw;
}
}
@media all and (max-width: 767.98px) {
div.gf-related ul li {
	width: -webkit-calc((100% - 1px)/2);
	width:calc((100% - 1px)/2);
}
div.gf-related ul li:not(:nth-child(even)) {
	margin-right:1px;
}
div.gf-related ul li:nth-child(odd) a {
	padding-left:5.3333333333vw;
}
div.gf-related ul li:nth-child(even) a {
	padding-right:5.3333333333vw;
}
}



/*	.gf-accordion
============================== */
@media all and (max-width: 991.98px) {
.gf-accordion h3.acc-btn {
	position:relative;
	cursor: pointer;
}
.gf-accordion h3.acc-btn span:after {
	content:"";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-top: 2px solid #0050ff;
	border-right: 2px solid #0050ff;
	position:absolute;
	right:5.3333333333vw;
	top:50%;
	transform: rotate(-45deg);
	margin-top:-3px;
}
.gf-accordion.acc-close h3.acc-btn span:after {
	transform: rotate(135deg);
	margin-top:-12px;
}
.gf-accordion .acc-box {
	display: grid; 
	grid-template-rows: 1fr;
	/**/
	-webkit-transition-duration: 300ms;
	transition-duration: 300ms;
	-webkit-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
	-webkit-transition-property: grid-template-rows;
	transition-property: grid-template-rows;
}
.acc-close .acc-box {
	grid-template-rows: 0fr;
}
.gf-accordion .acc-box > div {
	overflow:hidden;
}
}



/*	.tbs-btn
============================== */
.tbs-btn a {
	display:inline-flex;
	align-items: center;
	justify-content: center;
	color:#3B3F4A !important;
	background-color:#fff;
	text-decoration:none !important;
	padding-right:1em;
	padding-left:3em;
	box-shadow:4px 4px 10px hsla(0,0%,0%,.1);
}
.tbs-btn a > span {
	display:inline-block;
	position:relative;
}
.tbs-btn a > span:after {
	content: '';
	display: inline-block;
	line-height: 1;
	width: 100%;
	height: 2px;
	background-color: #3B3F4A;
	position:absolute;
	top:50%;
	left:0;
	margin-top:-1px;
}
.tbs-btn a > span:before {
	content: '';
	width: 75%;
	height: 75%;
	border: 2px solid #3B3F4A;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -1px;
	box-sizing: border-box;
}
@media all and (min-width: 992px) {
.tbs-btn a {
	font-size:16px;
	height:56px;
	letter-spacing:0.2em;
	border-radius:28px;
}
.tbs-btn a > span {
	width:12px;
	height:12px;
	margin-left:24px;
}
}
@media all and (max-width: 991.98px) {
.tbs-btn a {
	font-size:14px;
	height:40px;
	letter-spacing:0.1em;
	border-radius:20px;
}
.tbs-btn a > span {
	width:10px;
	height:10px;
	margin-left:18px;
}
}