@charset "UTF-8";

/*-----------------------------------

	base

-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: "Noto Sans JP","メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 15px;
    font-size: 1.5em;
	color: #000000;
    line-height: 1.8em;
	letter-spacing: 0.1em;
	font-weight: 400;
	background: #fff;
	margin:0 !important;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	z-index: 999;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
body.is_fixed .nav_fix {
    background: #fff;
    position: fixed;
    top: 0;
    margin-top: 0;
    width: 100%;
    z-index: 9999;
}
.lower_bg {
    background: #f8f8f8;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
::selection {
	background: #3399ff;
	color: #fff;
}

//Firefox
::-moz-selection {
	background: #f68529;
	color: #fff;
}
.contents_inner{
	width: 1000px;
	margin: 0 auto;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
	color:#333434;
	text-decoration:none;
    cursor: pointer;
}
a:hover {
	color:#000000;
	text-decoration:none;
	transition : 0.2s ;
	-webkit-transition : 0.1s ;
	-moz-transition    : 0.1s ;
	-o-transition      : 0.1s ;
	-ms-transition     : 0.1s ;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a img{
	transition : 0.2s ;
	-webkit-transition : 0.2s ;
	-moz-transition    : 0.2s ;
	-o-transition      : 0.2s ;
	-ms-transition     : 0.2s ;
}
a:hover img {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

.sp {
	display:none;
}
.tab {
	display:none;
}
.pc {
	display:block;
}

.min {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 30px;
    color: #666564;
	text-align:center;
}
h2 span{
	display:block;
    font-size: 18px;
	line-height:200%;
    color: #6A98D0;
	padding-top:5px;
}
h2 .h2_style {
	margin-bottom:60px;	
}
.link_btn{
	display: block;
	width: 400px;
	max-width: 80%;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	height: 80px;
	line-height: 80px;	
	z-index: 100;
	background: #6A98D0;
	margin:60px auto 0;
	color: #fff !important;
	position: relative;
	-webkit-transition: all .25s ease;
	transition: all .25s ease;
	overflow: hidden;
	border-radius:40px;
}
.link_btn::before{
	position: absolute;
    top: 5px;
    right: 20px;
    content: url(../img/index/icon_arrow.png);
}
.link_btn:hover{
	opacity:0.8;
}
.main_white_wave {
	background:#fff;	
}
.blue_wave {
	background:#fff;	
}
.white_wave {
	background:#bbdff6;	
}
@media screen and (max-width: 1150px) {

	.contents_inner{
		width: 95%;
	}

}

@media screen and (max-width: 840px) {

	body {
		font-size: 13px;
		font-size: 1.3em;
		line-height: 1.6em;
		font-weight: normal;
		letter-spacing: 0.05rem;
	}
	.contents_inner{
		width: 90%;
		margin: 0 auto;
	}
	.sp{
		display:none;
	}
	.pc{
		display:none;
	}
	.tab{
		display:block;
	}

}

@media screen and (max-width: 640px) {

	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	h2 {
		position:absolute;
		left:0;
		right:0;
		margin:0 auto;
		top:-50px;
		font-size: 18px;
	}
	h2 span{
		font-size: 14px;
	}
	h2 .h2_style {
		width:129px;
		margin-bottom:0;	
	}
	.link_btn {
		font-size: 14px;
		height: 60px;
		line-height: 60px;
	}

}

/*-----------------------------------

	clearfix

-----------------------------------*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}

/*-----------------------------------

	header

-----------------------------------*/
header {
	background:#fff;
	z-index: 999;
	width:100%;
	position: fixed;
}
header .logo_area {
	padding: 8px 0 8px 20px;
}
header h1 {
	width:150px;
	display: inline-block;
	font-size: 13px;
}
#nav_pc {
    width: 80%;
    margin: 0 auto;
	padding-bottom:15px;
}
#nav_pc li {
	float: left;
	width:130px;
}
#nav_pc li a {
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    color: #363636;
    position: relative;
    -moz-transition: ease 0.2s;
    -webkit-transition: ease 0.2s;
    transition: ease 0.2s;
}
#nav_pc li a:hover {
	color: #6a98d0;
	-moz-transition: ease 0.2s;
	-webkit-transition: ease 0.2s;
	transition: ease 0.2s;
}

