﻿@media screen and (max-width:670px){
	body{
		padding:60px 0 0;
	}
	input[type="button"],input[type="submit"]{
		-webkit-appearance:none;
		border-radius:0;
	}
    .br-sp { display:none; }
    .pc-only{
		display:none !important;
	}
	/* ===== header ===== */
	header{
		background:#fff;
		position:fixed;
		width:100%;
		padding:5px 0;
		min-height:42px;
		z-index:9;
		top:0;
	}
	header.gray{
		background:#fff;
		/*background:rgba(255,255,255,0.44);*/
	}
	header h1{
		width:160px;
		margin:0 10px;
	}
	header h1 img{
		width:100%;
		padding:17px 5px 0;
		z-index: 12;
	}
	header .sns_area{
		position:absolute;
		right:10px;
		top:10px;
		width:150px;
		font-size:0;
	}
	header .sns_area li{
		font-size:12px;
		width:40px;
		display:inline-block;
		margin:0 0 0 10px;
	}
	header .sns_area li a{
		background:#4c4948;
		display:block;
		width:auto;
		height:40px;
		border-radius:20px;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		-o-transition: all 1s;
		transition: all 1s;
	}
	header .sns_area li:first-child a{
		background:#a1d5d2;
	}
	header .sns_area li.tw{
		display:none;
	}
	header .sns_area li.fb{
		display:none;
	}
	header .sns_area li.ig{
		display:none;
	}
	header .sns_area li.tel{
		display:none;
	}
	header nav{
		display:none;
	}
	header nav ul{
		border-top:#ccc solid 1px;
	}
	header nav ul li{
		border-bottom:#ccc solid 1px;
	}
	header nav ul li a{
		width:auto;
		height:50px;
		line-height:50px;
		display:block;
		color:#000;
		font-weight:bold;
		letter-spacing:0.2em;
		text-decoration:none;
		text-indent:10px;
	}
	header nav ul li a:before{
		content:">";
		display:inline-block;
		vertical-align:middle;
		margin:0 10px 0 0;
		color:#a1d5d2;
	}
	header.gray nav ul li a{
		color:#000;
	}

	/* ===== article ===== */
	.newsimage{
		background:url(../images/img_news.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	.aboutimage{
		background:url(../images/img_about.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	.serviceimage{
		background:url(../images/img_service.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	.faqimage{
		background:url(../images/img_faq.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	.privacyimage{
		background:url(../images/img_privacy.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	.contactimage{
		background:url(../images/img_contact.jpg) center;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:100%;
		height:240px;
		display:table;
	}
	article hgroup{
		letter-spacing:0.2em;
		text-align:center;
		position:relative;
		vertical-align:middle;
		display:table-cell;
	}
	.toppage article hgroup{
		display:block;
	}
	article h2:not(.faqTop){
		font-size:38px;
		font-weight:bold;
		line-height:1.0;
		display:inline-block;
		margin:0 auto;
		padding:0 0 25px;
		border-bottom:#e5e5e5 solid 1px;
	}
	article .faqTop h2{
		font-size:38px;
		font-weight:bold;
		color:#fff;
		line-height:1.0;
		display:inline-block;
		margin:0 auto;
		padding:0 0 25px;
		border-bottom:#e5e5e5 solid 1px;
		position:relative;
		z-index:5;
	}
	article section:not(.servicelist):not(.faqTop) h2{
		text-shadow:-1px -1px 5px #fff,1px 1px 5px #fff;
	}
	.topimage{
		background:#eceef0;
		width:100%;
		display:table;
		position:relative;
		border-bottom:#e5e5e5 solid 1px;
	}
	/*.topimage{
		background:url(../images/img_about_002.jpg);
		background-repeat: repeat repeat;
		width:100%;
		display:table;
		position:relative;
		z-index:0;
	}
	.topimage:after{
		content: "";
		background: rgba(236,238,240,0.88);
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1; 
	}*/
	.topimage .textblock{
		display:table-cell;
		vertical-align:middle;
		text-align:center;
		position:relative;
		z-index: 5;
	}
	.topimage .textblock h2{
		font-size:36px;
		margin:0 10px 20px;
		padding:0;
		line-height:1.5;
		border-bottom:none;
		text-shadow:none;
		color:#333;
	}
	.topimage .textblock h3{
		font-size:22px;
		color:#333;
		margin:0 10px;
	}
	.topimage a{
		background:url(../images/icon_arw.png) no-repeat;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		width:40px;
		height:40px;
		border-radius:22px;
		display:block;
		margin:0 auto;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		-o-transition: all 1s;
		transition: all 1s;
		/*border:#a1d5d2 solid 2px;*/
		line-height:56px;
		position:absolute;
		bottom:20px;
		left:0;
		right:0;
		text-indent:-9999px;
		z-index: 5;
	}
	article hgroup small{
		background:#fff;
		width:110px;
		margin:auto;
		padding:7px;
		color:#a1d5d2;
		font-size:14px;
		font-weight:bold;
		line-height:1.0;
		position:absolute;
		z-index:6;
		top:137px;
		left:0;
		right:0;
		border-radius:14px;
	}
	.toppage article hgroup small{
		top:48px;
	}
	.servicelist{
		padding:90px 0;
		background:#fff;
	}
	.servicelist p{
		margin:40px 20px 0;
		font-size:18px;
		text-align:center;
	}
	.servicelist ul{
		width:100%;
		margin:60px 0 0;
	}
	.servicelist ul li{
		background:#4c4948;
		text-align:center;
		font-size:24px;
		font-weight:bold;
		line-height:60px;
		margin:0 0 2px;
	}

	.servicelist ul li.service02{
		background:#4c4948;
	}
	.servicelist ul li figure{
		height:400px;
		position:relative;
	}
	.servicelist ul li.service01 figure{
		background:url(../images/top_service01.jpg) center top;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	.servicelist ul li.service02 figure{
		background:url(../images/top_service02.jpg) center top;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	.servicelist ul li.service03 figure{
		background:url(../images/top_service03.jpg) center top;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	.servicelist ul li a{
		width:100%;
		height:460px;
		display:block;
		color:#fff;
		text-decoration:none;
	}
	.servicelist ul li a figcaption{
		background:rgba(0,0,0,0.22);
		color:#fff;
		position:absolute;
		height:400px;
		padding:20px;
		box-sizing:border-box;
		font-size:16px;
		line-height:1.8;
		opacity:0;
	}
	.servicelist ul li a figcaption:hover{
		background:rgba(0,0,0,0.22);
		color:#fff;
		position:absolute;
		height:400px;
		padding:20px;
		box-sizing:border-box;
		font-size:16px;
		line-height:1.8;
		display: flex;
		justify-content: center;
		align-items: center;
		opacity:1;
	}
	.servicelist ul li a figcaption:active{
		background:rgba(0,0,0,0.22);
		color:#fff;
		position:absolute;
		height:400px;
		padding:20px;
		box-sizing:border-box;
		font-size:16px;
		line-height:1.8;
		display: flex;
		justify-content: center;
		align-items: center;
		opacity:1;
	}
	/* ===== aboutTop ===== */
    .aboutTop{
        padding:0 0 90px;
        text-align:center;
        background:#fff;
    }
	.aboutTop > p{
		margin:40px 20px;
		font-size:18px;
		font-weight:bold;
	}
	.aboutTop figure{
		width:200px;
		margin:0 auto 20px;
	}
	.aboutTop .name{
		font-weight:bold;
		margin:0 0 40px;
	}
	.aboutTop ul.btn_button{
		text-align:center;
		font-size:0;
	}
	.aboutTop ul.btn_button li{
		display:inline-block;
	}
	.aboutTop ul.btn_button li a{
		background:#a1d5d2;
		width:260px;
		height:56px;
		display:block;
		color:#fff;
		text-align:center;
		border:#a1d5d2 solid 1px;
		box-shadow: 0 20px 30px 0 rgba(0,0,0,0.2);
		border-radius:60px;
		font-size:14px;
		line-height:56px;
		text-decoration:none;
		font-weight:bold;
	}
	.aboutTop ul.btn_button li a:hover{
		background:#fff;
		color:#a1d5d2;
	}
	.aboutTop figure{
	}
	/* ===== faqTop ===== */
	.faqTop{
		padding:90px 0;
		position:relative;
	}
	.faqTop::before{
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index:-3;
		width:100%;
		height:100vh;
		background:url(../images/top_image01.jpg) center;
		background-repeat:no-repeat;
		background-position:30% 50%;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	.faqTop:after{
		content: "";
		background: rgba(0,0,0,0.44);
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1; 
	}
	.faqTop > p{
		margin:40px 20px;
		font-size:1.125rem !important;
		color:#fff;
		text-align:center;
		position:relative;
		z-index:3;
	}
	.faqTop ul.btn_button{
		text-align:center;
		font-size:0;
		position:relative;
		z-index:3;
	}
	.faqTop ul.btn_button li{
		display:inline-block;
	}
	.faqTop ul.btn_button li a{
		background:#a1d5d2;
		width:260px;
		height:56px;
		display:block;
		color:#fff;
		text-align:center;
		border:#a1d5d2 solid 1px;
		box-shadow: 0 20px 30px 0 rgba(0,0,0,0.2);
		border-radius:60px;
		font-size:14px;
		line-height:56px;
		text-decoration:none;
		font-weight:bold;
	}
	.faqTop ul.btn_button li a:hover{
		background:#fff;
		color:#a1d5d2;
	}
	/* ===== newslist ===== */
	.newslist,
	.newsdetail{
		padding:0 0 40px;
	}
	.top{
		padding-top:80px;
		background:#fff;
	}
	.newslist dl{
		margin:30px;
		border-top:#ccc dashed 1px;
	}
	.newslist dl a{
		padding: 0 0 20px;
		display: block;
	}
	.newslist dl dt{
		padding:20px 0 5px;
	}
	.newslist dl dd{
		/*padding:0 0 20px;*/
		border-bottom:#ccc dashed 1px;
	}
	.newslist .btn_news,
	.newsdetail .btn_news{
		margin:0 30px;
		text-align:right;
	}
	.newslist .btn_news a,
	.newsdetail .btn_news a{
		color:#333;
		line-height:20px;
		text-decoration:none;
	}
	.newslist .btn_news a:before,
	.newsdetail .btn_news a:before{
		content:">";
		width:20px;
		height:20px;
		text-align:center;
		line-height:20px;
		display:inline-block;
		background:#a1d5d2;
		color:#fff;
		margin:0 10px 0 0;
		border-radius:10px;
		vertical-align:middle;
	}
	.newslist .paging{
		font-size:0;
		text-align:center;
	}
	.newslist .paging li{
		display:inline-block;
		margin:0 10px;
	}
	.newslist .paging li:first-child,
	.newslist .paging li:last-of-type{
		display:none;
	}
	.newslist .paging li a{
		background:#eceef0;
		min-width:0px;
		font-size:14px;
		line-height:40px;
		padding:0 10px;
		display:block;
		border-radius:20px;
		color:#4c4948;
		text-decoration:none;
	}
	.newsdetail h3{
		position:relative;
		margin:30px;
		padding-bottom:10px;
		border-bottom:1px solid #ddd;
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
	}
	.newsdetail h3:after{
		content:"";
		display:block;
		position:absolute;
		left:0;
		bottom:-1px;
		width:33%;
		height:1px;
		background:#a1d5d2;
	}
	.newsdetail .textarea{
		margin:0 30px 30px;
		padding:0 0 30px;
		border-bottom:#ccc dashed 1px;
	}
	.newsdetail .textarea h4 {
	  padding: 0 0.5em;
	  background: transparent;
	  font-size:18px;
	  border-left: solid 4px #a1d5d2;
	  margin-bottom: 1rem;
	}
	.newsdetail .textarea ul{
		list-style: none;
		margin: 20px auto;
		background: #f5f5f5;
		border-radius :8px;
		padding: 1em 0.5em 1em 1em;
	}
	.newsdetail .textarea ul li{
		padding-left: 1.5em;
		text-indent: -1.5em;
	}
	.newsdetail .textarea ul li:before{
		content: "・";
		color:#a1d5d2;
		padding-right: .5em;
	}
	.newsdetail .textarea ol{
		counter-reset: item;
		list-style-type: none;
		background: #f5f5f5;
		margin: 20px auto;
		border-radius :8px;
		padding: 1em 0.5em 1em 1em;
	}

	.newsdetail .textarea ol li{
		text-indent: -1.5em;
		padding-left: 1.5em;
	}
	.newsdetail .textarea ol li:before {
		counter-increment: item;
		content: counter(item)'.';
		padding-right: .5em;
		color: #a1d5d2;
	}
	.newsdetail .textarea iframe{
		max-width:100% !important;
		height:auto !important;
	}
	.newsdetail .textarea img{
		max-width:100% !important;
		height:auto !important;
	}
	/* ===== service ===== */
	.service{
		padding:0 0 30px;
	}
	.service > p{
		margin:30px 30px 0;
		font-size:16px;
		font-weight:bold;
		text-align:center;
	}
	.service > ul > li{
		padding:30px;
	}
	.service > ul > li:nth-of-type(2n){
		background:#f2f2f2;
	}
	.service > ul > li figure{
		margin:0 0 15px;
	}
	.service > ul > li .textarea{
		position:relative;
		padding:10px 0 20px;
	}
	.service > ul > li h3{
		position:relative;
		margin:0 0 30px;
		padding-bottom:10px;
		border-bottom:1px solid #ddd;
		font-size:24px;
		font-weight:bold;
		letter-spacing:0.1em;
	}
	.service > ul > li h3:after{
		content:"";
		display:block;
		position:absolute;
		left:0;
		bottom:-1px;
		width:33%;
		height:1px;
		background:#a1d5d2;
	}
	.service ul li .textarea ol{
		margin:0 0 30px;
	}
	.service ul li .textarea ol li:not(:first-of-type){
		margin-top:15px;
	}
	.service ul li .textarea dl dt{
		color:#a1d5d2;
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:0 0 10px;
	}
	.service ul li .textarea dl dt:not(:first-of-type){
		margin-top:15px;
	}
	.service > ul > li .textarea .thumbnail{
		width:260px;
		position:absolute;
		top:0;
		left:0;
		right:0;
		margin:auto;
		font-size:0;
	}
	.service > ul > li .textarea .thumbnail li{
		width:120px;
		display:inline-block;
		margin:0 5px;
		font-size:12px;
	}
	/* ===== 20190824リスト追加 ===== */
	.service .brandlist{
		margin: 10px 0;
	}
	.service .brandlist li{
		padding: 0 0 0 20px;
		position: relative;
		list-style: none;
	}
	.service .brandlist li:before{
		content: "・";
		position: absolute;
		top: 0;
		left: 0;
	}
	.service .brandlist li:not(:last-of-type){
		margin: 0 0 5px;
	}
	/* ===== flow ===== */
	.flow {
		background:#eceef0;
		margin:30px 0;
		padding:30px 0 80px;
	}
	/*.flow{
		background:url(../images/img_about_002.jpg) ;
		margin:30px 0;
		padding:30px 0 80px;
		position:relative;
		background-repeat: repeat repeat;
		z-index:0;
	}
	.flow:after{
		content:"";
		background:rgba(236,238,240,0.88);
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		z-index:-1;
	}*/
	.flow > p{
		margin:0 30px 30px;
		font-weight:bold;
		text-align:center;
	}
	.flow h3{
		position:relative;
		margin:30px;
		padding-bottom:10px;
		/*border-bottom:1px solid #fff;*/
		font-size:28px;
		font-weight:bold;
		text-align:center;
		letter-spacing:0.1em;
	}
	.flow h3:after{
		content:"";
		display:block;
		position:absolute;
		margin: auto;
		right: 0;
		left:0;
		bottom:0;
		width:15%;
		height:1px;
		background:#0e1668;
	}
	.flow h3 small{
		background:#0e1668;
		font-size:16px;
		color:#fff;
		margin:0 0 20px;
		padding:5px 10px;
		display:block;
	}
	.flow .Inner {
		margin: 0 30px;
	}
	.flow .List-Item-Content {
		padding-top: 15px;
		padding-bottom: 15px;
		flex-wrap: wrap;
		display: flex;
		align-items: center;
		position: relative;
		z-index: 1;
	}
	.flow .List-Item-Content-Number {
		margin-right: 20px;
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 24px;
		border-radius: 50%;
		text-align: center;
		background: #a1d5d2;
		font-family:Arial, Helvetica, sans-serif;
		color: #fff;
	}
	.flow .List-Item:not(:last-of-type) .List-Item-Content::before {
		content: "";
		width: 2px;
		background: #a1d5d2;
		position: absolute;
		top: 55px;
		bottom: -15px;
		left: 19px;
		z-index: -1;
	}
	.flow .List-Item-Content-Title {
		margin-right: 0;
		font-size: 18px;
		color: #a1d5d2;
		font-weight:bold;
	}
	.flow .List-Item-Content-Description {
		margin-left: 60px;
		width: 100%;
		font-weight: normal;
		font-size: 15px;
	}
	/* ===== about ===== */
	.about{
		/*padding:0 0 40px;*/
	}
	.about > p{
		margin:30px;
		font-size:16px;
		font-weight:bold;
		text-align:center;
	}
	.about h3{
		position:relative;
		margin:30px;
		padding-bottom:10px;
		border-bottom:1px solid #ddd;
		font-size:24px;
		font-weight:bold;
		letter-spacing:0.1em;
	}
	.about h3:after{
		content:"";
		display:block;
		position:absolute;
		left:0;
		bottom:-1px;
		width:33%;
		height:1px;
		background:#a1d5d2;
	}
	.about figure{
		width:100%;
		margin:0 auto 30px;
	}
	.about figure + p,
	.about h3 + p{
		margin:0 30px 60px;
	}
	.about .heading {
		position:relative;
		margin: 0 0 30px;
		padding-bottom:10px;
		/*border-bottom:1px solid #fff;*/
		font-size:28px;
		font-weight:bold;
		text-align:center;
		letter-spacing:0.1em;
		border: none;
	}
	.about .heading:after{
		content:"";
		display:block;
		position:absolute;
		margin: auto;
		right: 0;
		left:0;
		bottom:0;
		width:15%;
		height:1px;
		background:#a1d5d2;
	}
	.about__philosophy {
		padding: 40px 30px;
	}
	.about__philosophy .philosophy__heading {
		font-size:20px;
		font-weight:bold;
		color: #a1d5d2;
		letter-spacing:0.1em;
	}
	.about__philosophy p{
		margin:15px 0 0;
	}
	.about__policy {
		padding: 40px 30px;
	}
	/*.about__policy {
		background:url(../images/img_about_001.jpg) center;
		padding:60px 0;
		position:relative;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		z-index:0;
	}
	.about__policy:after{
		content:"";
		background:rgba(0,0,0,0.66);
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		z-index:-1;
	}*/
	.about__policy .heading {
		position:relative;
		margin: 0 0 30px;
		padding-bottom:10px;
		font-size:28px;
		font-weight:bold;
		text-align:center;
		letter-spacing:0.1em;
		border: none;
	}
	.about__policy .policylist{
		padding: 0 0 15px;
	}
	.about__policy .policylist li{
		padding: 0 0 0 20px;
		position: relative;
		list-style: none;
	}
	.about__policy .policylist li:before{
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: #a1d5d2;
		position: absolute;
		top: 12px;
		left: 0;
	}
	.about__infomation {
		padding: 40px 0;
	}
	.about dl{
		margin: 0 30px 0;
		line-height:2.0;
	}
	.about dl dt{
		background:#eee;
		padding:20px;
		font-weight:bold;
	}
	.about dl dd{
		padding:20px;
	}
	.about a[href^="http"] {
		background:url(../images/linkico.png) no-repeat right center;
		padding-right:18px;
		margin-right:5px;
	}
	.about a[href^="https://hpdemo.tokyo/"] {
		background:none;
		padding-right:0px;
		margin-right:0px;
	}
	/* ===== access ===== */
	.access{
		background:#eceef0;
		margin:30px 0;
		padding:30px 0;
	}
	/*.access{
		background:url(../images/img_about_002.jpg) ;
		margin:30px 0;
		padding:30px 0;
		position:relative;
		background-repeat: repeat repeat;
		z-index:0;
	}
	.access:after{
		content:"";
		background:rgba(236,238,240,0.88);
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		z-index:-1;
	}*/
	.access ul{
		margin:40px 30px 20px;
	}
	.access ul li{
		margin:0 0 30px;
	}
    .access ul li figure #map_canvas_01 {
		width: 100%;
		height: 350px;
		float:left;
		box-sizing:border-box;
	}
    .access ul li figure #map_canvas_02 {
		width: 100%;
		height: 350px;
		float:left;
		box-sizing:border-box;
	}
	.access ul li h4{
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:20px 0 10px;
	}
	.access ul li h4 small{
		margin:0 20px 0 0;
		font-size:14px;
	}
	.access ul li p{
		text-align:left;
	}
	/*.access .access_inner{
		margin:20px 30px;
	}
    .access .access_inner figure #map_canvas_01 {
		width: 100%;
		height: 450px;
		float:left;
		box-sizing:border-box;
	}
	.access .access_inner h4{
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:20px 0 10px;
	}
	.access .access_inner h4 small{
		margin:0 20px 0 0;
		font-size:14px;
	}
	.access .access_inner p{
		text-align:left;
	}
	.about__history {
		padding: 40px 0;
	}*/
	/* ===== privacy ===== */
	.privacy{
		padding:0 0 40px;
	}
	.privacy .lead{
		margin:30px;
		font-size:16px;
		font-weight:bold;
		text-align:center;
	}
	.privacy h3{
		position:relative;
		margin:30px;
		padding-bottom:10px;
		border-bottom:1px solid #ddd;
		font-size:24px;
		font-weight:bold;
		letter-spacing:0.1em;
	}
	.privacy h3:after{
		content:"";
		display:block;
		position:absolute;
		left:0;
		bottom:-1px;
		width:33%;
		height:1px;
		background:#a1d5d2;
	}
	.privacy h4{
		color:#a1d5d2;
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:30px;
	}
	.privacy p:not(.lead){
		margin:15px 30px 0;
	}
	.privacy dl{
		margin:0 30px 0;
	}
	.privacy dl dt{
		font-weight:bold;
	}
	.privacy dl dd{
		margin:15px 0 30px;
		padding:0 0 0 15px;
	}
	.privacy ul{
		background:#f3f3f3;
		margin:20px 30px;
		padding:30px 20px;
	}
	.privacy ul li{
		font-size:12px;
		margin:0 0 10px 1em;
	}
	.privacy ul li:before{
		content:"・";
		margin:0 0 0 -1em;
	}
	/* ===== faq ===== */
	.faq{
		padding:0 0 40px;
	}
	.faq .lead{
		margin:30px;
		font-size:16px;
		font-weight:bold;
		text-align:center;
	}
	.faq dl{
		margin:0 30px;
	}
	.faq dl dt{
		line-height: 1.75;
        font-size: 18px;
        font-weight: bold;
        margin: 0 0 15px;
        padding: 5px 0 0 50px;
        position: relative;
        box-sizing: border-box;
	}
	.faq dl dt:not(:first-of-type){
		margin-top:20px;
	}
	.faq dl dt:before{
		background: #a1d5d2;
        content: "Q";
        width: 40px;
        height: 40px;
        line-height: 40px;
        border-radius: 20px;
        color: #fff;
        text-align: center;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
	}
	.faq dl dd{
		padding: 10px 0 20px 50px;
		border-bottom:#dedbcc solid 1px;
		text-align: justify;
        position: relative;
	}
	.faq a[href^="http"] {
	             background:url(../images/linkico.png) no-repeat right center;
	             padding-right:18px;
	             margin-right:5px;
	}
	.faq a[href^="https://test06.hpdemo.tokyo/"] {
	             background:none;
	             padding-right:0px;
	             margin-right:0px;
	}
	.faq ul.btn_button{
		text-align:center;
	}
	.faq ul.btn_button li{
		display:inline-block;
		margin:30px 0 60px;
	}
	.faq ul.btn_button li a{
		background:#a1d5d2;
		width:260px;
		height:56px;
		display:block;
		color:#fff;
		text-align:center;
		border:#a1d5d2 solid 1px;
		box-shadow: 0 20px 30px 0 rgba(0,0,0,0.2);
		border-radius:60px;
		font-size:14px;
		line-height:56px;
		text-decoration:none;
		font-weight:bold;
	}
	.faq ul.btn_button li a:hover{
		background:#fff;
		color:#a1d5d2;
	}
	.faq figure{
		padding:80px 30px;
		background:#FBFAE9;
	}
	.faq figure ul li:nth-of-type(3n+2){
		margin:10px 0;
	}
	/* ===== message ===== */
	.message{
		background:#eceef0;
		margin:30px 0;
		padding:30px 0;
	}
	.message h3{
		position:relative;
		margin:30px;
		padding-bottom:10px;
		/*border-bottom:1px solid #fff;*/
		font-size:28px;
		font-weight:bold;
		text-align:center;
		letter-spacing:0.1em;
	}
	.message h3:after{
		content:"";
		display:block;
		position:absolute;
		margin: auto;
		right: 0;
		left:0;
		bottom:0;
		width:15%;
		height:1px;
		background:#a1d5d2;
	}
	.message ul{
		margin:40px 30px 20px;
	}
	.message ul li{
		margin:0 0 30px;
	}
	.message ul li figure{
		width:260px;
		height:260px;
		border-radius:150px;
		margin:0 auto 30px;
		overflow:hidden;
	}
	.message ul li h4{
		font-size:18px;
		font-weight:bold;
		letter-spacing:0.1em;
		text-align:center;
		margin:10px auto;
	}
	.message ul li h4 small{
		margin:0 20px 0 0;
		font-size:14px;
	}
	.message ul li p{
		text-align:center;
	}
	/* ===== contact ===== */
	.contact{
		padding:0 0 40px;
	}
	.contact .lead{
		margin:30px;
		font-size:16px;
		font-weight:bold;
		text-align:center;
	}
	.contact p:not(.lead){
		margin:30px auto;
	}
	.contact .btnBack{
		margin:30px auto;
	}
	.contact .btnBack a{
		background:#a1d5d2;
		width:260px;
		height:56px;
		margin:10px auto;
		display:block;
		color:#fff;
		text-align:center;
		border:#a1d5d2 solid 1px;
		box-shadow: 0 20px 30px 0 rgba(0,0,0,0.2);
		border-radius:60px;
		font-size:14px;
		line-height:54px;
		text-decoration:none;
		font-weight:bold;
	}
	.contact dl{
		margin:30px;
		border-bottom:#ccc solid 1px;
	}
	.contact dl dt{
		line-height:40px;
		padding:20px 0 0;
		border-top:#ccc solid 1px;
	}
	.contact dl dt.must:before{
		background:#4c4948;
		width:40px;
		height:40px;
		content:"必須";
		margin:0 10px 0 0;
		display:inline-block;
		text-align:center;
		font-size:12px;
		color:#fff;
		border-radius:20px;
	}
	.contact dl dt:not(.must){
		text-indent:50px;
	}
	.contact dl dd{
		min-height:40px;
		padding:20px 0;
	}
	.contact dl dd .red{
		color:#f00;
		font-weight:bold;
		margin:0 0 10px;
	}
	.contact dl dd ul li{
		display:inline-block;
		margin:0 10px 0 0;
	}
	.contact dl dd input[type="text"]{
		width:100%;
		height:50px;
		border:#ccc solid 1px;
		font-size:14px;
		padding:0 0 0 10px;
		box-sizing:border-box;
	}
	.contact dl dd input[type="tel"]{
		width:100%;
		height:50px;
		border:#ccc solid 1px;
		font-size:14px;
		padding:0 0 0 10px;
		box-sizing:border-box;
	}
	.contact dl dd input[type="email"]{
		width:100%;
		height:50px;
		border:#ccc solid 1px;
		font-size:14px;
		padding:0 0 0 10px;
		box-sizing:border-box;
	}
	.contact dl dd select{
		height:50px;
		border:#ccc solid 1px;
	}
	.contact dl dd textarea{
		width:100%;
		height:148px;
		border:#ccc solid 1px;
		font-size:14px;
		line-height:1.5;
		padding:10px;
		box-sizing:border-box;
	}
	.contact ul.btn_submit{
		text-align:center;
		display: flex;
		flex-flow: column-reverse;
		justify-content: space-between;
	}
	.contact ul.btn_submit li{
		margin:0 5px 15px;
	}
	.contact ul.btn_submit li input[type="submit"]{
		width:260px;
		height:56px;
		border:none;
		text-align:center;
		cursor:pointer;
		border:#a1d5d2 solid 2px;
		border-radius:60px;
		font-size:14px;
		font-weight:bold;
		line-height:51px;
	}
	.contact ul.btn_submit li .submit{
	background: #a1d5d2;
	color: #fff;
	}
	.contact ul.btn_submit li .send{
		background: #a1d5d2;
		color: #fff;
	}
	.contact ul.btn_submit li .back{
		background: #fff;
		color: #a1d5d2;
	}
		.contact ul.btn_submit li input[type="submit"]:hover{
		background:#a1d5d2;
		color:#fff;
	}


	/* ===== footer ===== */
    footer{
    	background:#fff;
    }
	footer .btn_topto{
		text-align:right;
		margin:0 10px 10px;
	}
	footer .btn_topto a{
		background:#a1d5d2;
		width:40px;
		height:40px;
		display:inline-block;
		border-radius:20px;
	}
	footer .links{
		background:#fff;
		padding:30px 0;
		/*border-top:#ccc solid 1px;
		border-bottom:#ccc solid 1px;*/
	}
	footer .links ul li{
		text-align:center;
		margin:0 0 10px;
	}
	footer .links ul li:last-of-type{
		margin:0;
	}
	footer address{
		margin:30px 10px;
		font-style:normal;
		text-align:center;
	}
	footer address a{
		color:#333;
		text-decoration:none;
	}
	footer address a:hover{
		text-decoration:underline;
		color:#a1d5d2;
	}
	footer address figure{
		width:180px;
		margin:10px auto;
	}
	footer address figure img{
		width:100%;
	}
	footer address h2{
		font-size:18px;
	}
	footer .sns_area{
		font-size:0;
		text-align:center;
	}
	footer .sns_area li{
		width:40px;
		display:inline-block;
		margin:0 5px 0;
	}
	footer .sns_area li a{
		background:#a1d5d2;
		display:block;
		width:auto;
		height:40px;
		border-radius:20px;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		-o-transition: all 1s;
		transition: all 1s;
	}
	footer .sns_area li.tw a:hover{
		background:url(../images/icon_tw_hover.png) no-repeat center #fff;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	footer .sns_area li.fb a:hover{
		background:url(../images/icon_fb_hover.png) no-repeat center #fff;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	footer .sns_area li.ig a:hover{
		background:url(../images/icon_ig_hover.png) no-repeat center #fff;
		background-size:cover;
		-webkit-background-size:cover;
		-moz-background-size:cover;
	}
	footer nav ul{
		font-size:0;
		margin:30px 30px;
	}
	footer nav ul li{
		width:50%;
		font-size:14px;
		line-height:40px;
		display:inline-block;
	}
	footer nav ul li:before{
		content:">";
		display:inline-block;
		vertical-align:middle;
		margin:0 10px 0 0;
		color:#a1d5d2;
	}
	footer nav ul li a{
		color:#333;
		text-decoration:none;
	}
	footer nav ul li a:hover{
		text-decoration:underline;
	}
	footer small{
		background:#a1d5d2;
		width:100%;
		height:60px;
		display:block;
		line-height:60px;
		text-align:center;
		color:#fff;
	}
}
