@charset "utf-8";

/*
==================================================
GMO CLOUD K.K. common style
==================================================
*/

/*　基本の設定
---------------------------------------------------------- */
html{
	font-size: 87.5%;
	overflow-y:scroll;
	}
body{
	background: #fff;
	font-size:14px;
	font-size: 1rem;
	}
@media screen and (min-width: 40em) {
html{
	font-size: 100%;
	}
body{
	font-size:16px;
	font-size: 1rem;
	}
}
body,h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
	font-family:"Lato", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
	letter-spacing: -.001rem;
	}
::selection {
	background:#333;
	color: #fff;
	text-shadow: none;
	}
input::selection,
textarea::selection{
	color:#333;
	background: #ccc;
	}
ul {
	list-style-type: none;
	margin-left: 0;
	}
	ul li{
		list-style: none;
		}
a{
	text-decoration:none;
	}
a:hover{
	text-decoration:underline;
	}
button,input,textarea{
	outline:none;
	}
[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea{
	border-color:#999;
	}
[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{
	border-color:#333;
	}
@media screen and (min-width: 40em) {
.button-group.stacked-for-medium .button:not(:last-child), .button-group.stacked-for-small .button:not(:last-child), .button-group.stacked .button:not(:last-child){
	border-bottom: none;
	}
}
hr{
	border-bottom:1px solid #e0e0e0;
	}

/* 見出し */
h1,h2,h3,h4,h5,h6{
	font-size:16px;
	font-size: 1rem;
	font-weight: bold;
	}
.ttl-h1 small,
.ttl-h2 small,
.ttl-h3 small,
.ttl-h4 small{
	display: block;
	margin-top: .5em;
	color: #9fadd3;
	}
.ttl-h1{
	margin: 2.8rem 0 2.2rem;
	font-size:52px;
	font-size: 3.25rem;
	line-height: 1.2;
	color:#fff;
	text-shadow: 0px 0px 18px rgba(0, 0, 0, 0.3);
	}
	.ttl-h1 small{
		margin-top: 1em;
		font-size: 1.125rem;
		font-weight: normal;
		}
	.ttl-h1 + .fukidashi{
		width: 50%;
		position: relative;
		margin-bottom: 3rem;
		padding: .5rem 1rem;
		background: #fff;
		border-radius: 4px;
		}
	.ttl-h1 + .fukidashi::before{
		position: absolute;
		width: 0;
		height: 0;
		top: -10px;
		left: 2rem;
		border-style: solid;
		border-width: 0 5px 10px 5px;
		border-color: transparent transparent #ffffff transparent;
		content: '';
		}
.ttl-h2{
	margin-top: 2rem;
	margin-bottom: 2rem;
	padding-top: 2rem;
	font-size:40px;
	font-size: 2.5rem;
	text-align: center;
	}
	.ttl-h2 small{
		font-size: 1rem;
		}
.ttl-h3{
	margin-bottom: 1.4rem;
	font-size:50px;
	font-size: 3.125rem;
	}
.ttl-h3-strong{
	font-size: 1.714rem;
	line-height: 1.2;
	text-align: center;
	}
	.ttl-h3-strong > strong{
		display:block;
		font-size: 2.857rem;
		}
@media screen and (min-width: 40em) {
.ttl-h2{
	margin-top: 4rem;
	margin-bottom: 5rem;
	padding-top: 4rem;
	}
.ttl-h3{
	padding-top: 1em;
	}
.ttl-h3-strong{
	padding-top: 1em;
	font-size: 2.188rem;
	text-align: left;
	}
	.ttl-h3-strong > strong{
		/*font-size: 4.2rem;*/
		font-size: 3.9rem;
		}
}
@media screen and (min-width: 64em) {
.ttl-h3-strong{
	}
	.ttl-h3-strong > strong{
		font-size: 3.9rem;
		}
}
.ttl-h4{
	margin-bottom: 1.8rem;
	font-size:24px;
	font-size: 1.5rem;
	text-align: center;
	}
	.ttl-h4 > span{
		display: inline-block;
		padding: .4rem 0;
		border-top: 2px solid #b4b4b4;
		border-bottom: 2px solid #b4b4b4;
		}
/*
.ttl-h5{
	margin-bottom: 1.4rem;
	font-size:20px;
	font-size: 1.4rem;
	}
.ttl-h6{
	margin-bottom: 1.4rem;
	font-size:18px;
	font-size: 1.2rem;
	}
.ttl-h3.ttl-line{
	padding: 0 0 .2em 0;
	border-bottom:1px solid #ccc;
	}
.ttl-h4.ttl-line{
	padding: 0 0 .2em 0;
	border-bottom:1px dotted #ccc;
	}
.ttl-h3.ttl-color{
	padding: 0 0 0 .5em;
	line-height: 1;
	border-left:3px solid #f8003f;
	}
.ttl-h4.ttl-color{
	padding: .2em 1em;
	background: #f5f5f5;
	}
*/
@media screen and (max-width: 39.9375em) {
	.ttl-h1{font-size: 2.5rem;}
	.ttl-h2{font-size: 2.1rem;}
	.ttl-h3{font-size: 1.7rem;}
	.ttl-h4{font-size: 1.4rem;}
	.ttl-h5{font-size: 1.2rem;}
	.ttl-h6{font-size: 1rem;}
	}
small{
	font-size: .85em;
}

/* テキスト */
.marker-green {
	position: relative;
}
.marker-green:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 8px;
	background: #AFF4C1;
	content: '';
	z-index: -1;
}

/* リスト */
.list-disc li{
	padding-left:.8em;
	text-indent:-.8em;
	}
.list-disc li:before{
	display: inline-block;
	width: .25em;
	height: .25em;
	margin: 0 .5em 0 0;
	vertical-align: .3em;
	background: #333;
	border-radius: 50%;
	content: '';
	}
.list-disc ul{
	margin-left: 0.2em;
	}

/* 注意書き */
.text-note {
	color: #5f646c;
	margin-top: 1em;
	margin-left: 0;
	font-size: 0.85rem;
	}
.text-note li{
	list-style: none;
	text-indent:-1rem;
	padding-left:1rem;
	}
.text-note li.num{
	list-style: none;
	text-indent:-1.5rem;
	padding-left:1.5rem;
	}

/* NEWマーク */
.icon-new{
	margin-left: .5rem;
	padding: .1em .5em;
	font-size: .6em;
	line-height: 1;
	white-space: nowrap;
	vertical-align: middle;
	/*
	border-radius: 3px;
	*/
	color:#e60033;
	border: 1px solid #e60033;
	}
time.icon-new{
	display: none;
	}

/* トップなどでカテゴリーを表示 */
.icon-category{
	padding: .3em 1em;
	font-size: 0.78rem;
	line-height: 1;
	white-space: nowrap;
	vertical-align: middle;
	border-radius: 3px;
	border:1px solid #333;
	background: #fff;
	}
.icon-category.expanded{
	display: block;
	text-align: center;
	}

/* ボタン */
.button {
	position: relative;
	padding: 1.05em 1em;
	border: 0;
	font-size: 1.125rem;
	border-radius:0;
	margin-bottom: 0;
	}
.button::before,
.button::after {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 5px solid transparent;
	width: 0;
	height: 0;
	content: '';
	}
.button::before {
	bottom: 0;
	right: 0;
	}
.button::after {
	top: 0;
	left: 0;
	}
.button:hover::before,
.button:hover::after {
	width: 100%;
	height: 100%;
	transition: height 0.2s ease-out, width 0.2s ease-out 0.2s;
	}
.button:hover::before {
	border-top-color: #cfd6e9;
	border-right-color: #cfd6e9;
	}
.button:hover::after {
	border-bottom-color: #cfd6e9;
	border-left-color: #cfd6e9;
	}

/* 申し込み系（赤色） */
.button.alert{
	color: #fff;
	background-color: #f8003f;
	}
.button.alert:hover{
	color: #fff;
	background-color: #f71750;
	}
.button.alert:hover::before {
	border-top-color: #feccd9;
	border-right-color: #feccd9;
	}
.button.alert:hover::after {
	border-bottom-color: #feccd9;
	border-left-color: #feccd9;
	}

/* 優先度低めのボタン（灰色） */
.button.secondary,
.button.secondary:hover{
	color: #000;
	background-color: #fff;
	}
.button.secondary:hover::before {
	border-top-color: #cfd6e9;
	border-right-color: #cfd6e9;
	}
.button.secondary:hover::after {
	border-bottom-color: #cfd6e9;
	border-left-color: #cfd6e9;
	}
.button.white:hover::before {
	border-top-color: #fff !important;
	border-right-color: #fff !important;
	}
.button.white:hover::after {
	border-bottom-color: #fff !important;
	border-left-color: #fff !important;
	}
.button.secondary:focus, .button.secondary:hover {
	color: #000;
	background-color: #fff;
}

/* 優先度低めのボタン（青色） */
.button.tertiary,
.button.tertiary:hover{
	background-color: #e6eaf4;
	color: #000;
}

/* 白背景・枠線ありのボタン（hollow） */
.button.hollow,
.button.hollow:hover{
	top: 0 !important;
	box-shadow: none !important;
	background-color: transparent !important;
	}
.button.large{
	padding:1.25em 1em;
	}
.button.large.expanded{
	padding:1.25em 0;
	}

.button-group{
	margin-bottom: 0;
	}
.button-group.type-text .button{
	margin:5px;
	height: 4.1em;
	}
.button-group.type-text.large .button {
	font-size: 1.125rem;
}
.button-group.type-text.large .button small {
	font-size: .875rem;
}
.button-group.type-text .button > span{
	display: table-cell;
	width: 100vh;
	height: 2em;
	vertical-align: middle;
	}

/* 白背景・青色枠線ありのボタン */
.button.blue-border{
	border: 1px solid #26459d;
	background:#fff;
	color: #0a0a0a;
	}

/* イラストつきのボタン */
.button-image .cell{
	border: 0 solid #dbe0ef;
	border-left-width: 2px;
	padding: 2px;
}
.button-image .cell:last-child{
	border-right-width: 2px;
}
.button-image .button{
	margin-bottom: 0;
	font-size: 1.5rem;
	font-weight: bold;
}
.button-image span.button{
	pointer-events: none;
}
.button-image small{
	display: inline-block;
	margin-bottom: .5em;
	font-weight: normal;
	font-size: 1rem;
	line-height: 1.4;
}
.button-image img{
	width: 70px;
	margin-bottom: 1rem;
}
@media screen and (max-width: 39.9375em) {
	.button-image .cell{
		border: 2px solid #dbe0ef;
	}
}

.bg-blue .button-image .cell{
	border-color: transparent !important;
}

.bg-color .button-image{
	padding-top: .6rem;
	padding-bottom: .6rem;
}
.bg-color .button-image .cell{
	border-color: #fff;
}
.bg-color .button-image .button{
	background: transparent !important;
}
@media screen and (min-width: 40em) {
	.bg-color .button-image{
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}

/* 汎用ボタンバナー */
.button.button-banner{
	box-shadow: 0 0 0 5px #0e3192 inset;
	background: url(/template/img/bg_supportmovie.jpg) no-repeat 0 0;
	background-size: cover;
	padding: 1.35em;
	padding-right: 3em;
	text-align: left;
}
.button.button-banner .text-small{
	margin-top: 1rem;
	font-size: 1rem;
}
.button.button-banner .text-new{
	font-weight: bold;
	font-size: 1rem;
}
.button.button-banner .text-new .label{
	font-weight: normal;
	vertical-align: middle;
}
.button.button-banner > small{
	display: block;
	margin-top: 1em;
	font-weight: bold;
	font-size: .8rem;
	color: #566eb2;
}
@media screen and (min-width: 64em) {
	.button.button-banner{
		max-width: 780px;
		margin: 1rem auto 0;
		font-size: 34px;
	}
	.button.button-banner .ico{
		right: 55px;
	}
}

/* 動画版 */
.button.button-banner-movie{
	padding-top: .7em;
	padding-left:  5.8em;
	padding-bottom: 1em;
}
.button.button-banner-movie img{
	position: absolute;
	top: 50%;
	left: 1rem;
	margin-top: -35px;
	width: 70px;
}
.button.button-banner-movie .text-new{
	margin-bottom: .6em;
}
@media screen and (min-width: 64em) {
	.button.button-banner-movie img{
		left: 60px;
		margin-top: -50px;
		width: 100px;
	}
}

/* RHEL版 */
.button.button-banner-RHEL{
	background-image: url(/template/img/bg_rhel.jpg);
	padding-top: 1em;
	padding-bottom: 1em;
}
@media screen and (min-width: 64em) {
	.button.button-banner-RHEL{
		font-size: 28px;
	}
	.button.button-banner-RHEL p{
		margin-bottom: .5rem;
		line-height: 1;
	}
}

/* 動画のボタン */
.button.movie{
	position: relative;
	padding: 1.35em 3em 1.35em 5.8em;
	background: url(/template/img/bg_supportmovie.jpg) no-repeat 0 0;
	background-size: cover;
	box-shadow: 0 0 0 5px #0e3192 inset;
	text-align: left;
	}
	.button.movie img{
		width: 70px;
		position: absolute;
		top: 50%;
		left: 1rem;
		margin-top: -35px;
		}
	.button.movie > small{
		display: block;
		margin-top: 1em;
		color: #566eb2;
		font-weight: bold;
		font-size: .8rem;
		}
@media screen and (min-width: 64em) {
.button.movie{
	max-width: 780px;
	margin: 1rem auto 0;
	font-size: 34px;
	}
	.button.movie img{
		width: 100px;
		left: 60px;
		margin-top: -50px;
		}
	.button.movie .ico{
		right: 55px;
		}
}

/* 写真つきのボタン */
.button-photo{
	margin: 0 -1.6rem 4rem
	}
.button-photo .button{
	position: relative;
	padding: 0;
	}
.button-photo .button > img{
	width: 100%;
	border:1px solid #fff
	}
.button-photo .button > .catch{
	position: absolute;
	top: 1em;
	left: 1em;
	line-height: 1.5;
	text-align: left;
	text-shadow: 0px 0px 18px rgba(255, 255, 255, 0.8);
	}
.button-photo .button > .link{
	display: block;
	padding: .6rem 0;
	background: #fff;
	font-size: 1rem;
	}
	.button-photo .button > .link::after{
		display: inline-block;
		float: right;
		width: 10px;
		height: 10px;
		margin: 2px 10px 0 0;
		border-top: 2px solid #6e83be;
		border-right: 2px solid #6e83be;
		transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		content: '';
		}
@media screen and (max-width:63.9375em) {
.button-photo{
	margin: 2rem -1.6rem 0;
	}
.button-photo .button > .catch{
	top: .5em;
	left: .5em;
	font-size: 12px;
	}
.button-photo .button > .link{
	font-size: 12px;
	}
}
@media screen and (max-width:25.714em) {
	.button-photo .button > .catch{
	font-size: 11px;
	}
.button-photo .button > .link{
	font-size: 11px;
	}

}
/*
.button.large{
	padding:1em 1em;
	font-size:1.28rem;
	}
.button.small{
	padding:.5em 1em;
	font-size:1em;
	}
.button.tiny{
	padding:.3em 1em;
	font-size:0.85rem;
	}
*/

/* リンク */
a{
	color: #00c;
	}
.link_arrow a:before,
a.link_arrow:before{
	display: inline-block;
	width: .4em;
	height: .4em;
	margin: 0 .4em 0 0;
	border-top: 1px solid #00c;
	border-right: 1px solid #00c;
	vertical-align: .2em;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	content: '';
}
a.blank:after,
a.pdf:after{
	position: static !important;
	/*
	vertical-align: middle;
	*/
	margin-left: .2rem;
	}
a.blank:after{
	content: url(/template/img/ico_blank.png);
	}
a.blank.button:not(.hollow):after{
	content: url(/template/img/ico_blank_white.png);
	}
a.pdf:after{
	content: url(/template/img/ico_pdf.gif) !important;
	}
a.hover:hover img{
	opacity: 0.8;
	}
a.button-arrow{
	}
a.button-arrow .ico{
	display:inline-block;
	position: absolute;
	top: 50%;
	right: 1rem;
	margin-top: -13px;
	margin-left: 1rem;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border:3px solid #cfd6e9;
	background-color: #fff;
	vertical-align:middle;
	}
	a.button-arrow .ico::after{
		display:inline-block;
		position:absolute;
		width: 7px;
		height: 7px;
		top: 50%;
		left: 50%;
		margin-top: -4px;
		margin-left: -5px;
		border-top: 2px solid #123494;
		border-right: 2px solid #123494;
		transform: rotate(45deg);
		content: '';
		}
a.button-arrow:hover .ico{
	border-color:#123494;
	background-color: #123494;
	}
	a.button-arrow:hover .ico::after{
		border-top-color: #fff;
		border-right-color: #fff;
		}
@media screen and (min-width: 40em) {
a.button-arrow .ico{
	width: 48px;
	height: 48px;
	overflow: hidden;
	right: 30px;
	margin-top: -24px;
	border-width: 4px;
	transition: all .2s ease-out;
	}
	a.button-arrow .ico::after{
		width: 14px;
		height: 14px;
		margin-top: -8px;
		margin-left: -9px;
		border-top-width: 3px;
		border-right-width: 3px;
		}
	a.button-arrow:hover .ico::after{
		animation: arrowMove .5s;
		}
}
@keyframes arrowMove {
0% { left: 50%;}
49% { left: 120%;}
50% { left: -30%;}
100% { left: 50%;}
}


/* ドロップダウン */
.top-bar .is-dropdown-submenu,
.is-dropdown-submenu,
.is-dropdown-submenu-parent:hover{
	border: none;
	background-color: #363636;
	}
.is-dropdown-submenu{
	padding: 1em 0.5em;
	}
	.is-dropdown-submenu a,
	.is-dropdown-submenu-parent:hover a{
		color:#fff;
		}
.dropdown.menu>li.is-dropdown-submenu-parent>a:after,
.dropdown.menu.vertical>li.opens-right>a:after,
.button.dropdown::after{
	width: .42em;
	height: .42em;
	border:none;
	border-top: .2em solid #333;
	border-right: .2em solid #333;
	}
.dropdown.menu>li.is-dropdown-submenu-parent>a:after{
	top: 50%;
	right: .42em;
	margin-top: -.1em;
	transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	}
.button.dropdown::after{
	top: 50%;
	transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	border-top: .2em solid #fff;
	border-right: .2em solid #fff;
	}
.dropdown.menu.vertical>li.opens-right>a:after{
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{
	content: '+';
	border: none;
	margin-top: -1.6rem;
	margin-right: 1.5rem;
	font-size: 3rem;
	color: #fff;
	}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true]>a::after{
	content: '-';
	margin-right: 1.2rem;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	}

/* 目次 */
.pagelink{
	position: relative;
	height: 40px;
	margin: 1rem 0 0 0;
	text-align: center;
	}
.pagelink a{
	padding-left: 50px;
	}
.pagelink .title{
	color: #0e3192;
	}
.pagelink .close{
	color: #6e83be;
	}
.pagelink .is-accordion-submenu-parent[aria-expanded=true] .title,
.pagelink .is-accordion-submenu-parent .close{
	display: none;
	}
.pagelink .is-accordion-submenu-parent .title,
.pagelink .is-accordion-submenu-parent[aria-expanded=true] .close{
	display:block;
	}
.pagelink .accordion-menu{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	}
.pagelink .is-accordion-submenu-parent[aria-expanded=true]{
	background-color: rgba(15,49,146,.95);
	}
	.pagelink .accordion-menu .is-accordion-submenu-parent::before{
		display: block;
		position: absolute;
		width: 100%;
		height: 38px;
		background: #dbe0ef;
		content: '';
		}
	.pagelink .accordion-menu .is-accordion-submenu-parent[aria-expanded=true]::before{
		background-color: rgb(15,49,146);
		}
.pagelink .accordion-menu .is-accordion-submenu-parent > a{
	max-width: 73rem;
	margin:0 auto;
	text-align: left;
	}
.pagelink .accordion-menu .is-accordion-submenu-parent > a:hover{
	text-decoration: none;
	}
.pagelink .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{
	width: 40px;
	height: 38px;
	line-height: 32px;
	top: 0;
	left: 0;
	margin-top: 0 !important;
	text-align: center;
	font-size: 2.5rem;
	background-color: rgb(15,49,146);
	}
	.pagelink .is-accordion-submenu-item a{
		padding: 1rem 0; 
		color: #fff;
		}
	.pagelink .is-accordion-submenu-item a::after{
		display:inline-block;
		width: 7px;
		height: 7px;
		margin-left: 1em;
		vertical-align: 4px;
		border-top: 2px solid #8698c8;
		border-right: 2px solid #8698c8;
		transform: rotate(135deg);
		content: '';
		}

.pagelink2{
	background: #dcdff0;
	padding: .4rem 0;
	}
.pagelink2.margin-bottom{
	margin-bottom: 2rem;
	}
	.pagelink2 li{
		margin: 0 .85rem;
		font-size: .85rem;
		}
	.pagelink2 a{
		padding: .4rem 0;
		color: #0c2a7e;
		}
	.pagelink2 a:hover{
		text-decoration: none;
		}
@media screen and (min-width: 40em) {
.pagelink2{
	position: sticky;
	position: -webkit-sticky;
	width: 100%;
	top: 29px;
	left: 0;
	z-index: 104;
	padding: 0;
	}
.pagelink2.margin-bottom{
	margin-bottom: 6rem;
	}
	.pagelink2 li{
		margin: 0 2rem;
		font-size: 1rem;
		}
	.pagelink2 a{
		padding: 12px 0 8px;
		border-bottom: 4px solid #dcdff0;
		color: #0c2a7e;
		}
	.pagelink2 a:hover,
	.pagelink2 a.active{
		border-bottom-color:#0c2a7e;
		}
}

/* アコーディオン */
.accordion{
	background: #fff;
	}
.accordion-title{
	font-size: 1rem;
	}
.accordion-title::before{
	margin-top:-1.5rem;
	font-size: 2.5rem;
	}
.accordion-title,.accordion-content{
	border-bottom: 1px solid #e0e0e0;
	}
.accordion-title:focus,.accordion-title:hover {
	background-color: #f5f5f5;
	text-decoration: none;
	}
.accordion-title:before{
	color: #999;
	font-weight: bold;
	}

/* タブ切り替え */
.tabs{
	background: #fff;
	}
.tabs,.tabs-content{
	border-color: #e0e0e0;
	}
.tabs >li{
	border-right:1px solid #e0e0e0;
	}
.tabs.vertical>li{
	border-right: none;
	}
.tabs.vertical>li:not(:last-child){
	border-bottom:1px solid #e0e0e0;
	}
.tabs-title>a{
	font-size: 1rem;
	background: #f5f5f5;
	}
.tabs-title>a:hover,.tabs-title>a:focus, .tabs-title>a[aria-selected=true]{
	background: #ebebeb;
	}
.tabs-title>a:hover{
	text-decoration: none;
	}

/* 表組み */
table{
	margin-bottom: 0;
}
table tbody, table tfoot, table thead{
	border-color: #b6c1de;
	}
table th, table td{
	border: 1px solid #b6c1de;
	}
table tbody,
table tbody tr:nth-child(odd),
table tbody tr:nth-child(even),
table.hover tbody tr:nth-child(odd):hover th,
table.hover tbody tr:nth-child(even):hover th{
	background: none;
	}
table thead th,table thead td,table tfoot th,table tfoot td{
	text-align: start;
	background: #edf0f7;
	}
table thead th{
	text-align: center;
	}
table tbody th{
	text-align: center;
	background: #edf0f7;
	}
table tbody th.th-second{
	font-weight: normal;
	}
table .border{
	border-left-width: 5px;
	border-right-width: 5px;
	}
table .border.top{
	border-top-width: 5px;
	}
table .border.bottom{
	border-bottom-width: 5px;
	}
.th-color{
	background: #e2e6f2;
}
.table-scroll > div{
	position: relative;
	padding-top: 30px;
	}
.table-scroll > div .ico{
	position: absolute;
	width: 90px;
	top: 0;
	margin-left: -90px;
}
.table-scroll table{
	min-width: 1000px;
}
/*
table.hover tr:hover,
table.hover tr:nth-of-type(even):hover{
	background: #ececec;
	}
*/
@-moz-document url-prefix() {
	table.scroll{
		padding-left: 1px;
	}
}

/* パンくずリスト */
.breadcrumbs{
	margin-bottom: 0;
	padding: .25rem 1em;
	}
.breadcrumbs li{
	font-size: .813rem;
	text-transform: none;
	}
.breadcrumbs a{
	color: #999;
	text-decoration: underline;
	}
.breadcrumbs a:hover{
	text-decoration: none;
	}
.breadcrumbs li:not(:last-child)::after{
	content: ">";
	margin: 0 .2rem;
	color: #123494;
	}

/* ツールチップ */
.tooltip:before {
	border-color: transparent transparent #0a0a0a !important;
	}
.tooltip.top:before {
	border-color: #0a0a0a transparent transparent !important;
	}
.tooltip.left:before {
	border-color: transparent transparent transparent #0a0a0a !important;
	}
.tooltip.right:before {
	border-color: transparent #0a0a0a transparent transparent !important;
	}

/* ラベル */
.label {
	/* Einstein botで利用するので初期化 */
	/*
	display: inline;
	padding: 0;
	border-radius: 0;
	font-size: medium;
	line-height: normal;
	white-space: normal;
	color: transparent;
	background: transparent;
	*/
	background: transparent;
	}
#contents .label {
	display: inline-block;
	margin-left: .5rem;
	padding: .2rem .2rem;
	border-radius: 2px;
	font-size: .75rem;
	line-height: 1;
	white-space: nowrap;
	cursor: default;
	background: #0e3192;
	color: #fefefe;
	}
#contents .label.label-new{
	background-color: #e50000;
	color: #fff;
}
#contents .label.alert,
#contents .label.alert a{
	color: #fff;
	}