/*sub_nav*/
.head_top{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.sub_nav{
	padding-top: 30px;
}
.sub_nav li{
	display:inline-block;
	vertical-align:middle;
}
.fa-twitter,
.fa-instagram,
.fa-line {
	font-size:30px;	
}
.sub_nav .login {
}
.sub_nav .login a{
	font-size:14px;
	height: 30px;
    line-height: 30px;
	background: #6a98d0;
    text-align: center;
	padding: 10px 20px;
	color: #fff !important;
	border-radius:30px;
}
.sub_nav a {
	color: #6a98d0 !important;
	padding-right: 15px;
	vertical-align:middle;
}
.sub_nav a:hover {
	opacity:0.8;
}
#nav_sp{
	display: none;
}


@media screen and (max-width: 840px) {

	header .contents_inner{
		width: 100%;
	}
	header .logo_area {
		padding: 7px 0 7px 10px;
	}
	#nav_pc {
		display: none;
	}
	#nav_sp{
		display: block;
		/*position:relative;
		z-index:99999;*/
	}
	#menu{
		display: none;
		background: #bbdff6;
		width: 100%;
		position:absolute;
		left: 0;
		top: 92px;
		width: 100%;
		margin: 0 auto;
		z-index: 99;
		box-shadow: 0 12px 10px -10px rgba(0,0,0,.3);
	}
	#menu .menu_nav {
		overflow:hidden;
		margin-bottom:20px;
		border-bottom: 3px dotted #ffffff;
	}
	#menu .menu_nav li{
		float:left;
		width:50%;
		text-align: center;
		border-top: 3px dotted #ffffff;
	}
	#menu .menu_nav li:first-child{
		width:100%;
		border-top: none;
	}
	#menu .menu_nav li:nth-child(even){
		border-right:3px dotted #ffffff;
	}
	#menu .menu_nav li a {
		font-size: 13px;
		font-weight: 500;
		text-decoration: none;
		display:inline-block;
		padding: 15px 20px;
		position:relative;
	}
	#menu .menu_nav li a:before {
		content:"";
		position:absolute;
		top:22px;
		left:7px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 3px 0 3px 6px;
		border-color: transparent transparent transparent #6a98d0;
	}
	#menu .menu_nav li a:hover {
		color: #717171;
	}
	#sp-icon {
		display: block;
		width: 30px;
		height: 25px;
		position:absolute;
		right: 0px;
		top: 0px;
		z-index: 9999;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		margin:3rem 1.55rem 0 1.55rem;
	}
	#sp-icon:hover {
		cursor: pointer;
		opacity: 0.7;
	}
	#sp-icon span,
	#sp-icon span:before,
	#sp-icon span:after {
		display: inline-block;
		width: 30px;
		height: 3px;
		background: #6A98D0;
		position: absolute;
		transition-property: transform;
		transition-duration: 0.3s;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
	}
	#sp-icon span {
		left: 50%;
		top: 50%;
		transform: translate( -50%, -50% );
	}
	#sp-icon span:before {
		content: "";
		transform: translateY( -10px ) rotate( 0deg );
	}
	#sp-icon span:after {
		content: "";
		transform: translateY( 10px ) rotate( 0deg );
	}
	.sp-open span {
		background: transparent !important;
	}

	.sp-open span:before {
		transform: rotate( 45deg ) !important;
	}

	.sp-open span:after {
		transform: rotate( -45deg ) !important;
	}
	.sub_nav {
		display:none;	
	}
	/*sub_nav*/
	.sub_nav_sp{
		width:50%;
		margin:0 auto;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.sub_nav_sp li{
		padding-right:20px;
		text-align:center !important;
	}
	.sub_nav_sp li:last-child{
		padding-right:0;
	}
	.sub_nav_sp .fa-twitter,
	.sub_nav_sp .fa-instagram,
	.sub_nav_sp .fa-line {
		font-size:35px;
	}
	.sub_nav_sp .login {
		height: 45px;
		line-height: 45px;
		padding: 0 !important;
		/*margin-top:10px;*/
	}
	.sub_nav_sp .login a{
		width:200px;
		font-size:14px;
		background: #6a98d0;
		text-align: center;
		padding: 0 !important;
		color: #fff !important;
	}
	.sub_nav_sp a {
		color: #6a98d0 !important;
	}
	.sub_nav_sp a:hover {
		opacity:0.8;
	}
	
	.contact_btn {
		overflow:hidden;
		padding:0 !important;
	}
	.contact_btn .btn_nav {
		width: 50%;
		float:left;
		color: #fff;
		line-height: 50px;
		height: 50px;
		text-align: center;
		font-size: 14px;
		padding:0 !important;
		letter-spacing: 0.3rem;
	}
	.contact_btn .contact {
		background: #8abde7;
		background-image: radial-gradient(#a2c7e6 25%, transparent 25%), radial-gradient(#a2c7e6 25%, #ffffff00 25%);
		background-size: 10px 10px;
		background-position: 0 0, 5px 5px;
	}
	.contact_btn .try {
		background: #F490CA;
		background-image: radial-gradient(#faa9d8 25%, transparent 25%), radial-gradient(#faa9d8 25%, #ffffff00 25%);
		background-size: 10px 10px;
		background-position: 0 0, 5px 5px;
	}
	.contact_btn .icon_mail {
		display:inline-block;
		vertical-align:middle;	
		padding-right:5px;
	}
	
	/*#sp-icon {
		height: 89px;
	}*/
	#menu {
		top: 84px;
	}
	.button-toggle {
		width: 60px;
		height: 45px;
		top: 6px;
		right: 10px;
	}
	.button-toggle span {
		top: 0;
		bottom: 0;
		margin: auto;
		border-bottom: 15px solid #44b256;
		border-top-width: 12px;
	}
	.button-toggle span:before,
	.button-toggle span:after {
		height: 3px;
	}
	.menu {
		top: 55px;
	}
	.fa-twitter, .fa-instagram {
		font-size: 18px;
	}
	#menu .tel_btn {
		overflow:hidden;
		width: 400px;
		max-width: 90%;
		text-align: center;
		color: #6a98d0;
		background: #fff;
		padding: 10px 0;
		border-radius: 10px;
		margin:20px auto;
	}
	#menu .ft_tel {
		color: #6a98d0;
		font-size: 24px;
		font-weight: 900;
		border-bottom: 1px solid #6a98d0;
		padding-bottom: 10px;
		position: relative;
	}
	#menu .reception {
		color: #000;
    	padding-top: 10px;
		margin-top: 10px;
	}
	#menu .reception span {
		padding-right: 20px;
	}
		
}

