@charset "utf-8";
/* CSS Document */
/* ------------------------------------------------------------------------ */

/*  Reset

/* ------------------------------------------------------------------------ */

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,p,blockquote {
	margin 	: 0;
	padding : 0;
}

fieldset {
	display	: inline;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style : normal;
}

body/**/table {
	line-height	: 1.5;
}

q:before,
q:after {
	content : '';
}

object,embed {
	vertical-align : top;
}

hr,legend	{
	display : none;
}

h1,h2,h3,h4,h5,h6 {
	font-size : 100%;
}

img,abbr,acronym,fieldset {
	border : 0;
}

li {
	list-style-type : none;
}

img[usemap] {
	border		: none;
	height		: auto;
	max-width	: 100%;
	width		: auto;
}

img {
	border		: 0;
	max-width	: 100%;
}

i {
	padding	: 5px 5px 2px 0;
}

p {
	word-break	: break-all;
}

/* Flexible Images */
img{
    max-width	: 100%;
    height		: auto;
    width /***/	: auto;
}

submit	{ -webkit-appearance : none;}

/* ------------------------------------------------------------------------ */

/*  Basic Style

/* ------------------------------------------------------------------------ */

body {
	margin		: 0;
	padding		: 0;
	height		: 100%;
	font-family: "Roboto", "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size	: 1.6rem;
	font-size	: 16px;
	line-height	: 1.5;
	text-align	: center;
	color		: #000;
	-webkit-text-size-adjust	: 100%;
	font-smoothing	: auto;
}

body *,
body *:before,
body *:after {
    box-sizing: border-box;
}

#wrap{
	margin		: 0 auto;
	text-align	: center;
	overflow: hidden;
}

body > #wrap { height : auto;}

body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}

.contents{
	max-width: 1000px;
	width: calc(100% - 40px);
	margin: 0 auto;
}

.flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.spStyle{
	display: none;
}

.indent{
	text-indent: -1em;
	padding-left: 1em;
}

.roboto{
	font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 768px){
	body {
		font-size: 1.5rem;
	}
	.pcStyle{
		display: none;
	}
	.spStyle{
		display: inherit;
	}
}

/* Link
--------------------------------------------------------------------------- */

.opacity a:hover img{
	opacity: 0.85;
}

a{
	color: #ea5404;
}

a:hover{
	text-decoration: none;
}

a.blank::after{
	content: "\f08e";
	font-family: "FontAwesome";
	color: #b3b3b3;
	margin-left: 3px;
}

.btn{
	display: inline-block;
	max-width: 380px;
	width: 100%;
	color: #fff;
	background: #4d4d4d;
	line-height: 60px;
	text-decoration: none;
	position: relative;
	border: solid 1px #4d4d4d;
	transition: 0.3s;
	text-align: center;
}

.btn::after{
	content: "\f054";
	font-family: "FontAwesome";
	font-weight: 600;
	position: absolute;
	top: 0;
	right: 20px;
}

.btn:hover{
	opacity: 0.8;
}

@media screen and (max-width: 550px){
	.btn{
		max-width: inherit;
		line-height: 48px;
	}
}
@media screen and (max-width: 320px){
	.btn::after{
		right: 10px;
		font-size: 1.2rem;
	}
}

/* ------------------------------------------------------------------------ */

/* Hedaer

/* ------------------------------------------------------------------------ */

header {
	height: 110px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: stretch;
	background: #fff;
	box-shadow: 0 2px 6px 0 rgba(0,0,0,0.08);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	transition: 0.3s ease-in-out;
}
header > .inner{
	max-width: 1000px;
	width:calc(100% - 40px);
	margin: 0 auto;
}

header h1{
	max-width: 61px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.3s ease-in-out;
}
header h1 a{
	width: 100%;
	height: 100%;
}

.hg_menu_btn{
	display: none;
}

header nav .page_nav li{
	height: 100%;
}
header nav .page_nav li + li{
	margin-left: 60px;
}

