@charset "UTF-8";

@media only screen and (min-width: 769px) {
}
@media only screen and (max-width: 768px) {
}
/*--------------------------------------
  基本
--------------------------------------*/
@media only screen and (min-width: 769px) {
	.pcNone {
		display: none!important;
	}
}
body {
	padding: 0;
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
.main {
	width: 100%;
}
dl,
ol,
ul {
	padding: 0;
	margin: 0;
}
dl li,
ol li,
ul li {
	list-style: none;
}
@media only screen and (min-width: 769px) {
	.display_sp {
		display: none!important;
	}
}
@media only screen and (max-width: 768px) {
	.display_pc {
		display: none!important;
	}
}


.lineTitle {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
	background: #1e478e;
	color: #fff;
}
.lineTitle::before {
    margin-right: 1em;
	margin-left: 4em;
    top: unset;
}
.lineTitle::after {
    margin-left: 1em;
	margin-right: 4em;
    bottom: unset;
}
.lineTitle::before,.lineTitle::after {
    content: "";
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border-bottom: 1px solid #fff;
    position: unset;
    width: unset;
    border-left: unset;
    border-right: unset;
    border-top: none;
    background: unset;
}
.titleH2 {
	font-size: 3em;
	line-height: 2em;
}
@media only screen and (max-width: 768px) {
	.lineTitle::before {
		margin-right: 1em;
		margin-left: 1em;
	}
	.lineTitle::after {
		margin-left: 1em;
		margin-right: 1em;
	}
	.lineTitle::before,.lineTitle::after {
	}
	.titleH2 {
		font-size: 1.5em;
	}
}

/*--------------------------------------
  ヘッダー
--------------------------------------*/
header {
	background: #e8faff;
	padding: 10px 0;
}
@media only screen and (max-width: 768px) {
	header {
	}
}
header div.headBox {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	align-items: center;
}
.topL img,.topR img {
	height: 55px; 
}
@media only screen and (max-width: 768px) {
	header div.headBox {
		max-width: initial;
		display: block;
	}
	.topL {
		text-align: center;
		margin-bottom: 0.5em;
	}
	h1 {
		width: 96%;
		margin: 0 auto;
	}
	h1 img.topLogo {
		width: 100%;
		height: auto;
	}
}
/*--ヘッダーボタン--*/
.btn {
	display: inline-block;
	padding: 5px;
	border-radius: 5px;
	text-align: center;
}
.btn_tel,
a.btn_tel {
	background: #FF6E00;
	width: 120px;
}
.btn_tel:hover,
a.btn_tel:hover {
	background: #FF9D00;
}
.btn_mail,
a.btn_mail {
	background: #3978e5;
	width: 120px;
}
.btn_mail:hover,
a.btn_mail:hover {
	background: #4c85e7;
}
.btn_tel img,.btn_mail img,.btn_line img {
	height: 50px; 
}

.btn_line,
a.btn_line {
	background: #06c755;
	width: 120px;
}
.btn_line:hover,
a.btn_line:hover {
	background: #1ecc66;
}
@media only screen and (max-width: 768px) {
	a.btn_tel,.btn_mail,a.btn_mail,.btn_line,a.btn_line {
		width: 48%;
	}
}
/*--------------------------------------
  コンテンツ
--------------------------------------*/
.bottomSpace {
	margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
	.bottomSpace {
		margin-bottom: 0;
	}
}
section {
	margin: 0 auto;
}
.contents {
	width: 1000px;
}
@media only screen and (max-width: 768px) {
	.contents {
		width: 100%;
		padding: 2%;
	}
}
/*--トップ画像--*/
/*.topImg {
	max-width: 1920px;
	height: 0;
	margin: 0 auto;
	background: url("../images/topImg.png") no-repeat center top;
	background-size: cover;
	padding-top: 42.864%;
}*/
.topImg {
	max-width: 1440px;
	margin: 0 auto;
}
.topImg img {
	width: 100%;
}
.inquiryButton {
	display: block;
	width: 40%;
	margin: 2em auto;
}
.inquiryButton:hover {
	opacity: .7;
	transition: all .3s;
}
@media only screen and (max-width: 768px) {
	.inquiryButton {
		width: 70%;
		margin: 1em auto;
	}
}
/*--感染症対策--*/
.noticeBox {
    display: flex;
    border: 1px solid #0091b9;
    border-radius: 10px;
    overflow: hidden;
	margin: 30px 0;
}
.noticeBox dt {
	display: flex;
    justify-content: center;
    align-items: center;
    background: #0091b9;
    color: #fff;
    width: 400px;
    font-size: 20px;
    font-weight: bold;
}
.noticeBox dd {
	margin: 0;
	padding: 20px;
}
.noticeBox dd span {
    font-size: 16px;
    font-weight: bold;
    color: #0091b9;
}
@media only screen and (max-width: 768px) {
	.noticeBox {
		display: block;
		margin: 2%;
	}
	.noticeBox dt {
		width: 100%;
		font-size: 16px;
		padding: 2% 0;
	}
	.noticeBox dd {
		width: 100%;
		padding: 3% 5%;
		font-size: 14px;
		line-height: 1.6;
	}
	.noticeBox dd span {
		
	}
}

/*--プラン--*/
section.ribbon {
	width: 1200px;
}
section.ribbon img {
	width: 100%;
}
.plan {
	display: flex;
	width: 1000px;
	height: 92px;
	margin: 0 auto;
	flex-flow: wrap;
	justify-content: space-between;
	align-items: center;
}
.plan .planItem {
	width: 130px;
	background: #daebff;
	text-align: center;
	border-radius: 7px;
}
.planItem img {
	width: 100%;
	height: 100%;
	border-radius: 7px;
}
@media only screen and (max-width: 768px) {
	section.ribbon {
		width: 100%;
		padding: 2%;
	}
	section.ribbon h2 {
		margin: 0 0 4%;
	}
	.plan {
		width: 100%;
		height: auto;
		justify-content: space-around;
		gap: 10px;
	}
	.plan .planItem {
		width: 22%;
	}
}
.subsidy {
	border: 3px solid #ff4500;
	border-radius: 20px;
	padding: 0;
	margin: 50px auto;
	overflow: hidden;
	text-align: center;
}
.subsidy h2 {
	background: #ff4500;
	color: #fff;
	text-align: center;
	font-size: 40px;
	margin: 0;
}
.subsidy p {
	text-align: center;
	padding: 0 20px;
}
.subsidy img {
	width: 100%;
}
@media only screen and (max-width: 768px) {
	.subsidy {
		border-radius: 10px;
		padding: 0 0 20px;
		margin: 20px auto;
	}
	.subsidy h2 {
		font-size: 22px;
		line-height: 1.5em;
	}
	.subsidy img {
		width: 80%;
	}
}
/*--商品--*/
.itemPrice {
	position: relative;
	border: 4px solid #1e478e;
	padding: 30px;
	margin: 100px 0 50px;
	text-align: center;
}
.itemPrice.orange {
	border: 4px solid #FF6E00;
}
.itemTitle {
	position: absolute;
	background: #1e478e;
	color: #FFF;
	padding: 10px 20px;
	border-radius: 15px;
	left: 50%;
	top: -70px;
	margin-left: -220px;
}
.itemTitle02.orange {
	position: absolute;
	min-width: 400px;
	background: #FF6E00;
	color: #FFF;
	font-size: 30px;
	padding: 10px 20px;
	border-radius: 15px;
	left: 50%;
	top: -70px;
	margin-left: -200px;
}
.itemTitle img {
	width: 400px;
}
.itemList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}
.itemList.L {
	justify-content: flex-start;
}
.itemList li {
	width: 32%;
}
.itemList li img {
	width: 100%;
}
@media only screen and (max-width: 768px) {
	.itemPrice {
		padding: 2%;
		margin: 10% 0;
	}
	.itemTitle {
		position: initial;
		margin: -1.5em 10% 0.5em;
	}
	.itemTitle02.orange {
		position: initial;
		min-width: 50px;
		font-size: 24px;
		margin: -1.5em 10% 0.5em;
	}
	.itemList.L {
		justify-content:  space-between;
	}
	.itemList li {
		width: 48%;
	}
	.itemTitle img {
		width: 90%;
	}
}