@media screen and (max-width: 640px) {
	header h1 {
		width:35%;
	}
	/*#sp-icon {
		width: 60px;
		height: 63px;
	}*/
	#menu {
		top: 63px;
	}
	#sp-icon {
		margin: 2rem 1.55rem 0 1.55rem;
	}
	/*sub_nav*/
	/*.sub_nav_sp{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
	}*/
	.sub_nav{
		right:15%;
	}
	.sub_nav a {
		padding-right:5px;	
	}
	
}
@media screen and (max-width: 540px) {
	
	.sub_nav_sp .login {
		margin-top:10px;	
	}

}
@media screen and (max-width: 420px) {
	
	.nav_tel span {
		font-size: 21px;
	}
	.sub_nav_sp .login {
		margin-top:10px;	
	}
	
}

/*-----------------------------------

	contents

-----------------------------------*/

#compare_block .compare_head {
	width:100%;	
}
#compare_block .compare_head .regular,
#compare_block .compare_head .gold {
	width:40%;
	font-size: 18px;
	font-weight: 600;
	height: 43px;
	color: #fff;
	line-height: 43px;
	background: #C7A54D;
	border-radius:20px 20px 0 0;
}
#compare_block .compare_head .regular {
	background: #8abde7;
}
#compare_block .compare_head .gold {
	color: #8abde7;
	background: #ffff91;
}
#compare_block .compare_list {
	width: 100%;
	border: 1px solid #8abde7;
}
#compare_block .compare_list td {
	padding: 10px 0 10px 20px;
	font-size: 16px;
	color: #3D3D3D;
	vertical-align: middle;
	border-left: 1px solid #8abde7;
	border-bottom: 1px solid #8abde7;
	background:#fff;
}
#compare_block .compare_list .gold_bg {
	width: 40%;	
	font-weight: 600;
	text-align:center;
	background:#ffffcc;
	color:#6a98d0;
}
#compare_block .compare_list .normal_bg {
	width: 40%;	
	text-align:center;	
}
#compare_block .compare_list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 20px;
}
#compare_block .compare_list ul li {
	width: 45%;
	line-height: 150%;
}