#contents .label.check{
	margin-left:0;
	margin-bottom: .5em;
	padding: .2em .5em 0;
	border:2px solid #fff;
	background: rgba(0,0,0,.4);
	font-style: normal;
	border-radius: 2rem;
	}
	#contents .label.check > i{
		margin-right: 5px;
		font-size: 120%;
		vertical-align: -2px;
		}
@media screen and (min-width:40em) {
#contents .label.check{
	padding: .4em .5em;
	font-size: 14px;
	}
}

/* ヘッダー
---------------------------------------------------------- */
.global-header{
	position: relative;
	width: 100%;
	height: 135px;
	z-index: 106;
	margin-bottom: 0;
	border-top: 5px solid #26459d;
	}

@media screen and (min-width: 40em) {
.global-header{
	border-bottom: 1px solid #e6eaf4;
	}
	.header-logo{
		position: absolute;
		top: -8px;
		padding-left: 2%;
		}
		.header-logo > p{
			font-size:0.78rem;
			font-weight: normal;
			}
		.header-logo img{
			width: 130px;
			}
	.global-nav{
		margin: 49px 10px 0;
		}
	.global-header .function-nav{
		position:absolute;
		right: 10px;
		top: 10px;
		font-size: 15px;
		}
		.function-nav a{
			vertical-align: 10px;
			font-size: .813rem;
			padding:0 1rem;
			color: #666;
			border-left: 1px solid #e5e5e5;
			}
		.function-nav a:first-child{
			padding-left: 0;
			border-left: none;
			}
	.global-nav{
		bottom: 0;
		font-weight:bold;
		}
		.global-nav .category > a{
			margin:0 33px;
			padding: 20px 0;
			color: #333;
			text-decoration: none;
			border-bottom: 4px solid #fff;
			}
		.global-nav .category > a:hover,
		.global-nav .category.active > a{
			border-bottom-color: #f8003f;
			}
		.global-nav .category > a:hover{
			text-decoration: none;
			}
		.global-nav .category.active > a{
			background: transparent;
			color: #333;
			}
		.global-nav .category > a > span{
			display: block;
			padding-bottom: 8px;
			color: #b6c1de;
			font-size: 12px;
			text-align:center;
			}
		.global-nav .category > a.dropdown{
			position: relative;
			}
		.global-nav .category > a.dropdown::after{
			position: absolute;
			display: block;
			bottom: 8px;
			left: 50%;
			margin-left: -.21em;
			transform: rotate(135deg);
			-ms-transform: rotate(135deg);
			width: .42em;
			height: .42em;
			border:none;
			border-top: .2em solid #233590;
			border-right: .2em solid #233590;
			content: '';
			transition: bottom 0.2s ease-out;
			}
		.fixed .global-nav .category > a.dropdown::after{
			bottom: 3px;
			}
		.global-nav .category.thisHover > a.dropdown::after{
			bottom: 5px;
			}
		.fixed .global-nav .category.thisHover > a.dropdown::after{
			bottom: 0
			}

		/* メガメニュー */
		.global-nav .submenu{
			position: absolute;
			width: calc(100% + 20px);
			height: 100vh;
			top: 80px;
			left:0;
			margin: 0 -10px;
			text-align:left;
			visibility:hidden;
			opacity:0;
			background: rgba(0,0,0,.7);
			pointer-events: none;
			}
		.fixed .global-nav .submenu{
			position: fixed;
			top: 82px;
			}
		.global-nav .submenu.hover{
			z-index: 105;
			visibility:visible;
			opacity:1;
			pointer-events: auto;
			background: rgba(0,0,0,.5);
			}
			.global-nav .submenu .submenu-inside{
				padding: 2.714rem 0 0;
				background: #f3f4f9;
				font-size: 15px;
				}
				.global-nav .submenu .submenu-inside .grid-container{
					max-width: 1180px;
					opacity:0;
					transition:opacity .3s;
					}
				.global-nav .submenu.hover .submenu-inside .grid-container{
					opacity:1;
					}
		.global-nav .submenu .grid-padding-x{
			margin-left: -1rem;
			margin-right: -1rem;
			}
			.global-nav .submenu .grid-padding-x > .cell {
				padding-right: 1rem;
				padding-left: 1rem;
				}
		.global-nav .submenu .title{
			margin-bottom: 2.2rem;
			margin-left: -1rem;
			font-size: 17px;
			}
		.menu .submenu a{
			display: block;
			padding: 0;
			color: #223490;
			}
		.submenu div.link_arrow{
			padding-left: .6rem;
			padding-bottom: 2.5rem;
			}
		.submenu div.link_arrow.border{
			margin-top: 8px;
			padding-top: 5px;
			border-top: 1px solid #c8cce3;
			}
			.submenu div.link_arrow a{
				margin: .8em 0;
				padding-left: .8rem;
				text-indent: -.8rem;
				font-weight: normal;
				}

/* ページ固定時用の指定  */
.fixed #contents{
	padding-top:82px;
	}