header nav .page_nav li a{
	color: #000;
	font-size: 1.6rem;
	font-weight: 500;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
header nav .page_nav li a:hover{
	opacity: 0.8;
}

header nav .page_nav li img{
	image-rendering: pixelated;
}


@media screen and (min-width: 1024px){
	header nav{
		display: block !important;
	}
	header.hide{
		height: 65px;
	}
	header.hide h1{
		max-width: 41px;
	}
}
@media screen and (max-width: 1023px){
	header{
		height: 60px;
	}
	header h1{
		max-width: 35px;
	}
	
	.hg_menu_btn {
		appearance: none;
		cursor: pointer;
		border: none;
		background: none;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		flex-shrink: 0;
		padding: 0;
		position: relative;
		top: inherit;
		z-index: 9999;
		width: 40px;
		height: 30px;
		transition: 0.3s;
	}
	.hg_menu_btn span {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 2px;
		background: #000;
		transition: 0.4s ease;
		border-radius: 1px;
	}
		.hg_menu_btn span::before,
		.hg_menu_btn span::after{
			content: "";
			position: absolute;
			background: #000;
			border-radius: 1px;
			display: block;
			height: 2px;
			width: 100%;
			transition: .4s;
		}
			.hg_menu_btn span::before {
				bottom: 12px;
			}
			.hg_menu_btn span::after {
				top: 12px;
			}
	
	.navIn .hg_menu_btn span{
		transform: rotate(180deg);
		background: none;
	}
	.navIn .hg_menu_btn span::before{
		top: 50%;
		transform: translateY(-50%) rotate(25deg);
	}
	.navIn .hg_menu_btn span::after{
		top: 50%;
		transform: translateY(-50%) rotate(-25deg);
	}
	
	header nav {
		display: block;
		padding: 0 0 100px;
		overscroll-behavior: auto;
		overflow-y: auto;
		transition: 0.3s;
		width: 100%;
		height: 100vh;
		position: absolute;
		bottom: 100%;
		left: 0;
		opacity: 0;
	}
	header nav .js-close{
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(68,68,68,0.5);
		position: absolute;
		top: 0;
		left: 0;
	}
	header.navIn nav {
		opacity: 1;
		top: 100%;
		bottom: auto;
		z-index: 8888;
	}
	header nav .page_nav{
		display: block;
		height: auto;
		position: relative;
		z-index: 10;
	}
	
	header nav .page_nav li{
		background: #fff;
		text-align: left;
		border-top: solid 1px #000;
	}
	header nav .page_nav li:last-child{
		border-bottom: solid 1px #000;
	}
	
	header nav .page_nav li.google,
	header nav .page_nav li + li{
		margin: 0 auto;
	}
	header nav .page_nav li a{
		justify-content: space-between;
		padding: 15px;
		width: 100%;
		position: relative;
	}
	header nav .page_nav li a::after{
		content: "\f054";
		font-family: "FontAwesome";
		font-weight: 600;
		
	}
}


/* ------------------------------------------------------------------------ */

/* Contents

/* ------------------------------------------------------------------------ */

#mainBlock {
	clear : both;
	padding-top: 110px;
}

#sec_terms #faqBtn{
	margin-top: 61px;
	text-align: center;
}

#sec_terms{
	text-align: left;
}

#sec_terms .ttl{
	font-size: 2rem;
}

#sec_terms .container{
	margin-top: 90px;
}

#sec_terms .container + .container{
	margin-top: 45px;
}

#sec_terms .container p{
	margin-top: 18px;
	line-height: 2;
}

#sec_terms .container ul{
	margin-top: 18px;
	line-height: 2;
}

#sec_terms #fixBnr{
	background: #ea5404;
	padding: 20px 15px;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 100;
}

#sec_terms #fixBnr img{
	max-width: 620px;
	width: 100%;
}

@media screen and (max-width: 1023px){
	#mainBlock {
		padding-top: 60px;
	}
}
@media screen and (max-width: 768px){
	#sec_terms #faqBtn{
		margin-top: 51px;
	}
	#sec_terms .container {
		margin-top: 107px;
	}
	#sec_terms .container + .container{
		margin-top: 47px;
	}
	#sec_terms #fixBnr{
		padding: 10px 15px;
	}
}
/* ------------------------------------------------------------------------ */

/* Footer

/* ------------------------------------------------------------------------ */

.sp_style{
	display: none;
}
.footer_l li a {
	font-size: 12px;
	color: #1a1a1a;
}

#footer {
	overflow	: hidden;
	margin		: 86px auto 0;
	padding		: 20px 15px 150px;
	background	: #FFF;
	border-top: solid 1px #c9c9c9;
}

	#footer_box {
		margin	: 0 auto;
		max-width	: 1000px;
	}

.footer_l {
	float	: left;
	width	: 600px;
}

.footer_l .ft_logo {
	float		: left;
	margin-right: 30px;
}

.footer_l ul {
	padding-top	: 12px;
}

.footer_l li {
	float		: left;
	border-right: 1px solid #c9c9c9;
	line-height	: 1;
	padding		: 0 15px;
}

.footer_l li.last {
	border-right	: none;
}

.footer_l li a {
	font-size	: 12px;
}
.footer_l .copyright {
	font-size	: 10px;
	color		: #818181;
	clear		:both;
	padding-top	: 25px;
	text-align: left;
}

.footer_r {
	float	: right;
}

@media screen and (max-width:768px) {
	#footer{
		margin-top: 104px;
	}
}
@media screen and (max-width:767px) {
	.sp_style{
		display: block;
	}

	.pc_style{
		display: none;
	}

	#footer {
		clear: both;
		width: 100%;
		font-size: 10px;
		background-color: #fff;
		color:#fff;
		text-align:center;
		min-width:100%;
	}

	#footer_nav {
		text-align: center;
	}
	#footer_nav li {
		display: inline;
	}
	#footer_nav li + li:before {
		content: '|';
		margin: 0 8px;
		color: #000;
		font-size: 1.6rem;
	}
	#footer_logobox {
		width: 62.5%;
		margin: 3.125% auto 1.5625%;
		display: flex;
		align-items: center;
		-webkit-justify-content: space-between; /* Safari */
		justify-content:         space-between;
	}
	#ft_logo {
		width: 70%;
	}
	#ft_privacy {
		width: 25%;
	}
	
	#footer #copyright {
		margin-bottom: 5.625%;
		text-align: center;
		color: #000;
		font-size: 3.5vw;
	}

	#footer a {
		position: relative;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	#footer #footer_nav a:link,
	#footer #footer_nav a:visited {
		color: #302624;
		text-decoration: none;
		font-size: 3.5vw;
	}
	#footer a:hover, a:active {
		color: #302624;
		text-decoration: underline;
	}

	#footer img{
		width: 100%;
		height: auto;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 620px) {
	#footer{
		padding-bottom: 25%;
	}
}