/*-----------------------------------

	breadcrumb

-----------------------------------*/
.breadcrumb {
	max-width: 1100px;
	font-size: 12.5px;
	letter-spacing: 0.05em;
	padding: 5px;
	box-sizing: border-box;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.breadcrumb li {
	display: inline-block;
	position: relative;
	padding-right: 5px;
}
.breadcrumb li:not(:last-of-type)::after {
	content: '＞';
	font-size: 10px;
	font-weight: 800;
	color: #464646;
	padding-left: 1em;
}
.breadcrumb li a {
	font-weight: 500;
	/*color: #6a98d0;*/
}
.breadcrumb li a:hover {
	opacity: 0.8;
	color:#6a98d0 !important;
	/*text-decoration: underline;*/
}


/*-----------------------------------

	lower_head

-----------------------------------*/
/*#lower_head {
	background: url(../img/common/lower_img.jpg),url(../img/common/lower_wave.png);
	background-position:center;
}*/
#lower_head {
    background: url(../img/common/lower_img.jpg);
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 1;
}
#lower_head:before{
	position:absolute;
	bottom:0;
	width:100%;
	height:110px;
	content:"";
	background: url(../img/common/lower_wave.png) no-repeat;
	background-position:bottom;
	background-size:contain;
	z-index:-1;
}
#lower_head h2 {
	font-size: 16px;
	text-align: left;
	color: #6a98d0;
	padding: 80px 0 65px;
	margin-bottom:0;
}
#lower_head h2 span {
    display: block;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 10px;
    text-shadow: 1px 2px 3px #bbbbbb;
    color: #fff;
    letter-spacing: 0.4rem;
}

@media screen and (max-width: 640px) {
/*
	#lower_head {
		height: 110px;
	}
*/
	#lower_head h2 {
		position: static;
		font-size: 13px;
		padding: 12vw 0;
	}
	#lower_head h2 span {
		display: block;
		font-size: 18px;
		font-weight: 800;
		margin-bottom: 5px;
	}

}

/*-----------------------------------

	catch_block

-----------------------------------*/

#catch_block {
	background: url(../img/index/catch_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    padding: 120px 0;
    position: relative;
    background-size: cover;
}
#catch_block h3{
	color:#fff;
	font-size:26px;
	font-weight:200;
	text-align:center;
	margin-bottom:30px;	
	text-shadow: 5px 0px 9px #808080;
}


@media only screen and (max-width: 840px) {
	
	#catch_block {
		padding: 60px 0;	
	}
		
}

@media only screen and (max-width: 640px) {
	
	#catch_block {
		padding: 40px 0;	
	}
	#catch_block h3 {
		font-size:18px;	
	}
	#catch_block .link_btn{
		margin:30px auto 0;
		height: 60px;
    	line-height: 60px;
	}
	
		
}