.fixed .global-header{
	position:fixed;
	height: 54px;
	top: 29px;
	left: 0;
	padding-top: 5px;
	background: #fff;
	overflow: hidden;
	}
.fixed .global-header::before{
	display: block;
	width: 100%;
	height: 29px;
	position: fixed;
	top: 0;
	background-color: #fff;
	content: '';
	}
	.fixed .global-header .header-logo{
		display: inline-block;
		position:relative;
		width: 76px;
		top: -12px;
		padding-left: 10px;
		}
	.fixed .global-header .header-logo + div{
		display: inline-block;
		width: calc(100% - 90px);
		padding-top: 5px;
		}
	.fixed .global-header .function-nav,
	.fixed .global-nav{
		position: static;
		display: inline-block;
		}
	.fixed .global-header .function-nav{
		vertical-align: top;
		}
	.fixed .global-header .function-nav a:nth-child(3){
		display:none;
		}
	.fixed .global-nav{
		position: relative;
		top: -12px;
		margin: 0;
		}
	.fixed .global-nav .category > a{
		margin:0 1.5rem;
		padding: 20px 0 11px;
		font-size: 15px;
	}
	.fixed .global-nav .category > a > span{
		display: none;
		}
}
/* 下層ページのサブナビゲーション */
.sub-nav{
	width: 100%;
	padding-left: 1rem;
	background: #ebebeb;
	}