/*--フォーム--*/
.form {
	margin: 80px 0;
}
.formBanner {
	background: url(../images/formBg.png) no-repeat;
    background-size: cover;
    background-position: top center;
    max-width: 1200px;
    margin: 0 auto;
    height: 270px;
}
.formInner {
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.formL {
	width: 40%;
}
.formR {
	width: 45%;
	display: flex;
    justify-content: center;
    align-items: center;
}
.formR a {
	width: 48%;
}
.formL img, .formR img {
	width: 100%;
}
@media only screen and (max-width: 768px) {
	.form {
		margin: 0;
	}
	.formBanner {
		padding: 4% 2%;
		height: auto;
	}
	.formInner {
		display: initial;
		width: 100%;
	}
	.formL {
		width: 100%;
		margin-bottom: 0.5em;
	}
	.formR {
		width: 100%;
	}
	.formR a {
		width: 48%;
	}
}
/*--お悩み--*/
.nayamiBox {
	margin: 50px 0;
	text-align: center;
}
.nayamiBox .bigTitle01 img,.nayamiBox .nayamiImg {
	width: 100%;
}
.nayamiBox .bigTitle01,.nayamiBox .title02 {
	margin-bottom: 30px;
}
.nayamiBox .title02 {
	width: 600px;
}
@media only screen and (max-width: 768px) {
	.nayamiBox {
		margin: 10% 0;
	}
	.nayamiBox .title02 {
		width: 75%;
	}
}

/*--4つの安心--*/
.reliefTitle img {
	width: 500px;
}
.bigTitle02 {
	background: #1e478e;
	height: 150px;
	margin: 80px 0;
}
.bigTitle02 img {
	width: 600px;
	margin-top: -40px;
}
.reliefBox {
	text-align: center;
}
.reliefList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 35px;
}
.reliefList li {
	width: 48%;
	height: 480px;
	background-size: cover;
}
.reliefList li img {
	width: 100%;
}
.relief01 {
	background: url("../images/relief01.png") no-repeat;
}
.relief02 {
	background: url("../images/relief02.png") no-repeat;
}
.relief03 {
	background: url("../images/relief03.png") no-repeat;
}
.relief04 {
	background: url("../images/relief04.png") no-repeat;
}
.showroom {
	width: 70%;
	margin: 5em auto;
}
.showroom h3 {
	background: #BADBFF;
	text-align: center;
	font-size: 24px;
	line-height: 3em;
	margin-bottom: 0;
}
.showroom img {
	width: 100%;
}
.showroom address {
	font-weight: bold;
	margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
	.reliefTitle {
		margin: 1% 0;
	}
	.reliefTitle img {
		width: 70%;
	}
	.bigTitle02 {
		height: 80px;
		margin: 40px 0 20px;
	}
	.bigTitle02 img {
		width: 80%;
		margin-top: -20px;
	}
	.reliefList {
		gap: 1%;
		margin-bottom: 10%;
	}
	.reliefList li {
		width: 48%;
		height: 0;
		background-size: contain;
		padding-top: 48%;
		margin-bottom: 3%;
	}
	.showroom {
		width: 100%;
		margin: 3em 0;
	}
	.showroom h3 {
		font-size: 20px;
	}
}