/*-----------------------------------

	contact_block

-----------------------------------*/

#contact_block {
	background: #bbdff6;
    padding: 80px 0;
	position:relative;
	/*z-index:-1;*/
}
#contact_block #svg-bg-top {
	position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;	
}
#contact_block h3{
	color:#666564;
	font-size:26px;
	font-weight:200;
	text-align:center;
}
#contact_block h3 span {
    color: #000;
    font-size: 16px;
    font-weight: 200;
    display: block;
    margin-top: 20px;
}
/*#contact_block .btn_box {
    margin: 40px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: row wrap;
}*/
#contact_block .btn_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin: 40px auto 0;
}
#contact_block .btn_conte {
	
}
#contact_block .tel_btn {
	width:400px;
	text-align:center;
	color:#6a98d0;
	background:#fff;
	padding:20px;
	border-radius:10px;	
}
#contact_block .ft_tel {
	color: #6a98d0;
	font-size:30px;
	font-weight:900;
	border-bottom:1px solid #6a98d0;
	padding-bottom:10px;
	position:relative;
}
#contact_block .ft_tel::before {
	content: '\f879';
    font-weight: 900;
	font-family: "font awesome 5 free";
}
#contact_block .reception {
	color:#000;	
	padding-top:10px;
}
#contact_block .reception span{
	padding-right:20px;
}

#contact_block .link_btn {
	margin: 0;
    width: 380px;
	height:90px;
	line-height:90px;
	transform: translate(0, 10%);
}
@media screen and (max-width: 840px) {
	
	#contact_block {
		padding: 60px 0;
	}	
	#contact_block .tel_btn {
		width:47%;	
	}
	#contact_block .ft_tel {
		font-size:24px;	
	}
	#contact_block .link_btn {
		width:47%;	
	}
	
}
@media screen and (max-width: 640px) {
	
	#contact_block h3 {
		font-size:18px;	
	}
	#contact_block h3 span{
		font-size:14px;	
	}
	#contact_block .btn_box {
		display:block;	
	}
	#contact_block .tel_btn {
		width: 80%;
		float: none !important;
		/*display: block;*/
		margin:0 auto;
	}
	#contact_block .reception {
		margin-top: 10px;
	}
	#contact_block .link_btn {
		width:100%;	
		float: none !important;
		display: block;
		margin: 20px auto 0 !important;
		height: 60px;
    	line-height: 60px;
	}
	
}

@media screen and (max-width: 420px) {
	
	#contact_block .tel_btn {
		width:100%;
		margin:0 auto;	
	}
	
}

/*-----------------------------------

	fixedlinks_sp

-----------------------------------*/
#fixedlinks_sp {
	display:none;
}
@media screen and (max-width: 640px) {
#fixedlinks_sp {
	width:100%;
    position: fixed;
    bottom: 0;
    right: 0;
	left:0;
	margin:0 auto;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    z-index: 999;
}
#fixedlinks_sp .fixed_nav {
    width: 100%;
    color: #fff;
    line-height: 50px;
    height: 50px;
    text-align: center;
    font-size: 14px;
    border-radius: 20px 20px 0 0;
    border: 2px solid #fff;
    letter-spacing: 0.3rem;
}
#fixedlinks_sp .fixed_nav:hover {
	transform: translate(0, 5px);
}
#fixedlinks_sp .contact {
    background: #8abde7;
    background-image: radial-gradient(#a2c7e6 25%, transparent 25%), radial-gradient(#a2c7e6 25%, #ffffff00 25%);
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;
}
#fixedlinks_sp .try {
    background: #F490CA;
    background-image: radial-gradient(#faa9d8 25%, transparent 25%), radial-gradient(#faa9d8 25%, #ffffff00 25%);
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;
}
#fixedlinks_sp .icon_mail {
	display:inline-block;
	vertical-align:middle;
	padding-right:5px;	
}
/*#fixedlinks_sp .contact{
    background: #8e8e8e;
    text-align: center;
    padding: 20px 15px;
}
#fixedlinks_sp .contact img{
    width: 50px;
	vertical-align: middle;
    display: inline-block;
}*/
}
/*@media screen and (max-width: 420px) {

	#fixedlinks_sp .contact img{
		width: 20px;
	}
}*/