/*
.fixed .sub-nav{
	position: fixed;
	top:83px;
	left: 0;
	z-index: 104;
	}
*/
	.sub-nav a{
		margin:0 0 0 2.5rem;
		padding: .7rem 0 .5rem;
		color: #333;
		font-size: .938rem;
		text-decoration: none;
		border-bottom: 4px solid #ebebeb;
		}
	.sub-nav a:hover,
	.sub-nav .active a{
		border-bottom-color: #0e3192;
		}
	.sub-nav a:hover{
		text-decoration: none;
		}
	.sub-nav .active a{
		background: transparent;
		color: #333;
		}


/* Google検索 */
.headerProboSearch{
	display: inline-block;
	}
	.headerProboSearch input{
		display: inline-block;
		margin: 0;
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		}
	.headerProboSearch button{
		display: inline-block;
		color: #26459d;
		}
@media screen and (max-width: 39.9375em) {
.headerProboSearch{
	width: 100%;
	height: 55px;
	background: #bcbcbc;
	}
	.headerProboSearch input{
		width: calc(100% - 61px);
		height: 50px !important;
		vertical-align: top;
		border-bottom: 1px solid #fff !important;
		}
	.headerProboSearch button{
		width: 55px;
		height: 55px;
		line-height: 50px;
		font-size: 200%;
		background: #ebebeb;
		}
}
@media screen and (min-width: 40em) {
.headerProboSearch{
	width: 230px;
	vertical-align: 8px;
	background: #ebebeb;
	border-radius: 4px;
	text-align: left;
	}
	.headerProboSearch input{
		width: calc(100% - 35px);
		height: 30px;
		}
	.headerProboSearch button{
		width: 30px;
		height: 30px;
		font-size: 120%;
		}
}
@media screen and (max-width: 1320px) and (min-width: 40em) {
	.fixed .headerProboSearch{
		display: none;
		}
}
@media screen and (max-width: 1100px) and (min-width: 40em) {
.header-logo img{
	width: 70px;
	}
.fixed .global-header .function-nav{
	display: none;
	}
}
@media screen and (max-width: 64em) and (min-width: 40em) {
.fixed .headerProboSearch{
	display: none;
	}
}