/*--流れ--*/
.flowList {
    position: relative;
	margin-bottom: 40px;
}
.flowList::after {
    position: absolute;
    content: "";
	border-top: 25px solid #e5e5e5;
	border-right: 200px solid transparent;
	border-left: 200px solid transparent;
    display: block;
    overflow: hidden;
    left: 50%;
    margin-left: -200px;
}
.flowContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 25px;
    border: 3px solid #e5e5e5;
	border-radius: 15px;
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.flowContent {
    display: block;
    overflow: hidden;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}
@media only screen and (min-width: 769px) {
	.flowContent {
		margin-right: 15px;
	}
}
.flowTitle,.flowText {
    padding-left: 0;
    border: none;
}
.flowTitle {
	background: #f5da33;
    margin: 0 0 10px;
    padding: 15px 20px;
	border-radius: 20px;
    font-size: 24px;
	font-weight: bold;
}
.flowText {
    margin-bottom: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    margin-left: 20px;
	font-size: 20px;
	text-align: justify;
}
.flowImage {
    max-width: 300px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.flowImage img {
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 768px) {
	.flowList {
		margin-bottom: 10%;
	}
	.flowList::after {
		border-top: 25px solid #e5e5e5;
		border-right: 100px solid transparent;
		border-left: 100px solid transparent;
		left: 50%;
		margin-left: -100px;
	}
	.flowContainer {
		border: 2px solid #e5e5e5;
		padding: 2%;
	}
	.flowContent {
		width: 50%;
	}
	.flowTitle {
		margin: 0 0 2%;
		padding: 4%;
		border-radius: 10px;
		font-size: 1em;
	}
	.flowText {
		margin-left: 0.5em;
		font-size: .8em;
		text-align: justify;
	}
	.flowImage {
		max-width: inherit;
		width: 50%;
	}
	
}



/*--よくある質問--*/
/* --------------------------------------------------------------------------------
アコーディオンのレイアウト
-------------------------------------------------------------------------------- */
/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    margin:0 auto;
}
.accordion-area li{
    margin: 10px 0;
}
.accordion-area section {
	background: #daebff;
	padding: 1px;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
	font-size: 24px;
    font-weight: bold;
    padding: 3% 3% 3% 50px;
	margin: 0;
    transition: all .5s ease;
}

