@charset "UTF-8";

/* ==================================================
shared
================================================== */
#wrapper {
	min-width:1280px;
	margin:0 auto;
}
.container {
	padding:0 20px;
	max-width:1440px;
	min-width:1280px;
	margin:0 auto;
}
/* header
============================== */
header {
	background:url(../images/header/head_top_bg.jpg) repeat-x top center;
	padding-top:10px;
}
header .wrap_container {
	color:#fff;
	background-color:#101A1E;
	background:-webkit-gradient(linear, center top, center bottom, from(#000), to(#101A1E));
	background:-ms-linear-gradient(top, #000, #101A1E);
	background:linear-gradient(to bottom, #000, #101A1E);
	padding:5px 0;
}
#head_logo {
	display:table;
	float:left;
}
header #logo_s {
	font-size:87.5%;
	font-weight:bold;
	padding-left:20px;
}
#head_login {
	display:table;
	float:right;
	margin-top:12px;
}
header #logo {
	width:130px;
}
header #logo,
header #logo_s,
#head_login p {
	display:table-cell;
	vertical-align:middle;
}
#head_login .login_txt {
	font-size:75%;
	padding-right:20px;
}
/* head_login_btn */
.globalMenuSp .head_login_btn {
	display:none;
}
.head_login_btn {
	text-align:center;
	font-size:125%;
	font-weight:bold;
}
.head_login_btn a {
	padding:12px 5px;
	display:inline-block;
	/* min-width:300px; */
	min-width:200px;
	text-decoration:none;
	color:#fff;
	background-color:#CC0033;
	background:-webkit-gradient(linear, center top, center bottom, from(#CC0033), to(#FF6699));
	background:-ms-linear-gradient(top, #CC0033, #FF6699);
	background:linear-gradient(to bottom, #CC0033, #FF6699);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: 0.2s linear;
}
.head_login_btn a::after {
	content:'';
	position: absolute;
	z-index: -1;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	transition: 0.2s linear;
}
.head_login_btn a:hover::after {
	left: 0;
	background-color:#B7002E;
}
.head_login_btn a::before {
	content:'';
	position:absolute;
	bottom:5px;
	right:5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #fff transparent;
	z-index:1;
}

/* ==2021/06/01 ADD================================================ */
#head_trial p {
	display:table-cell;
	vertical-align:middle;
}
#head_trial .trial_txt {
	font-size:75%;
	padding-right:20px;
}
/* head_trial_btn */
.globalMenuSp .head_trial_btn {
	display:none;
}
.head_trial_btn {
	text-align:center;
	font-size:125%;
	font-weight:bold;
}
.head_trial_btn a {
	padding:12px 5px;
	display:inline-block;
	min-width:200px;
	text-decoration:none;
	color:#fff;
	background-color:#3300CC;
	background:-webkit-gradient(linear, center top, center bottom, from(#3300CC), to(#9966FF));
	background:-ms-linear-gradient(top, #3300CC, #9966FF);
	background:linear-gradient(to bottom, #3300CC, #9966FF);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: 0.2s linear;
}
.head_trial_btn a::after {
	content:'';
	position: absolute;
	z-index: -1;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	transition: 0.2s linear;
}
.head_trial_btn a:hover::after {
	left: 0;
	background-color:#2E00B7;
}
.head_trial_btn a::before {
	content:'';
	position:absolute;
	bottom:5px;
	right:5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #fff transparent;
	z-index:1;
}

/* maincontents
============================== */
#maincontents {
	padding:60px 0;
	width:100%;
	clear:both;
}
#main {
	padding:20px 0;
	width:100%;
	clear:both;
}
/* gnavi
============================== */
.navToggle {
	display:none;
}
.globalMenuSp {
	background:url(../images/header/head_btm_bg.jpg) repeat-x bottom center;
	padding-bottom:6px;
	clear:both;
}
.globalMenuSp .wrap_container {
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	background-color:#000;
	color:#fff;
}
.globalMenuSp ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flex;
    display: -ms-flexbox;
    display: -o-flex;
    display: flex;
	list-style:none;
	border-left:1px solid #333;
}
.globalMenuSp ul li {
	width:16.6%;
	width: calc(100% / 6);
	text-align:center;
	line-height:1.2;
}
.globalMenuSp ul li a {
	position: relative;
	display:block;
	padding:10px 0;
	text-decoration:none;
	background-color:#000;
	color:#fff;
	border-right:1px solid #333;
	transition: transform .3s;
}
.globalMenuSp ul li span {
	display:block;
}
.globalMenuSp ul li .list {
	font-weight:bold;
}
.globalMenuSp ul li .en {
	color:#00ACEF;
	font-size:75%;
	font-family: 'Lora', serif;
}
.globalMenuSp ul li a::after {
	content: '';
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height:4px;
	background:#009BD9;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
.globalMenuSp ul li a:hover::after {
	transform: scale(1, 1);
}
.globalMenuSp ul li.acive a {
	background-color:#0F181B;
	background-image:url(../images/navi/gnavi_on_bg.png);
	background-repeat:no-repeat;
	background-position:right bottom;
}
.globalMenuSp ul li.acive a::after {
	transform: scale(1, 1);
}
/* page_ttl
============================== */
.page_ttl_wrap {
	padding-top:100px;
	position:relative;
	margin:0 0 15px;
	clear:both;
}
.page_ttl_wrap::before {
	content:"";
	z-index:-1;
	position:absolute;
	top:0;
	right:0;
	width:70%;
	height:270px;
	background-repeat:no-repeat;
	background-position:right top;
	background-image:url(../images/free/page_ttl.jpg);
}
#page_ttl_store::before {
	background-image:url(../images/free/page_ttl_store.jpg);
}
#page_ttl_initiation::before {
	background-image:url(../images/free/page_ttl_initiation.jpg);
}
#page_ttl_usage::before {
	background-image:url(../images/free/page_ttl_usage.jpg);
}
.page_ttl {
	height:200px;
	color:#fff;
	position:relative;
}
.page_ttl h1 {
	position:relative;
	z-index:10;
	display:table-cell;
	vertical-align:middle;
	height:200px;
	font-size:212.5%;
}
.page_ttl::before {
	content:"";
	z-index:1;
	position:absolute;
	top:0;
	left:0;
	width:50%;
	height:200px;
}
#page_ttl_store .page_ttl::before {
	background-color:#990066;
	background: -webkit-gradient(linear, left top, right bottom, from(#990066), to(#7E318C));
	background: -moz-linear-gradient(left, #990066, #7E318C);
	background:linear-gradient(to left, #990066, #7E318C);
}
#page_ttl_initiation .page_ttl::before {
	background-color:#FF3000;
	background: -webkit-gradient(linear, left top, right bottom, from(#FF9900), to(#FF3000));
	background: -moz-linear-gradient(left, #FF9900, #FF3000);
	background:linear-gradient(to left, #FF9900, #FF3000);
}
#page_ttl_usage .page_ttl::before {
	background-color:#006633;
	background: -webkit-gradient(linear, left top, right bottom, from(#99CC00), to(#006633));
	background: -moz-linear-gradient(left, #99CC00, #006633);
	background:linear-gradient(to left, #99CC00, #006633);
}
#page_ttl_service .page_ttl::before {
	background-color:#005EB9;
	background: -webkit-gradient(linear, left top, right bottom, from(#00CCFF), to(#005EB9));
	background: -moz-linear-gradient(left, #00CCFF, #005EB9);
	background:linear-gradient(to left, #00CCFF, #005EB9);
}
#page_ttl_privacy .page_ttl::before {
	background-color:#333366;
	background: -webkit-gradient(linear, left top, right bottom, from(#6B6BB6), to(#333366));
	background: -moz-linear-gradient(left, #6B6BB6, #333366);
	background:linear-gradient(to left, #6B6BB6, #333366);
}
.page_ttl h1::after {
	content:"";
	z-index:1;
	position:absolute;
	bottom:-45px;
}
#page_ttl_store .page_ttl h1::after {
	left:180px;
	width:630px;
	height:230px;
	background:url(../images/free/page_ttl_store_en.png) no-repeat;
}
#page_ttl_initiation .page_ttl h1::after {
	left:380px;
	width:370px;
	height:180px;
	background:url(../images/free/page_ttl_initiation_en.png) no-repeat;
}
#page_ttl_usage .page_ttl h1::after {
	left:380px;
	width:370px;
	height:180px;
	background:url(../images/free/page_ttl_usage_en.png) no-repeat;
}
#page_ttl_service .page_ttl h1::after {
	left:240px;
	width:520px;
	height:210px;
	background:url(../images/free/page_ttl_service_en.png) no-repeat;
}
#page_ttl_privacy .page_ttl h1::after {
	left:180px;
	width:630px;
	height:230px;
	background:url(../images/free/page_ttl_privacy_en.png) no-repeat;
}
/* pankuzu
============================== */
#pankuzu {
	font-size:87.5%;
	margin:0 0 50px;
}
#pankuzu a {
	padding-right:20px;
	position:relative;
}
#pankuzu a::after {
	content:"";
	position:absolute;
	right:8px;
	top:0.4em;
    width:8px;
    height:8px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* pnavi
============================== */
#pnavi {
	text-align:center;
}
#pnavi p {
	width:130px;
	margin:0 auto;
}
#pnavi p a {
	background:url(../images/navi/pnavi.png) no-repeat left top;
	display:block;
	width:130px;
	height:50px;
	transition: 0.3s;
}
#pnavi p a:hover {
	opacity:0.7;
}
#pnavi p span {
	display:block;
	width:130px;
	height:50px;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}
/* footer
============================== */
footer {
	clear:both;
}
#foot_func_wrap {
	border-top:5px solid #000;
	background:url(../images/footer/foot_bg.jpg) repeat-x left bottom;
}
#foot_func {
	padding:30px 0 40px;
	background:url(../images/footer/foot_top_shadow.png) repeat-x left top;
}
#foot_func_inner {
	padding:20px 0;
	background-color:rgba(255, 255, 255, 0.5);
}
footer .foot_main {
	display:table;
	width:100%;
}
footer .foot_main > div {
	display:table-cell;
	vertical-align: middle;
	padding:0 10px;
}
footer .foot_main_add p {
	line-height:1.2;
	font-weight:bold;
}
footer .foot_main .logo {
	display:table-cell;
	vertical-align: middle;
	width:130px;
}
footer .foot_main .add_wrap {
	display:table-cell;
	vertical-align: middle;
}
footer .foot_main_add .branch {
	display:inline-block;
	text-align:center;
	background-color:#6E3C0B;
	color:#fff;
	padding:5px 10px;
	font-size:85.7%;
	font-weight:normal;
	margin-bottom:5px;
}
footer .foot_main_tel,
footer .foot_main_mail {
	vertical-align:top !important;
	text-align:center;
	line-height:1.2;
	font-weight:bold;
	background:url(../images/footer/dot_line.png) repeat-y left top;
}
footer .foot_main_tel {
	width:290px;
}
footer .foot_main_mail {
	width:370px;
}
footer .foot_main_tel p,
footer .foot_main_mail p {
	line-height:1.2;
    font-family: 'Oswald', sans-serif;
}
footer .foot_main_tel p {
	font-size:225%;
	background:url(../images/footer/icon_tel.png) no-repeat top center;
	padding-top:34px;
}
footer .foot_main_mail p {
	font-size:162.5%;
	background:url(../images/footer/icon_mail.png) no-repeat top center;
	padding-top:40px;
}
footer .foot_main_mail p a {
	color:#000;
	text-decoration:none;
	position:relative;
	padding-bottom:5px;
}
footer .foot_main_mail p a::after {
	background-color:#6E3C0B;
	bottom: 0;
	content: '';
	display: block;
	height: 2px;
    left: 50%;
    transform: translateX(-50%);
	position: absolute;
	transition: .5s all;
	width: 0;
}
footer .foot_main_mail p a:hover::after {
	width: 100%;
}
#foot_fnavi {
	padding:30px 0 15px;
	background-color:#000;
	color:#fff;
	clear:both;
}
#foot_fnavi ul {
	list-style:none;
	text-align:center;
	margin:0 auto 30px;
	font-size:85.7%;
}
#foot_fnavi ul li {
	line-height:1;
	display:inline-block;
	vertical-align:top;
	border-right:1px solid #666;
	padding:0 20px;
}
#foot_fnavi ul li:first-child {
	border-left:1px solid #666;
}
#foot_fnavi ul li a {
	color:#fff;
	text-decoration:none;
	position:relative;
	padding:2px 10px 5px;
}
#foot_fnavi ul li a::after {
	background-color:#00ACEF;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
    left: 50%;
    transform: translateX(-50%);
	position: absolute;
	transition: .5s all;
	width: 0;
}
#foot_fnavi ul li a:hover::after {
	width: 100%;
}
footer address {
	font-size:85.7%;
	font-style:normal;
	text-align:center;
	font-family: 'Lora', serif;
	clear:both;
}
/* ==================================================
clearfix
================================================== */
.wrap_container:after,
.container:after,
.globalMenuSp:after,
#maincontents:after,
#main:after,
#contents:after,
footer:after,
#foot_fnavi ul:after {
	content: ""; 
	display: table;
	clear: both;
}

/* ==2021/06/01 ADD================================================ */
.floating-banner {
	/*  position: fixed; */  /* 追従 */
	position: absolute;      /* 追従しない */
	z-index: 99999;          /* 他の要素の下に隠れないように */
	bottom: 1px;             /* バナーの上下の位置 */
	top: 500px;              /* バナーの上下の位置 */
	right: 10px;             /* バナーの左右の位置 */
}
.floating-banner:hover {
	opacity: 1;              /* ホバーで少し透過 */
}