/* iPhone用の指定
---------------------------------------------------------- */
@media screen and (max-width: 39.9375em) {
	.global-header{
		position: fixed;
		height: 3.1rem;
		background:transparent !important;
		}
	.fixed .global-header{
		padding-top: 0;
		}
	.fixed .global-header-top{
		display: block;
		}
	.global-header-top{
		position: relative;
		height: 2.857rem;
		z-index: 2;
		}
		.header-logo{
			display:inline-block;
			position:relative;
			background: #fff;
			height: 65px;
			}
		.header-logo img{
			width: 95px;
			margin-top: -5px;
			padding:0 10px;
			}
		.global-header .sp-menu{
			margin-bottom: 0;
			}
		.global-header .menu-icon{
			position: absolute;
			top: 0;
			right: 0;
			width: 50px;
			height: 50px;
			background: #ebebeb;
			}
		.global-header .menu-icon > span{
			display: block;
			position: absolute;
			bottom: 3px;
			left: 0;
			text-align: center;
			width: 50px;
			font-size: .64rem;
			}
		.menu-icon.dark:after{
			width: 25px;
			top: .8rem;
			left: 50%;
			margin-left: -12.5px;
			}
	.fixed .global-nav .order{
		display: none;
		}
	.global-nav{
		border-top:0;
		border-bottom:0; 
		}
	#sp-nav{
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.3);
		text-align: right;
		}
	.sp-nav-inside{
		display: inline-block;
		width: calc(100% - 95px);
		background: #000;
		text-align: left;
		}
	#sp-nav .button{
		margin: 1rem;
		display: block;
		padding: .8rem 0;
		font-size: 1.25rem;
		}
		#sp-nav .button > img{
			width: 28px;
			vertical-align: middle;
			margin-right: 15px;
			}
		#sp-nav .button.alert > img{
			margin-right: 25px;
			}
	#sp-nav ul{
		margin:0 1rem;
		padding-bottom: 2rem;
		}
	#sp-nav ul:last-child{
		padding-top: 1rem;
		padding-bottom: 6rem;
		border-top: 1px solid #333;
		}
	#sp-nav li a{
		color: #ccc;
		padding-left: 0;
		}
	#sp-nav .button-close{
		display: inline-block;
		width: 3.5rem;
		height: 3.5rem;
		text-align: center;
		line-height: 3.5rem;
		font-size: 180%;
		color: #fff;
	}

#contents{
	padding-top:4.5rem;
	}
#contents.top{
	padding-top:0;
	}
.button{
	margin-bottom: 1rem;
	}
}

/* フッター
---------------------------------------------------------- */
.global-footer{
	border-top:1px solid #26459d;;
	border-bottom:5px solid #26459d;
	}
.global-footer a{
	color: #666;
	}
.global-footer .bg-dark{
	background:#191919;
	}
.global-footer .logo img{
	width: 120px;
	}
.global-footer .bg-dark a{
	color: #ccc;
	}
.conversion{
	padding: 20px 0;
	background: #0f3293;
	}
.conversion p{
	margin-bottom: .5rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	}
.conversion a{
	color: #fff;
	}
	.conversion .button{
		margin: .5rem 1rem;
		width: calc(100% - 2rem);
		padding: 1.8rem 1rem 1.8rem 2.813rem;
		text-align: left;
		font-size: 1.25rem;
		border: 1px solid #8d9dcb;
		}
@media screen and (min-width: 40em) {
	.conversion .button{
		margin: 2px;
		width: calc(100% - 4px);
		}
	.conversion .button.support{
		padding: 4.4rem 1rem 4.4rem 2.813rem;
		}
}
.conversion .menu li{
	margin-top: 20px;
	border-right: 1px solid #4964ad;
	}
.conversion .menu li:first-child{
	border-left: 1px solid #4964ad;
	}
.conversion .menu a{
	padding: 0 40px;
	opacity: .75;
	}
@media screen and (max-width: 39.9375em) {
.conversion .menu li{
	font-size: 11px;
	}
.conversion .menu a{
	padding: 0 10px;
	}
}
.global-footer .social{
	margin-top:-20px;
	}
.global-footer .social a{
	display:inline-block;
	width: 30px;
	margin-left: 5px;
	vertical-align:middle;
	text-align: center;
	}
.social .facebook{
	font-size: 42px;
	color: #4267b2;
	}
.social .twitter{
	height: 30px;
	line-height: 30px;
	font-size: 24px;
	background:#1da1f2;
	border-radius: 2px;
	color: #fff;
	}
.global-footer .text-ir{
	margin-bottom: 0;
	font-weight:bold;
	padding-right: 1rem;
	}
.global-footer .copyright{
	font-size: .75rem;
	color: #999;
	padding-right: 1rem;
	}
@media screen and (max-width: 39.9375em) {
.global-footer .logo img{
	width: 100px;
	margin-top: -1rem;
	margin-bottom: -1rem;
	}
.global-footer .bg-dark a{
	}
#footer-nav{
	}
	#footer-nav li{
		border-bottom:1px solid #4c4c4c;
		}
	#footer-nav li a{
		padding: 1.4rem;
		}
	#footer-nav li a{
		}
	#footer-nav ul{
		margin-left: 0;
		background: #2d2d2d;
		}
	#footer-nav ul li a{
		padding: 1.2rem 2.5rem;
		background: url(/template/img/ico_ore.png) no-repeat 1.5rem 50%;
		}
.global-footer .function-nav{
	display: flex;
	flex-flow: row wrap;
	margin-bottom: 1rem;
	padding-left: 0;
	padding-right: 0;
	border-top: 1px solid #ccc;
	}
.global-footer .function-nav a{
	width: 50%;
	padding: 1em;
	border:none;
	font-size: 12px;
	border-bottom: 1px solid #ccc;
	}
.global-footer .function-nav a:nth-child(odd){
	border-right: 1px solid #ccc;
	}
.global-footer .social{
	margin-bottom: 1rem;
	padding: 10px 0 5px;
	text-align:center;
	line-height: 1;
	border-bottom: 1px solid #ccc;
	}
.global-footer .text-ir,
.global-footer .copyright{
	font-size: 12px;
	line-height: 1.22;
	}
.global-footer .text-ir{
	margin-top: 2rem;
	}
.gmogroup_bnr{
	text-align:center;
	margin:0 auto;
	}
.global-footer .function-nav .gmogroup_bnr a {
	border:none;
	width: 100%;
	}
}
@media screen and (min-width: 40em) {
.global-footer{
	}
	.global-footer .bg-white{
		position: relative;
		padding-left: 170px;
		min-height: 100px;
		padding-top: 20px;
		background: #fff;
		}
		.global-footer .logo{
			position: absolute;
			top: 0;
			left: 20px;
			}
	.global-footer .function-nav{
		/*
		width: 60%;
		*/
		}
	.global-footer .function-nav a{
		white-space: nowrap;
		}
#footer-nav{
	display: table;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 0;
	}
	#footer-nav > li{
		display: table-cell;
		width: auto;
		}
	#footer-nav > li > a{
		font-weight:bold;
		color:#fff;
		/*pointer-events: none;*/
		}
	#footer-nav ul li a{
		margin: .3rem 0;
		font-size: .875rem;
		padding:0 0 0 1rem;
		background: url(/template/img/ico_ore.png) no-repeat 0 0;
		}
.social .twitter{
	margin-right: 1rem;
	}
	.gmogroup_bnr{
		text-align:center;
		margin-right: 0;
		margin-left:auto;
		position: absolute;
		right: 25.5em;
		bottom: 1rem;
	}
	
}

/*
.gs_seal{
	padding-left: 1rem;
	}
*/

/* スクロール追従ボタン */
.side-nav,
.pagetop {
	position: fixed;
	}
.side-nav .btn,
.pagetop .btn{
	display: inline-block;
	width: 100%;
	border-radius: 2px;
	text-align: center;
	color: #fff;
	}
.side-nav .order .btn{
	background-color: #f71750;
	}
.side-nav .support .btn{
	position: relative;
	background-color: #24439b;
	}
.pagetop .btn{
	background-color: #1e1e1e;
	}