/*-----------------------------------

	pagetop

-----------------------------------*/
#pagetop {
	width:68px;
	height:36px;
	position: fixed;
	right: 25px;
	bottom: 50px;
	cursor: pointer;
	z-index: 999;
}
#pagetop img {
	position: absolute;
	top: 12px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
}
#pagetop_sp{
	display:none;
}
#pagetop:hover {
	opacity: 0.8;
}

@media screen and (max-width: 840px) {
	#pagetop{
		display:none !important;
	}
	#pagetop_sp{
		display:block;
		width:68px;
		height:36px;
		position: fixed;
		right: 25px;
		bottom: 100px;
		cursor: pointer;
		z-index: 999;
	}

}
/*-----------------------------------

	footer

-----------------------------------*/

footer {
    background: #fff;
    z-index: 9999;
}
footer h1 {
	width: 150px;
	text-align:center;
	padding-top:30px;
	margin:0 auto;
}
footer nav {
	width: 100% ;
	margin-top: 20px;
}
footer nav .main_nav {
	width:800px;
	margin:0 auto;
	overflow:hidden;
	text-align: center;
}
footer nav .main_nav li {
	display:inline-block;
	padding-right:40px;
}
footer nav .main_nav li:last-child {
	padding-right:0;
}
footer nav .main_nav li a {
	color:#6a98d0 !important;
	font-size: 14px;
	font-weight: 100;
}
footer nav .main_nav li a:hover {
	opacity:0.8;
	text-decoration:underline;
}
footer .sub_nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
footer .sub_nav li{
	padding-right:2%;
	text-align:center;
}
footer .sub_nav li:last-child{
	padding-right:0;
}
footer .sub_nav li a{
	padding-right:0;
}
footer .fa-twitter,
footer .fa-instagram,
footer .fa-line {
	font-size:40px;	
}
footer #footer_copy {
	color:#999999;
	font-size: 14px;
	text-align: center;
	margin-top: 35px;
	padding: 5px 0;
}

@media screen and (max-width: 840px) {
	
	footer nav .main_nav {
		width:100%;
	}
	footer nav .main_nav li{
		padding-right:5%;
	}
}

@media screen and (max-width: 640px) {

	footer {
		
	}
	footer .contents_inner {
		width:100%;
	}
	footer #footer_copy {
		margin-top: 20px;
		padding-bottom:70px;
	}
	footer nav .main_nav li{	
		display: block;
		padding: 0 0 15px 0;
	}
	footer nav .main_nav li a {
		padding:0;
		display: block;
		text-align: center;
	}
	footer nav .main_nav li a:hover {
		text-decoration: none;
	}
	footer .sub_nav {
		border-top: 1px dotted #ccc;
		border-bottom:1px dotted #ccc;
		margin-top: 30px;
		padding-bottom:30px;
	}
	footer .sub_nav li{
		width:20%;
	}
	/*footer .sub_nav {
		display:none;	
	}*/

}