@media screen and (max-width:768px) {
	.title {
		font-size:0.9rem;
	}
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
	transition: all .5s;
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);
	transition: all .5s;
}

/*　closeというクラスがついたら形状変化　*/

.title.close::before{
	transform: rotate(45deg);
	transition: all .5s;
}

.title.close::after{
	transform: rotate(-45deg);
	transition: all .5s;
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #fff;
	font-size: 20px;
	margin:0 3% 3% 3%;
    padding: 3%;
}
@media only screen and (max-width: 768px) {
	.accordion-area {
		margin-bottom: 10%;
	}
	.accordion-area li:first-child {
		margin-top: 0;
	}
	.box {
		font-size: 14px;
		margin:0 3% 3% 3%;
		padding: 3%;
	}
	.box p {
		margin: 0;
	}
}

/*--対応地域--*/
/* --------------------------------------------------------------------------------
Tabのレイアウト
-------------------------------------------------------------------------------- */
/*tabの形状*/
.areaTab{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.areaTab li {
	width: calc(100% / 2);
    text-align: center;
}
.areaTab li a{
	display: block;
	background:#7db9ff;
	margin:0 2px;
	padding:10px 20px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	border-radius: 10px 10px 0px 0px;
}
/*liにactiveクラスがついた時の形状*/
.areaTab li.active a{
	background:#3f97ff;
}
/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
	padding: 50px;
	border: 1px solid #ccc;
}
/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.areaContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.areaImage {
    max-width: 400px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.areaImage img {
    max-width: 100%;
    height: auto;
}
.areaContent {
    display: block;
    overflow: hidden;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}
@media only screen and (min-width: 769px) {
	.areaContent {
		margin-left: 15px;
	}
}
.areaTitle,.areaText {
    padding-left: 0;
}
.areaTitle {

}
.areaTitle h2 {
	margin: 0 0 10px;
	border-bottom: 1px solid #ccc;
}
.areaText {
    margin-bottom: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
	font-size: 20px;
	text-align: justify;
}
@media only screen and (max-width: 768px) {
	.areaBox {
		margin-bottom: 10%;
	}
	.areaTab li a {
		padding: 2%;
		font-size: 1em;
		border-radius: 5px 5px 0px 0px;
		min-height: 55px;
	}
	.area {
		padding: 2%;
	}
	.areaImage {
		max-width: inherit;
		width: 45%;
	}
	.areaContent {
		width: 50%;
	}
	.areaTitle h2 {
		margin: 0 0 2%;
		font-size: 1em;
	}
	.areaText {
		font-size: 14px;
	}
}

/*--店舗情報--*/
.shopBox {
	background: #daebff;
	padding: 30px;
    text-align: center;
}
.shopBox .shopInner h3{
	font-size: 30px;
	margin: 0 0 30px;
	border-bottom: thick double #ccc;
}
.shopInner {
	background: #fff;
	padding: 50px;
}
.shopContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 30px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.shopImage {
    max-width: 300px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.shopImage img {
    max-width: 100%;
    height: auto;
}
.shopContent {
    display: block;
    overflow: hidden;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
	font-size: 20px;
	text-align: left;
}
@media only screen and (min-width: 769px) {
	.shopContent {
		margin-left: 30px;
	}
}
.shopTitle,.shopText {
    margin-bottom: 10px;
}
.shopTitle {
	font-weight: bold;
}
.shopTitle h2 {
	margin: 0 0 10px;
	border-bottom: 1px solid #ccc;
}
.shopText {
    margin-bottom: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
	font-size: 18px;
	text-align: justify;
}
.shopList {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}
.shopList li {
	width: 48%;
    text-align: left;
    padding: 20px;
    border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
}
.shopList li dl dt{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.shopList li dl dd{
	margin: 0;
}
.shopText address,.shopList li dl dd address{
	margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
	.shopBox {
		padding: 4%;
		margin-bottom: 10%;
	}
	.shopInner {
		padding: 4%;
	}
	.shopBox .shopInner h3 {
		font-size: 1em;
		margin: 0 0 4%;
	}
	.shopContainer {
		display: inherit;
		width: 90%;
		margin: 0 auto 10%;
	}
	.shopImage {
		max-width: inherit;
		width: 100%;
		margin: 0 auto 2%;
	}
	.shopContent {
		font-size: 16px;
	}
	.shopTitle {
		font-size: 1em;
		text-align: center;
	}
	.shopText {
		font-size: .9em;
	}
	.shopList {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.shopList li {
		width: 100%;
		padding: 2%;
	}
	.shopList li dl dt {
		font-size: .9em;
		margin-bottom: 10px;
	}
	.shopList li dl dd {
		font-size: .8em;
		margin-bottom: .5em;
	}
}

/*--お問い合わせ--*/
.contact-box {
    background: #e8faff;
    padding: 60px 0 80px;
	margin-bottom: 50px;
}
.contact-box p {
	margin: 0;
}
@media screen and (min-width: 768px) {
	.contact-box {
		padding: 30px;
	}
}

/*--お問い合わせボタン--*/
.toiawaseBtn {
    display: flex;
    flex-flow: wrap;
    justify-content: space-around;
    align-items: center;
	margin-bottom: 50px;
}
ul.toiawaseBtn li {
	width: 55%;
}
ul.toiawaseBtn li img {
	width: 100%;
}
button.telBtn {
	background: linear-gradient(-45deg, #FF6E00, #FF9D00, #FFD000, #FF6E00);
}
button.mailBtn {
	background: linear-gradient(-45deg, #3978e5, #27c8b7, #79EBD8, #3978e5);
}
button.lineBtn {
	background: linear-gradient(-45deg, #06c755, #67f50a, #f5f10a, #06c755);
}
button.telBtn:hover,button.mailBtn:hover,button.lineBtn:hover {
	animation: gradient 3s infinite;
	transform: scale(1.05);
}
button.telBtn:active,button.mailBtn:active,button.lineBtn:active {
	animation: gradient 3s infinite;
	transform: scale(0.8);
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

button.telBtn,button.mailBtn,button.lineBtn {
	background-size: 800% 400%;
	padding: 1em 2em;
	display: inline-block;
	border: none;
	border-radius: 10px;
	font-size: 17px;
	font-weight: 700;
	color: white;
	transition: all .5s ease-in-out;
	animation: gradient 10s infinite cubic-bezier(.62, .28, .23, .99) both;
}
@media only screen and (max-width: 768px) {
	.toiawaseBtn {
		margin-bottom: 5%;
	}
	button.telBtn,button.mailBtn,button.lineBtn {
		padding: 0.5em;
	}
}

@media screen and (min-width: 768px) {
	.contactNotice {
		padding: 0 0 30px;
		max-width: 810px;
		width: 81%;
		margin: 0 auto;
	}
}
.contactNotice .contact-txt {
	font-weight: bold;
	margin-bottom: 0.5em;
}
.contactNotice .contactRed {
    color: #ff0000;
}
.contactNotice .notes {
    padding-left: 1em;
}
@media screen and (min-width: 768px) {
	.contactNotice .notes {
		font-size: 14px;
	}
}
.formBox {
    background: #FFF;
    padding: 50px 6% 40px;
}
.contactForm textarea {
    box-shadow: none;
    padding: 5px 8px;
    width: 68%;
}
.contactForm textarea {
    font-size: 16px;
    padding: 5px 5px 4px;
    overflow: auto;
    color: #333;
    line-height: 1.7;
    background: #fbfbfb;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 3px;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 10%);
    transition: background-color .2s;
    resize: vertical;
}
.contactForm input[type=date],
.contactForm input[type=datetime-local],
.contactForm input[type=datetime],
.contactForm input[type=email],
.contactForm input[type=month],
.contactForm input[type=number],
.contactForm input[type=password],
.contactForm input[type=search],
.contactForm input[type=tel],
.contactForm input[type=text],
.contactForm input[type=time],
.contactForm input[type=url],
.contactForm input[type=week] {
    min-height: 32px;
    padding-right: 8px;
    padding-left: 8px;
    color: #333;
    font-size: 16px;
    line-height: 1.8;
    vertical-align: middle;
    background: #fbfbfb;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 3px;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 10%);
    transition: background-color .2s;
    -webkit-appearance: none;
}
.contactForm input[type=date],
.contactForm input[type=datetime-local],
.contactForm input[type=datetime],
.contactForm input[type=email],
.contactForm input[type=month],
.contactForm input[type=number],
.contactForm input[type=password],
.contactForm input[type=search],
.contactForm input[type=tel],
.contactForm input[type=text],
.contactForm input[type=time],
.contactForm input[type=url],
.contactForm input[type=week] {
    min-height: 40px;
}
.contactForm-width-full {
    width: 100%;
}
.formText {
    padding: 0 0 25px;
}
.formList {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 3px;
    padding: 0;
    list-style: none;
    background: #F6F6F6;
}
@media screen and (min-width: 768px) {
	.formList {
		width: 100%;
	}
}
.formList-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
    background: #F6F6F6;
    border-bottom: 12px solid #fff;
}
.formImg {
    float: left;
    width: 25%;
    height: 100%;
    margin-left: 70%;
    margin-bottom: -30%;
}
.formList-control, .formList-label {
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.formList-ttl {
    padding: 15px 15px 5px;
    font-weight: 400;
}
@media screen and (min-width: 768px) {
	.formList-control {
		padding: 5px 15px 15px;
	}
}
@media screen and (min-width: 768px) {
	.formList-label {
		padding: 15px 15px 5px;
		vertical-align: top;
	}
}
.formRadio {
    position: relative;
    display: inline-block;
    margin-right: 15px;
    cursor: pointer;
    line-height: 1.7;
}
.formRadio input {
    position: absolute;
    margin: 0;
    padding: 0;
    font-size: 100%;
    opacity: 0;
}
input[type=radio], select {
    cursor: pointer;
}
.radio-input {
    display: none;
}
.radio-input + label {
    padding: 0 0 0 28px;
    position: relative;
    margin-right: 20px;
}
.radio-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #D6D6D6;
    background: #fff;
    border-radius: 50%;
}
.radio-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
    background: #333;
    border-radius: 50%;
}
.formList-label {
    line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.formList-label {
		padding: 15px 15px 5px;
		vertical-align: top;
	}
}
.formWidth-full {
    width: 100%;
}
.marginBottom-small {
    margin-bottom: 10px!important;
}
::placeholder {
	color: #999;
}
.contact-box input[required]:required, .contact-box textarea[required]:required {
    background: #fffdeb;
}
.label-required {
    margin: 0 5px;
    padding: 3px 8px;
    color: #fff;
    background: #ED6969;
    border-radius: 15px;
    font-size: 12px;
    vertical-align: text-bottom;
}
@media screen and (min-width: 768px) {
	.label-required {
		margin: 0 10px;
	}
}
.formList-col {
    margin: 0 0 10px;
    padding: 0 5px;
}
.formList-col:last-child {
    margin: 0;
}
.formCol-4 {
    float: left;
    width: 33.33333%;
}
.formCol-8 {
    float: left;
    width: 66.66667%;
}
.contact-box textarea {
    font-size: 16px;
    padding: 5px 5px 4px;
}
.privacy-checkbox {
    text-align: center;
    font-weight: bold;
    margin: 0 auto 40px;
}
.privacy-checkbox label {
    text-align: left;
    margin-left: 0.3rem;
}
.form-btn-box {
    text-align: center;
}
button, input[type=button], input[type=reset], input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button;
}
.form-btn-box .link-btn {
    position: relative;
    max-width: 230px;
    margin: 0 auto;
}
.form-btn-box .link-btn.right-arrow::before {
    content: '';
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    border-color: #FFF #FFF transparent transparent;
    transform: translate(0, -50%) rotate(45deg);
    right: 20px;
}
.centerText {
    text-align: center;
    margin: 0;
}
.btn-attention-block-large {
    width: 100%;
	max-width: 230px;
    background: #6BB5DE;
    color: #fff;
    font-weight: 600;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 18px 25px;
    text-align: center;
    border-radius: 40px;
    font-size: 16px;
    box-sizing: border-box;
    transition: background-color .25s linear;
}
.form-btn-box .btn-attention-block-large:hover {
    background: #3F9FD3;
}
div#ssl-seal {
    margin-top: 1.5em;
}
div#ssl-seal a {
	color:#000000;
	text-decoration:none;
	font:bold 10px verdana,sans-serif;
	letter-spacing:.5px;
	margin:0px;
	padding:0px;
}
.formHide {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
}
@media only screen and (max-width: 768px) {
	.contact-box {
		padding: 4%;
		margin-bottom: 10%;
	}
	.contactNotice {
		font-size: 1em;
		margin-bottom: 4%;
	}
	.contactNotice .notes {
		padding-left: 0;
		font-size: .8em;
	}
	.formBox {
		padding: 2%;
	}
	.formList-group {
		padding: 2%;
	}
	.formList-label {
		line-height: 2;
	}
	.formList-ttl {
		padding: 0;
	}
	.formImg {
		height: auto;
		margin-left: 70%;
		margin-bottom: -35%;
		width: 30%;
	}
	.formCol-4,.formCol-8,.contactForm .request textarea {
		width: 100%;
	}
}



/*--フッター--*/
footer {
	background: #a4c5ff;
	padding: 20px 0 10px;
}
.footerBox {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
div.footerBox .footerboxInner {
    width: 100%;
	padding: 0 30px 30px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
}
.footL img,.footR img {
	height: 100px; 
}
.privacy li a{
	text-decoration: none;
	color: #fff;
}
@media only screen and (max-width: 768px) {
	footer {
		padding: 5% 0 2%;
	}
	.footerBox {
		max-width: initial;
	}
	div.footerBox .footerboxInner {
		padding: 0 10% 5%;
		display: block;
	}
	.footL img, .footR img {
		width: 100%;
		height: auto;
	}
}



@media only screen and (max-width: 768px) {
	.main {
		margin-bottom: 24vw;
	}
	.fixMenu_sp {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 999;
		width: 100%;
		background: #d9f1fe;
		justify-content: space-between;
		align-items: center;
		padding: 4% 2%;
	}
}


/*--プライバシーページ--*/
.page_privacy {
	background: #f5f5f5;
	padding: 20px 50px 50px;
	margin-bottom: 50px;

	
}
.page_privacy h2 {
    margin: 30px 0 20px 0;
    font-size: 1.5em;
    line-height: 140%;
    color: #202231;
}
.page_privacy ol {
    margin: 20px 0 0 40px;
}
.page_privacy ol li {
	text-align: justify;
}
.page_privacy ol li ol {
    margin-bottom: 20px;
}
.comInfo {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none;
}
.comInfo dt {
    background: #f5f5f5;
    padding: 1em;
    width: 150px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 0.95em;
}
.comInfo dd {
    background: #fff;
    padding: 1em;
	margin: 0;
    width: calc(100% - 150px);
    border-bottom: 1px solid #ccc;
    font-size: 0.95em;
}
.page_privacy p.tR {
    margin: 30px 0 0 0;
    font-size: 0.95em;
    line-height: 140%;
    text-align: right;
}
@media only screen and (max-width: 768px) {
	.page_privacy {
	padding: 5%;
	}
	.page_privacy ol {
		margin: 2% 0 0 .5em;
	}
	.page_privacy ol li ol {
		font-size: .9em;
	}
	.comInfo dt,.comInfo dd {
		font-size: 0.8em;
	}
}



/*--サンクスページ--*/
.thanksH2 {
	text-align: center;
}