.side-nav .arrow_box{
	position: absolute;
	top: .25rem;
	left: -13.4em;
	width: 13em !important;
	text-indent: 0;
	text-align: center;
	line-height: 1.5 !important;
	background: #fff;
	border: 2px solid #000;
	border-radius: 8px;
	font-weight: normal;
	color: #000;
	}
	.side-nav .arrow_box:after,
	.side-nav .arrow_box:before {
		left: 100%;
		top: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		}
	.side-nav .arrow_box:after {
		border-color: rgba(255, 255, 255, 0);
		border-left-color: #fff;
		border-width: 4px;
		margin-top: -4px;
		}
	.side-nav .arrow_box:before {
		border-color: rgba(0, 0, 0, 0);
		border-left-color: #000;
		border-width: 6px;
		margin-top: -6px;
		}
@media screen and (max-width: 39.9375em) {
.side-nav{
	top: 5px;
	right: 52px;
	}
	.side-nav .order,
	.side-nav .support{
		display: inline-block;
		margin-left: -1px;
		}
	.side-nav .btn{
		width: 50px;
		height: 50px;
		margin: 0;
		padding: 0;
		font-size: .64rem;
		border-radius: 2px;
		color: #fff;
		font-weight: normal;
		}
	.side-nav .btn img{
		display:block;
		width: 24px;
		margin: 5px auto 3px;
		}
.side-nav .arrow_box{
	border-width:1px;
	}
	.side-nav .arrow_box:after {
		border-width: 3px;
		margin-top: -3px;
		}
	.side-nav .arrow_box:before {
		border-width: 4px;
		margin-top: -4px;
		}
.pagetop{
	display: none;
	}
}
@media screen and (min-width: 40em) {
.side-nav,
.pagetop {
	opacity: .9;
	transition: opacity .25s ease-out;
	}
.side-nav:hover,
.pagetop:hover{
	opacity: 1;
	}

.side-nav{
	width: 140px;
	top: 200px;
	right: 0;
	}
	.side-nav .btn{
		max-width: 140px;
		height: 50px;
		margin-bottom: 1px;
		margin-left: 90px;
		text-align: left;
		line-height: 44px;
		text-indent: 9px;
		transition: all .25s ease-out;
		}
	.side-nav .btn img{
		max-width: 34px;
		}
	.side-nav .btn > span:not(.arrow_box){
		display: none;
		width: 7em;
		margin: 0 auto;
		line-height: 38px;
		text-align: center;
		}
	.side-nav .btn:hover{
		margin-left: 0;
		text-align: center;
		text-indent: 0;
		}
	.side-nav .btn:hover > img{
		display: none;
		}
	.side-nav .btn:hover > span:not(.arrow_box){
		display: inline-block;
		}
.pagetop {
	bottom: 75px;
	right: -50px;
	transition: right .25s ease-out;
	}
.fixed .pagetop{
	right: 0;
	}
	.pagetop .btn{
		width: 50px;
		height: 50px;
		line-height: 45px;
		border-radius: 2px 0 0 2px;
		}
		.pagetop .btn > img{
			width: 25px;
			}
}

.callout{
	border-color: #26459d;
	text-align: center;
	}
.callout.alert {
	border-color: #f8003f;
	background-color: transparent;
}
.callout.tel{
	margin-top: 2rem;
	padding-top: .5em;
	color: #26459d;
	background: #eaf4ff;
	}
	.callout.tel p{
		line-height: 1.4;
		}
	.callout.tel span{
		margin-top: 0 !important;
		padding-top: 0 !important;
		}
.tell-conversion{
	margin-top: 6rem;
	}
.tell-conversion p{
	font-size: 1.125rem;
	}
.tell-conversion .h1{
	font-size: 3rem;
	line-height: 1;
	}
.tell-conversion .menu li{
	margin-top: 20px;
	border-right: 1px solid #ccc;
	}
.tell-conversion .menu li:first-child{
	border-left: 1px solid #ccc;
	}
.tell-conversion .menu a{
	padding: 0 40px;
	color: #000;
	}
@media screen and (max-width: 39.9375em) {
.tell-conversion{
	margin-top: 2rem;
	}
.tell-conversion .menu li{
	font-size: 11px;
	}
.tell-conversion .menu a{
	padding: 0 10px;
	}
}
@media screen and (min-width: 40em) {
.tell-conversion{
	padding: 3rem;
	}
.tell-conversion .h1{
	font-size: 4.375rem;
	}
}

/* フッターバナー */
.footer-banner{
	position: fixed;
	z-index: 105;
	left: 5px;
	bottom: 12px;
	transition: opacity 0.2s linear;
	/* visibility: hidden;
	opacity: 0; */
}
.footer-banner-link{
	display: block;
	background: rgba(255,255,255,.3);
	padding: 5px;
	position: relative;
}
.footer-banner-link:hover{
	text-decoration: none;
}
.footer-banner-link img{
	width: 170px
}
.footer-banner-btn-close{
	display: block;
	position: absolute;
	bottom: 100%;
	left: 0;
	border-radius: 0;
	background: rgba(255,255,255,.3);
	padding: 0 5px;
	font-size: 20px;
	cursor: pointer;
}
.footer-banner-btn-open{
	display: block;
	top: 8px;
	right: 10px;
	border:none;
	background:transparent;
	width: 45px;
	cursor: pointer;
}
.fixed .footer-banner{
	visibility: visible;
	opacity: 1;	
}
.footer-banner.active .footer-banner-link,
.footer-banner.active .footer-banner-btn-close,
.footer-banner.hidden .footer-banner-btn-open{
	display: block;
}
.footer-banner.hidden .footer-banner-link,
.footer-banner.hidden .footer-banner-btn-close,
.footer-banner.active .footer-banner-btn-open{
	display: none;
}
@media screen and (min-width: 64em) {
	.footer-banner-link img{
		width: 340px;
		height: auto;
	}
}

/* 本文エリアのマージン調整
---------------------------------------------------------- */
#contents section{
	padding-bottom: 7.5rem;
	}
/*
.breadcrumbs{
	margin-bottom: 2.1rem;
	}
.callout{
	margin-bottom: 1.4rem;
	}
#contents section{
	margin-bottom: 4.2rem;
	}
.float-left .photo{
	margin-right: 1.4rem;
	}
.float-right .photo{
	margin-left: 1.4rem;
	}
p{
	margin-bottom: 2em;
	}
#contents section .cell > p,
#contents section .cell > ul,
#contents section .cell > ol,
#contents section .cell > dl{
	margin-bottom:0;
	}
*/

/* 2カラム時の右サイド
---------------------------------------------------------- */
/* コンバージョンエリア */
.side-cv{
	margin-bottom: 1.4rem;
	padding: 1.4rem 0 .8rem;
	}
	.side-cv p{
		margin-bottom: 0;
		}
	.side-cv .catch{
		margin-bottom: 1rem;
		font-size: 1.07rem;
		font-weight: bold;
		}
	.side-cv .link_arrow{
		margin: 1rem 0;
		line-height: 1.4;
		}
	.side-cv .nav > li{
		margin-bottom: .6rem;
		}
	/* キャンペーン中 */
	.side-cv .icon-campaign:before{
		display: block;
		margin: -.5rem 1.2rem .5rem;
		padding: .1em .5em;
		font-size: .6em;
		background: #fff;
		color: #e60033;
		content: 'キャンペーン中！';
		}


/* ローカルナビ */
.side-article{
	margin-bottom: 1.4rem;
	border: 1px solid #e0e0e0;
	}
	/* タイトル */
	.side-article > p{
		margin-bottom: 0;
		}
		.side-article > .category,
		.side-article > p > a{
			padding: .7rem 1.4rem;
			background: #e0e0e0;
			font-size: 1.07rem;
		}
		.side-article > p > a{
			display: block;
			color: #0a0a0a;
			text-decoration: none;
			}
		.side-article > p > a:hover,
		.side-article > p.active > a{
			background: #d0d0d0;
			}
	/* ナビ */
	.side-article ul{
		margin: 0;
		}
		.side-article li{
			border-top: 1px solid #e0e0e0;
			}
			.side-article li a{
				display: block;
				padding: .7rem .7rem .7rem 2.2rem;
				text-indent: -.8rem;
				color: #333;
				text-decoration: none;
				}
				.side-article .link_arrow a:before{
					border-top: 2px solid #999;
					border-right: 2px solid #999;
					}
			.side-article li.active a,
			.side-article li a:hover{
				background: #f5f5f5;
				}
			.side-article .link_arrow .sub a{
				padding-left: 3rem;
				}
			.side-article .link_arrow .sub a:before{
					border-top: 1px solid #999;
					border-right: 1px solid #999;
					}

/* ドメイン検索 */
.side-article input[type="text"]{
	display: inline;
	width: 9rem;
	height: auto;
	margin: 1.4em .5em 1.4em 0;
	padding: .45em 1em;
	font-size: 0.85rem;
	}