/*-----------------------------------

	login_block

-----------------------------------*/
#login_block {
	padding: 80px 0 150px;
	line-height: 1.7;
}
#login_block .login_wrap {
	width:540px;
	margin:0 auto;	
	box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 10px;
    background-color: rgb(255, 255, 255);
    border-radius: 5px;
	 padding: 3rem;
}
#login_block .form-group {
	margin-top:30px;	
}
#login_block input {
    width: 100%;
    height: 100%;
    border: 1px solid rgb(200, 201, 198);
	box-shadow: rgba(0, 0, 0, 0.08) 0px 1px 4px;
    border-radius: 3px;
}
#login_block .col-md-6 {
	height:50px;	
}
#login_block .col-md-8 {
	text-align:center;	
}
#login_block .text-md-right {
	color:#4a5a6c;	
}
#login_block .btn{
	padding:0;
}
#login_block .btn-primary {
	display: block;
    width: 500px;
    max-width: 80%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    height: 80px;
    line-height: 80px;
    z-index: 100;
    background: #6a98d0;
    margin: 60px auto 0;
    color: #fff !important;
    position: relative;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    overflow: hidden;
	border:none;
	cursor: pointer;
    border-radius: 40px;		
}
#login_block .btn-primary:hover {
	opacity:0.8;
}
#login_block .btn-link {
	color: #6a98d0;	
}
#login_block .btn-link:hover {
	text-decoration:underline;
}

@media screen and (max-width: 640px) {

	#login_block {
		padding: 30px 0 60px 0;
	}
	#login_block .login_wrap {
		width:100%;
	}
	#login_block .btn-primary {
		margin: 30px auto 0;
		height: 60px;
		line-height: 60px;
	}
		
}

/*-----------------------------------

	order_block

-----------------------------------*/
#order_block {
	padding: 80px 0 150px;
	line-height: 1.7;
}
#order_block #toroku_wrap {
	width:540px;
	margin:0 auto;	
	box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 10px;
    background-color: rgb(255, 255, 255);
    border-radius: 5px;
	 padding: 3rem;	
	 text-align:center;
}
#order_block .btn_conte {
	width:70%;
	margin:30px auto;	
}
#order_block p {
    margin-top: 30px;
    border-bottom: 1px dotted #a6a6a6;
    padding-bottom: 40px;
    font-weight: 100;
    color: #4a5a6c;
}
#order_block p:last-child {
	border-bottom: none;
    padding-bottom: 0;	
}
#order_block .toroku_btn {
	display: block;
    padding: 0 80px;
    max-width: 100%;
    font-size: 16px;
    font-weight: 500;
    height: 60px;
    line-height: 60px;
    z-index: 100;
    background: #6a98d0;
    margin: 15px auto 0;
    color: #fff !important;
    position: relative;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    overflow: hidden;
    border: none;
    cursor: pointer;	
}
#order_block .blue {
    background: #6a98d0;
}
#order_block .pink {
    background: #f490ca;
}
#order_block .toroku_btn:hover { 
	opacity: 0.8;
}

@media screen and (max-width: 640px) {

	#order_block {
		padding: 30px 0 60px 0;
	}
	#order_block #toroku_wrap {
		width:100%;
	}
	#order_block .toroku_btn  {
		margin: 10px auto 0;
		height: 60px;
		line-height: 60px;
	}
	#order_block .btn_conte {
		width:100%;	
		margin: 10px auto;
	}
	#order_block p {
		margin-top: 10px;	
	}
		
}
/*-----------------------------------

	register_block

-----------------------------------*/
#register_block {
}
#register_block #form_block {
	background:none;
	padding: 80px 0 150px;
}
#register_block .prefectures {
    font-size: 12px;
    line-height: 200%;
    letter-spacing: 0.01em;
    margin: 15px auto 30px auto;
}
#register_block .arrow {
    position: relative;
    display: inline-block;
}
#register_block .arrow:before {
    position: absolute;
    content: "▼";
    right: 10px;
    top: 0;
    font-size: 10px;
}
#register_block .form_h {
	height: 30px;
    width: 100px;
    border: 1px solid #000;
    margin-right: 5px;	
	cursor: pointer;
}
#register_block .link_btn {
	border:none;
	cursor:pointer;	
}
#register_block .link_btn:hover {
	opacity:0.8;	
}

@media screen and (max-width: 640px) {
	
	#register_block #form_block {
		padding: 30px 0 60px 0;
	}
	#register_block input {
		width:49%;	
	}
	#register_block .w100 {
		width: 100% !important;
	}
	#register_block .prefectures {
		margin: 15px auto 0;
	}	
			
}