.side-article .button.tiny{
	padding: .3em .5em;
	}
/* バナー */
.side-banner p{
	margin-bottom: 1rem;
	}

/* 印刷用の調整
---------------------------------------------------------- */
@media print {
	body{
		background:transparent;
		}
	.global-header,.global-footer,#cloud_header,#gmocommonheader,#gmofooter,#gmocommonfooter{
		display:none;
		}
	/* 右サイドのエリアを非表示に */
	.conversion-block,.side-cv,.side-article,.side-banner{
		display:none;
	}
	/* 印刷時にURLを非表示に */
	a[href]:after,abbr[title]:after {
		content: "" !important;
		}
	/* スクロールテーブルが切れるので調整 */
	table.scroll{
		overflow-x:visible;
		}
}


/*　その他
---------------------------------------------------------- */

/* ライトグレーの背景色 */
.bg-color{
	background: #ebebeb;
	}
/* ライトブルーの背景色 */
.bg-blue{
	background: #e6eaf4;
	}
td > .bg-blue{
	margin: -4px -5px -6px;
	padding: 5px;
	}
/* 75%白背景 */
.bg-white{
	background-color: rgba(255,255,255,.7);
	}
th .bg-white{
	margin-top: 5px;
	padding: .5rem 0;
	font-weight:normal;
	}
/* 共用・専用の各プランの色 */
.bg-type-b,
.bg-type-s,
.bg-type-g,
.bg-type-p,
.bg-managed,
.bg-self{
	line-height: 1.2;
	padding: 15px 5px 5px;
	font-weight: normal;
	}
.bg-type-b{
	background-color: #dedbd5;
	}
.bg-type-s{
	background-color: #e0e0e0;
	}
.bg-type-g{
	background-color: #eae8d9;
	}
.bg-type-p{
	background-color: #e7ecee;
	}
.bg-managed{
	background-color: #cfd6e9;
	}
.bg-self{
	background-color: #c0e0d6;
	}
/* その他のプランの色 */
.bg-mail-s,
.bg-mail-m,
.bg-mail-l,
.bg-shared-wp,
.bg-option{
	padding: 15px 5px 5px;
	line-height: 2;
}
/* メールサービス */
.bg-mail-s{
	background-color: #cfd6e9;
	}
.bg-mail-m{
	background-color: #9fadd3;
	}
.bg-mail-l{
	background-color: #6e83be;
	}
/* WordPressプラン */
.bg-shared-wp{
	background-color: #cfd6e9;
	}
.bg-option{
	background-color: #dfd3e4;
	}

/* 赤文字 */
.text-red{
	color:#f8003f
}

/* NEW */
.text-new{
	color: #e50000;
}

/* 30日返金保証 */
.title-top{
	min-height: 460px;
	margin-bottom: 0 !important;
	padding-bottom: 20px !important;
	background: url(../img/bg_all_pc.jpg) no-repeat 50% 50%;
	background-size: cover;
	}
.title-top.mini{
	min-height: 220px;
	padding-bottom: 0 !important;
	}
.title-top.campaign{
	min-height: 325px;
	padding-bottom: 0 !important;
	background: url(../img/bg_cp_pc.jpg) no-repeat 50% 50%;
	background-size: cover;
	}
.title-top.service{
	background: url(/service/shared/img/kv_shared-server.jpg) no-repeat 50% 50%;
	background-size: cover;
	}
.title-top .grid-container{
	position: relative;
	min-height: 380px;
	}
.title-top.mini .grid-container{
	min-height: 220px;
	}
.title-top.campaign .grid-container{
	min-height: 325px;
	}
.title-top.mini .ttl-h1{
	margin: 0;
	}
.title-top.campaign .ttl-h1{
	margin-bottom: 20px;
	}
.title-top.campaign .bnr img{
	display: inline-block;
	background: rgba(255,255,255,.3);
	padding: 5px;
	}
.title-top .ico_sla{
	position: absolute;
	top: 60px;
	right: 85px;
	}
.title-top .ico_sla-b{
	position: absolute;
	top: 100px;
	right: 0px;
	}

@media screen and (max-width: 39.9375em) {
.title-top{
	padding-bottom: 0;
	background-image: url(../img/bg_all_sp.jpg);
	background-size: cover;
	}
.title-top .grid-container{
	min-height: 400px;
	padding: 60px 40px 0;
	}
.title-top.mini,
.title-top.mini .grid-container,
.title-top.campaign,
.title-top.campaign .grid-container{
	min-height: 0;
	}
.title-top.mini .grid-container,
.title-top.campaign .grid-container{
	padding: 60px 1rem 0;
	}
.title-top.campaign{
	min-height: 310px;
	background-image: url(../img/bg_cp_sp.jpg);
	background-size: cover;
	}
.title-top.service{
	background: url(/service/shared/img/kv_shared-server_sp.jpg) no-repeat 50% 50%;
	background-size: cover;
	}
.title-top.mini .ttl-h1,
.title-top.campaign .ttl-h1{
	margin: 0;
	padding: 1em 0 .6em;
	line-height: 1.2;
	/*
	text-align: center;
	*/
	}
.title-top.campaign .bnr img{
	padding: 2px;
	}
.title-top .ico_sla{
	top: 75px;
	right: 20px;
	}
.title-top .ico_sla img{
	width: 90px;
	}
.title-top .ico_sla-b{
	top: 75px;
	right: 20px;
	}
.title-top .ico_sla-b img{
	width: 80px;
	}
}

.block-border{
	margin-top: 2rem;
	margin-bottom: 2rem;
	text-align: center;
}
.bg-blue .block-border:last-child{
	margin-bottom: 0 !important;
}

.block-border .ttl-h5{
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-right: 1.1rem;
	margin-left:  1.1rem;
	background-color: #fff;
	padding:0 1rem;
	font-size: 1.258rem;
	color: #26459d;
}
.bg-blue .block-border .ttl-h5{
	background-color: #e6eaf4;
}

.block-border .callout{
	margin: -1.5rem 0 0;
	border-radius: 0;
	border-color: #26459d;
	background-color: transparent;
	padding: 1.5rem .5rem .5rem;
	text-align: left;
}

.block-border .button{
	position: relative;
	padding-left: 4rem;
	text-align: left;
	font-weight: bold;
}
.block-border .button img{
	position: absolute;
	top: 50%;
	left: 1rem;
	margin: -15px .5rem 0 0;
	width: 30px;
}
.block-border .button small{
	display: inline-block;
	margin-top: .3rem;
	margin-bottom: .3rem;
	font-weight: normal;
	font-size: .786rem;
}
.block-border .button .text{
	display: table-cell;
	vertical-align: middle;
	height: 2.2rem;
}

@media screen and (min-width: 40em) {
	.block-border{
		margin-top: 4rem;
		margin-bottom: 4rem;
	}
	.block-border .callout{
		padding: .75rem 1rem 1rem;
	}
	.block-border .button{
		margin-top: 1.25rem;
		min-height: 5rem;
		padding: .6em .6em .6em 4.5em;
	}
	.block-border .button img{
		margin-top: -25px;
		width: 50px;
	}
	.block-border .button .text{
		height: 5rem;
	}
	.title-top.mini .grid-container .large-12{
	    display: -webkit-flex;
	    display: -moz-flex;
	    display: -ms-flex;
	    display: -o-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    -moz-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	    align-items: center;
		min-height: 220px;
	}
	.title-top.mini .ttl-h1{
		font-size:3.0rem;
		line-height:1.4;
	}
}
@media screen and (min-width: 64em) {
	.block-border .callout{
		padding: .75rem 2rem 2rem;
	}
	.block-border .button{
		min-height: 7rem;
		padding-left: 9rem;
		font-size: 1.5rem;
	}
	.block-border .button small{
		font-size: 1rem;
	}
	.block-border .button img{
		margin-top: -40px;
		margin-left: 1rem;
		width: 80px;
	}
}

/* 1行ニュース
---------------------------------------------------------- */
.ticker{
	position: relative;
	background-color: rgba(14, 49, 146 ,.7);
	color: #fff;
	z-index: 100;
	}
.ticker.news{
	position: absolute;
	}
	.ticker:before{
		display: inline-block;
		vertical-align:top;
		content: '';
		}
	.ticker small{
		color: rgba(255,255,255,.6);
		}
	.ticker a{
		color: #fff;
		}
@media screen and (max-width: 39.9375em) {
.ticker.news{
	top: 70px;
	left: 0;
	width: 25px;
	min-height: 470px;
	height: calc(100% - 292px);
	font-size: .85rem;
	line-height: 2;
	}
.ticker.news > div{
	max-height:100%;
	padding-top: 2em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	}
.ticker.campaign{
	position: relative;
	width: 100%;
	height: 40px;
	text-indent: 40px;
	line-height: 40px;
	font-size: .929em;
	}
.ticker.campaign > div{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	}
	.ticker:before{
		position: absolute;
		}
	.ticker.news:before{
		width: 25px;
		height: 25px;
		background: url(/template/img/ico_news01.svg) #0e3192 no-repeat 50% 50%;
		background-size: 15px auto;
		}
	.ticker.campaign:before{
		position: absolute;
		width: 40px;
		height: 40px;
		top: 0;
		left: 0;
		background: url(/template/img/ico_campaign.svg) #0e3192 no-repeat 50% 50%;
		background-size: 25px auto;
		}
	.ticker small{
		margin: 1em;
		}
}
@media screen and (min-width: 40em) {
.ticker{
	width: 50%;
	height: 60px;
	padding-top: 10px;
	line-height: 1.2;
	}
.ticker.news{
	top: 73%;
	left: 0;
	}
.ticker > div{
	overflow: hidden;
	height: 2.5em;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
	}
.ticker.news > div{
	text-indent: -95px;
	padding-left: 150px;
	line-height: 40px;
	}
.ticker.campaign > div{
	text-indent: -110px;
	padding-left: 165px;
	}
	.ticker:before{
		position: absolute;
		top: 0;
		left: 0;
		width: 60px;
		height: 60px;
		}
	.ticker.news:before{
		background: url(/template/img/ico_news01.svg) #0e3192 no-repeat 50% 50%;
		background-size: 35px auto;
		}
	.ticker.campaign:before{
		background: url(/template/img/ico_campaign.svg) #0e3192 no-repeat 50% 50%;
		background-size: 35px auto;
		}
	.ticker small{
		margin: 0 1em;
		}
}
@media screen and (min-width: 64em) {
.ticker.news{
	top: 85%;
	}
}

/* 写真と説明テキストのブロック
---------------------------------------------------------- */
.sec-media{
	margin:30px;
	padding-bottom: 0 !important;
	}
.sec-media > div{
	padding: 25px;
	}
.sec-media .ttl-h2{
	margin-top: 0;
	}
.sec-media .caption{
	position: absolute;
	width: 100%;
	max-width: 740px;
	font-size: .875rem;
	text-shadow: 0 0 2px #fff,0 0 2px #fff;
	}
.sec-media .caption.top{
	top: 0;
	}
.sec-media .caption.bottom{
	bottom: 0;
	}
.sec-media .caption.left{
	right: 0;
	text-align: left;
	}
.sec-media .caption.right{
	left: 0;
	text-align: right;
	}
@media screen and (min-width: 40em) {
.sec-media{
	position: relative;
	padding-bottom: 30px !important;
	}
.sec-media > div.grid-x{
	min-height: 450px;
	padding: 0;
	}
.sec-media .pic{
	position: relative;
	/*
	top: -30px;
	*/
	top: 30px;
	}
.sec-media .medium-order-2 .pic{
	right: -30px;
	text-align: right;
	}
.sec-media .medium-order-1 .pic{
	left: -30px;
	}
.sec-media .pic > img{
	object-fit: cover;
	width: 100%;
	height: 420px;
	}
.sec-media .text{
	margin: 1em 0 3em;
	}
}
@media screen and (min-width: 1001px) {
.sec-media{
	margin:30px 50px;
	}
.sec-media .medium-order-2 .pic{
	right: -50px;
	}
.sec-media .medium-order-1 .pic{
	left: -50px;
	}
}
@media screen and (min-width: 1600px) {
.sec-media .pic > img{
	width: auto;
	}
}
@media screen and (max-width: 39.9375em) {
.sec-media{
	margin:15px;
	padding-bottom: 0 !important;
	}
.sec-media .pic{
	position: relative;
	}
	.sec-media .pic .caption > img{
		zoom: .5;
		}
}


/* チャットサービス
---------------------------------------------------------- */
.embeddedServiceHelpButton .helpButton .uiButton {
	position: relative;
	padding-right: 40px !important;
	background-color: #0e3192 !important;
	font-family: "Salesforce Sans", sans-serif;
}
@font-face {
	font-family: 'Salesforce Sans';
	src: url('https://www.sfdcstatic.com/system/shared/common/assets/fonts/SalesforceSans/SalesforceSans-Regular.woff') format('woff'),
	url('https://www.sfdcstatic.com/system/shared/common/assets/fonts/SalesforceSans/SalesforceSans-Regular.ttf') format('truetype');
}
.sidebarHeader a{
	color: #fff;
	}
.sidebarHeader a:hover,
.sidebarBody a:hover{
	text-decoration: none !important;
	}
	.uiButton .label{
		cursor: pointer;
		}
.embeddedServiceLiveAgentStateChatMenuMessage .chatContent .rich-menu{
	width: 240px;
	}
.embeddedServiceLiveAgentStateChatMenuMessage .chatContent .rich-menu-item,
.embeddedServiceLiveAgentStateChatMenuMessage .chatContent .rich-menu-itemOptionIsClicked{
	font-size: 12px;
	padding: .5em;
	text-align: left;
	}

/* snapins_invite */
#snapins_invite {
	position: fixed !important;
	background-color: #fff;
	overflow: visible;
	border-radius: 8px;
	visibility: hidden;
	}

.embeddedServiceInvitation {
	background-color: transparent;
	max-width: 290px;
	max-height: 210px;
	-webkit-box-shadow: 0 7px 12px rgba(0, 0, 0, 0.28);
	-moz-box-shadow: 0 7px 12px rgba(0, 0, 0, 0.28);
	box-shadow: 0 7px 12px rgba(0, 0, 0, 0.28);
	}

@media only screen and (min-width: 48em) {
	.embeddedServiceInvitation {
		max-width: 332px;
		max-height: 210px;
		}
	}

.embeddedServiceInvitation>.embeddedServiceInvitationHeader {
	width: inherit;
	line-height: 32px;
	padding: 10px;
	color: #fff;
	background-color: #0e3192;
	overflow: initial;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	}

.embeddedServiceInvitationHeader #embeddedServiceAvatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	}

.embeddedServiceInvitationHeader .embeddedServiceTitleText {
	font-size: 1.3em;
	color: #fff;
	overflow: hidden;
	word-wrap: normal;
	white-space: nowrap;
	text-overflow: ellipsis;
	align-self: stretch;
	flex-grow: 1;
	max-width: 100%;
	margin: 0 12px;
	}

.embeddedServiceInvitationHeader .embeddedServiceCloseIcon {
	border: none;
	border-radius: 3px;
	cursor: pointer;
	position: relative;
	bottom: 3%;
	background-color: transparent;
	width: 32px;
	height: 32px;
	font-size: 23px;
	color: #fff;
	}

.embeddedServiceInvitationHeader .embeddedServiceCloseIcon:focus {
	outline: none;
	}

.embeddedServiceInvitationHeader .embeddedServiceCloseIcon:focus::before {
	content: " ";
	position: absolute;
	top: 11%;
	left: 7%;
	width: 85%;
	height: 85%;
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	pointer-events: none;
	}

.embeddedServiceInvitationHeader .embeddedServiceCloseIcon:active, .embeddedServiceCloseIcon:hover {
	background-color: #fff;
	color: rgba(0, 0, 0, 0.7);
	opacity: 0.7;
	}

.embeddedServiceInvitation>.embeddedServiceInvitationBody {
	max-height: 110px;
	min-width: 260px;
	margin: 0 8px;
	font-size: 14px;
	line-height: 2 0px;
	overflow: auto;
	}

.embeddedServiceInvitationBody p {
	color: #333;
	padding: 8px;
	margin: 12px 0;
	font-size: 1.1em;
	}

.embeddedServiceInvitation>.embeddedServiceInvitationFooter {
	width: inherit;
	color: #fff;
	text-align: right;
	padding: 10px;
	max-height: 50px;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	}

.embeddedServiceInvitationFooter>.embeddedServiceActionButton {
	font-size: 14px;
	max-height: 40px;
	border: none;
	border-radius: 4px;
	padding: 10px;
	margin: 4px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	}

.embeddedServiceInvitationFooter>#acceptInvite {
	background-color: #0e3192;
	color: #fff;
	}

.embeddedServiceInvitationFooter>#rejectInvite {
	background-color: #fff;
	color: #0e3192;
	}

.embeddedServiceHelpButton .helpButton .uiButton::after{
	position: absolute;
	top: -12px;
	right: 0;
	content: url(/template/img/ico_chat_support.png);
	}
.embeddedServiceHelpButton .embeddedServiceIcon{
	display:none !important;
	}
