@charset "UTF-8";
/* CSS Document */

/********************************************************************

reset

*********************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

img.max-size {
	width: 100%;
	height: auto;
}

/****************************************

          Clearfix

*****************************************/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
/* clearfix for ie7 */
.clearfix {
	display: block;
}


/****************************************

          CSS3 MEMO

*****************************************/

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

/****************************************

          General Setting

*****************************************/

html {
	height: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: "GenJyuuGothicX","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	width: 100%;
	min-width: 320px;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	position: relative;
	font-size: 16px;
	line-height: 180%;
	color: #333;
}

img {
	vertical-align: bottom;
}

* {-webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
}

span.important {
	font-weight: bold;
	color: #f00;
}

.bold {
	font-weight: bold;
}

span.green {
	color: #27b674;
	font-weight: bold;
}

p.main-txt a {
	color: #27b674;
	text-decoration: underline;
}

p.main-txt a:hover {
	text-decoration: none;
}

p.breadcrumbs {
	z-index: 10;
}

/******************************************************************************************************

SP

******************************************************************************************************/

@media screen and (max-width: 767px) {
	
	#feature,#guide,#facility,#faq {
		margin-top: -60px;
		padding-top: 60px;
		display: block;
	}
	
	.pc {
		display: none;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: block;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
		background: #27b674;
	}

	.hamburger span {
		display : block;
		position: absolute;
		width: 30px;
		height: 2px;
		left: 15px;
		background : #fff;
		transition: .3s;
	}

	.hamburger span:nth-child(1) {
		top: 22px;
	}

	.hamburger span:nth-child(2) {
		top: 30px;
	}

	.hamburger span:nth-child(3) {
		top: 38px;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
		transition: .3s;
	}

	.hamburger.active span:nth-child(1) {
		top : 30px;
		left: 15px;
		background: #fff;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 30px;
		background: #fff;
		transform: rotate(45deg);
	}
	
	header {
		width: 100%;
		height: 60px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 200;
		margin: auto;
		background: rgba(255, 255, 255, 0.9);
		backdrop-filter: blur(12px);
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 5vw;
	}
	
	/* このクラスを、jQueryで付与・削除する */
	nav.gnav.active {
		visibility: visible;
		opacity: 1;
	}
	
	nav.gnav {
		width: 100%;
		height: 100vh;
		background: #fff;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.1));
		padding: 90px 0!important;
		position: fixed;
		top: 0;
		right: 0;
		overflow: auto;
		visibility: hidden;
		z-index: 1000;
		transition: .3s;
		opacity: 0;
		display: block;
	}
	
	/* このクラスを、jQueryで付与・削除する */
	nav.gnav.active {
		visibility: visible;
		opacity: 1;
	}
	
	nav.gnav ul {
		width: 100%;
		padding: 0 5vw;
	}
	
	nav.gnav ul li {
		width: 100%;
		border-bottom: 2px dotted #ddd;
	}
	
	nav.gnav ul li a {
		height: 70px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-decoration: none;
		transition: .3s;
		position: relative;
	}
	
	nav.gnav ul li a:hover img {
		opacity: 1;
	}
	
	nav.gnav ul li a img.icon {
		width: 20px;
		height: auto;
		margin-right: 10px;
	}
	
	nav.gnav ul li a p {
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		color: #333;
	}
	
	.gnav-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 12px;
		height: 2.4px;
  		margin: 4px 0;
	  	border-radius: 9999px;
	  	background-color: #fff;
	}

	.gnav-arrow::before,
	.gnav-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.3px);
	  	right: 0;
	  	width: 9px;
  		height: 2.4px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: calc(100% - 1.3px) 50%;
	}

	.gnav-arrow::before {
	  	transform: rotate(45deg);
	}

	.gnav-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.gnav-arrow-circle {
		width: 24px;
		height: 24px;
		background: #27b674;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 10px;
		border-radius: 50%;
		position: absolute;
		right: 0;
		top: 23px;
	}
	
	header div.inner {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	div.logo-area {
		display: flex;
		align-items: flex-start;
		position: relative;
		z-index: 2000;
	}
	
	div.logo-area img.logo {
		width: auto;
		height: 40px;
		margin-right: 10px;
	}
	
	div.logo-area img.touroku {
		width: auto;
		height: 40px;
	}
	
	main {
		width: 100%;
		position: relative;
	}
	
	section {
		width: 100%;
		padding: 12vw 5vw;
		position: relative;
	}
	
	section div.inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	
	section.main-visual {
		width: 100%;
		margin: 0 auto;
		padding: 90px 0 5vw 0;
		position: relative;
		overflow: hidden;
	}
	
	section.main-visual img.top-ip {
		width: 64vw;
		height: auto;
		position: absolute;
		bottom: 15px;
		left: 66vw;
		z-index: 100;
	}
	
	h1 {
		padding-left: 5vw;
	}
	
	h1 p.copy {
		font-size: 4.1vw;
		font-weight: bold;
		line-height: 1;
	}
	
	h1 p.name {
		font-size: 7.2vw;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-top: 10px;
	}
	
	h1 p.name span.end {
		font-size: 7.2vw;
		font-weight: bold;
		letter-spacing: -0.3em;
	}
	
	h1 p.name span.small {
		font-size: 5.8vw;
		font-weight: bold;
	}
	
	h1 p.ex {
		font-size: 2.4vw;
		line-height: 1;
		margin-top: 15px;
	}
	
	div.wrapper.slide {
		width: 100%;
		padding: 0 5vw 5vw 5vw;
	}
	
	div.slider-wrapper {
		width: 100%;
		display: flex;
  		overflow: hidden;
		border-radius: 3vw 3vw 0 0;
		position: relative;
		margin: 0 auto;
	}
	
	p.slider-copy {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		font-size: 4.5vw;
		font-weight: bold;
		color: #fff;
		line-height: 150%;
		z-index: 1;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	ul.slider {
		width: 100%;
		animation: scroll-left 10s infinite linear .5s both;
		display: flex;
	}
	
	ul.slider li.slide {
		width: calc(100vw / 3);
	}
	
	ul.slider li.slide img {
  		display: block;
  		width: 100%;
		height: auto;
	}
	
	@keyframes scroll-left {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
	
	div.top-btn-wrapper {
		width: 100%;
		margin: 0 auto;
		padding: 2vw;
		background: #27b674;
		border-radius: 0 0 3vw 3vw;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 2vw;
	}
	
	a.top-btn {
		border-radius: 2vw;
		background: #fff;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 16px;
		font-weight: bold;
		color: #333;
		text-decoration: none;
		padding: 15px 0;
		transition: .3s;
	}
	
	a.top-btn img {
		width: auto;
		height: 24px;
		margin-right: 10px;
	}
	
	a:hover.top-btn img {
		opacity: 1;
	}
	
	section.gray {
		background: #f9faf6;
	}
	
	h2.main-title.en {
		font-size: 11px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 10px;
	}
	
	h2.main-title.en::before {
		content: " ";
		display: inline-block;
		width: 25px;
		height: 10px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	h2.main-title.jp {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.content-wrapper {
		width: 100%;
		margin-top: 30px;
		position: relative;
	}
	
	.separate-half {
		display: grid;
		grid-template-columns: 1fr;
	}
	
	ul.feature {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		margin: 0 auto;
	}

	ul.feature li img {
		width: 100%;
		height: auto;
	}
	
	p.main-txt {
		margin-top: 20px;
	}
	
	img.number-of-stores {
		margin: 12vw auto -12vw auto;
		width: 100%;
		max-width: 480px;
		height: auto;
		display: block
	}
	
	.relative {
		position: relative;
	}
	
	.main-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 9px;
		height: 2px;
  		margin: 2px 0;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	}

	.main-arrow::before,
	.main-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1px);
	  	right: 0;
	  	width: 7px;
  		height: 2px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: calc(100% - 1px) 50%;
	}

	.main-arrow::before {
	  	transform: rotate(45deg);
	}

	.main-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.main-arrow-circle {
		width: 20px;
		height: 20px;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 5px;
		border-radius: 50%;
	}
	
	a.main-btn {
		width: fit-content;
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 16px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		background: #27b674;
		border-radius: 10px;
		padding: 0 20px;
		margin: 12vw auto 0 auto;
		flex-shrink: 0;
	}
	
	a.main-btn.title-side {
		display: none;
	}
	
	div.content-wrapper.store-list {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 10px;
	}
	
	div.content-wrapper.store-list dl {
		width: 100%;
	}
	
	dt.store-location {
		width: 100%;
		padding: 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #edffd1;
		border-radius: 10px;
		text-decoration: none;
		cursor: pointer;
		transition: .3s;
	}
	
	dt.store-location div.title-area {
		display: flex;
		align-items: center;
	}
	
	dt.store-location div.title-area p.title {
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
		color: #333;
		margin-right: 10px;
	}
	
	dt.store-location div.title-area p.number-of-stores {
		font-size: 14px;
		font-weight: bold;
		line-height: 24px;
		color: #fff;
		background: #333;
		padding: 0 10px;
		border-radius: 12px;
	}
	
	dt.store-location div.btn {
		display: flex;
		align-items: center;
		background: #fff;
		border-radius: 5px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 0 10px;
		transition: .3s;
	}
	
	dt.store-location div.btn p {
		font-size: 12px;
		font-weight: bold;
		line-height: 30px;
		color: #333;
		transition: .3s;
	}
	
	.store-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 10px;
	  	height: 6px;
		margin-right: 5px;
		transition: .3s;
	}

	.store-arrow::before,
	.store-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.2px);
	  	width: 2px;
	  	height: 8px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: 50% calc(100% - 1.2px);
	}

	.store-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.store-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	dd.store-location-list {
		width: 100%;
		padding: 0 15px 15px 15px;
		background: #edffd1;
		display: none;
		border-radius: 0 0 5px 5px;
	}
	
	dt.store-location.open {
		border-radius: 10px 10px 0 0;
	}
	
	dt.store-location.open .store-arrow::before {
		top: -6px;
	  	transform: rotate(-132.2deg);
		background-color: #333;
	}
	
	dt.store-location.open .store-arrow::after {
		top: -6px;
	  	transform: rotate(132.2deg);
		background-color: #333;
	}
	
	dt.store-location p.detail {
		display: block;
	}
	
	dt.store-location p.close {
		display: none;
	}
	
	dt.store-location.open p.detail {
		display: none;
	}
	
	dt.store-location.open p.close {
		display: block;
	}
	
	dt.store-location.open div.btn {
		background: #d5d8cd;
	}
	
	dt.store-location:hover p.detail {
		color: #27b674;
	}
	
	div.store-list-wrapper {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		gap: 15px;
	}
	
	div.store-list-wrapper a {
		background: #fff;
		border-radius: 7.5px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		transition: .3s;
		padding: 15px;
		text-decoration: none;
	}
	
	div.store-list-wrapper a img.store-photo {
		width: 100%;
		height: auto;
	}
	
	div.store-list-wrapper a h3.store-name {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 15px 0 10px 0 ;
	}
	
	div.store-list-wrapper a p {
		line-height: 20px;
		color: #333;
		padding-left: 20px;
	}
	
	div.store-list-wrapper a p.tel {
		font-size: 16px;
		font-weight: bold;
		background: url("../img/tel-icon.png") no-repeat left top 2px / 15px 15px;
		margin-bottom: 5px;
	}
	
	div.store-list-wrapper a p.address {
		font-size: 12px;
		background: url("../img/address-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	h3.repair-menu {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 8vw;
	}
	
	h3.repair-menu p.icon {
		width: 60px;
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		margin-right: 10px;
	}
	
	h3.repair-menu p.icon.ip {
		background: #27b674;
	}
	
	h3.repair-menu p.icon.ipad {
		background: #ff8358;
	}
	
	h3.repair-menu p.icon img {
		width: auto;
		height: 30px;
	}
	
	div.repair-wrapper {
		width: 100%;
		margin-top: 4vw;
		display: grid;
		gap: 15px;
	}
	
	div.repair-wrapper.ip {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	}
	
	div.repair-wrapper.ipad {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	}
	
	div.repair-wrapper a {
		width: 100%;
		padding: 15px;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		background: #fff;
		color: #333;
		text-decoration: none;
		transition: .3s;
	}
	
	div.repair-wrapper.ip a h4 {
		font-size: 16px;
		line-height: 150%;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		min-height: 60px;
	}
	
	div.repair-wrapper.ip a img.ip-icon {
		width: auto;
		height: 100px;
		display: block;
		margin: 20px auto 0 auto;
	}
	
	div.repair-wrapper a p.time {
		font-size: 12px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 30px;
	}
	
	div.repair-wrapper a p.time img {
		width: 20px;
		height: auto;
		margin-right: 5px;
	}
	
	div.repair-wrapper.ipad a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 25px;
	}
	
	div.repair-wrapper.ipad a img.ipad-icon {
		width: auto;
		height: 70px;
	}
	
	div.repair-wrapper.ipad a div.img-area {
		width: 30%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.txt-area {
		width: 70%;
	}
	
	div.repair-wrapper.ipad a h4 {
		font-size: 16px;
		line-height: 150%;
		font-weight: bold;
		text-align: center;
	}
	
	div.repair-wrapper.ipad a p.time {
		font-size: 12px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 5px;
	}
	
	ul.reason-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
		margin-top: 6vw;
	}
	
	ul.reason-wrapper li {
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.reason-wrapper li h3 {
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	ul.reason-wrapper li h3 p {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
	}
	
	ul.reason-wrapper li h3 img {
		width: 100px;
		height: auto;
		margin-right: 15px;
		border-radius: 50%;
		border: 3px solid #27b674;
	}
	
	section.l-green {
		background: #edffd1;
	}
	
	h2.green {
		text-align: center;
		color: #27b674;
	}
	
	ul.flow {
		width: 100%;
		max-width: 500px;
		display: block;
		margin: 0 auto;
		margin-top: 60px;
	}
	
	ul.flow li {
		width: 100%;
		margin-top: 50px;
	}
	
	ul.flow li.arrow {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
	}
	
	ul.flow li.arrow img {
		width: 5%;
		height: auto;
		transform: rotate(90deg);
	}
	
	ul.flow li p.number {
		font-size: 24px;
		font-weight: bold;
		color: #27b674;
		background: #fff;
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 3px solid #27b674;
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: -30px;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto auto auto;
		z-index: 1;
	}
	
	ul.flow li img.photo {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	
	h3.flow-title {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 20px;
		font-weight: bold;
		line-height: 80px;
		border-radius: 0 0 10px 10px;
		text-align: center;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
		z-index: 1;
		color: #fff;
		width: 100%;
		padding-top: 30px;
	}
	
	footer {
		width: 100%;
		background: #27b674;
		padding-top: 10vw;
	}
	
	footer ul.footer-link {
		width: 100%;
		padding: 0 5vw 10vw 5vw;
	}
	
	footer ul.footer-link li {
		width: 100%;
	}
	
	footer ul.footer-link li:first-child {
		margin-bottom: 10vw;
	}
	
	footer ul.footer-link li:last-child {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 5%;
		grid-row-gap: 30px;
	}
	
	footer ul.footer-link li a.page-link {
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	footer ul.footer-link li a.page-link.store {
		width: 100%;
		border: none;
	}
	
	footer ul.footer-link li a:hover {
		opacity: 0.7;
	}
	
	footer ul.footer-link li a.page-link img {
		width: auto;
		height: 20px;
		margin-right: 6px;
	}
	
	footer ul.footer-link li a:hover.page-link img {
		opacity: 1;
	}
	
	footer dl {
		width: 100%;
		margin: 30px 0 0 0;
	}
	
	footer dl dt {
		font-size: 13px;
		font-weight: bold;
		line-height: 150%;
		color: #edffd1;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 2px dotted #68cc9e;
	}
	
	footer dl dd {
		margin-bottom: 40px;
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 5vw;
		grid-row-gap: 10px;
	}
	
	footer ul.footer-link li dl dd a {
		font-size: 12px;
		line-height: 150%;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	.footer-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 7px;
	  	height: 12px;
		margin-right: 5px;
	}

	.footer-arrow::before,
	.footer-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.5px);
	  	right: 0;
	  	width: 9px;
	  	height: 3px;
	  	border-radius: 9999px;
	  	background-color: #ffffff;
	  	transform-origin: calc(100% - 1.5px) 50%;
	}

	.footer-arrow::before {
	  	transform: rotate(48.35deg);
	}

	.footer-arrow::after {
	  	transform: rotate(-48.35deg);
	}
	
	div.footer-bottom {
		width: 100%;
		background: #fff;
	}
	
	div.footer-bottom div.inner {
		width: 100%;
		margin: 0 auto;
		padding: 25px 5vw;
	}
	
	div.footer-bottom div.inner div.logo-area {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	div.footer-bottom div.inner div.logo-area img.logo {
		width: auto;
		height: 40px;
		margin-right: 30px;
	}
	
	div.footer-bottom div.inner div.logo-area a.txt-link {
		font-size: 13px;
		color: #333;
		text-decoration: none;
	}
	
	div.footer-bottom div.inner p.copyright {
		font-size: 13px;
		color: #333;
		text-align: center;
		margin-top: 30px;
	}
	
/******************************

下層共通

******************************/
	
	html {
		scroll-padding-top: 60px;
	}
	
	body.lower {
		padding-top: 60px;
	}
	
	section.main-visual.lower {
		max-width: none;
		padding: 0;
		background: #f9faf6;
	}
	
	section.main-visual.lower div.inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
		padding-left: 5vw;
	}
	
	section.main-visual.lower div.inner h1 {
		padding: 60px 0 0 0;
	}
	
	section.main-visual.lower div.inner img.mv {
		width: 100%;
		height: 45vw;
		object-fit: cover;
		clip-path: polygon(15% 0%,100% 0%,100% 100%,0% 100%);
		margin-top: 50px;
	}
	
	p.page-title.en {
		font-size: 12px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 15px;
		text-transform: uppercase;
	}
	
	p.page-title.en::before {
		content: " ";
		display: inline-block;
		width: 25px;
		height: 10px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	p.page-title.jp {
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
	}
	
	p.breadcrumbs {
		font-size: 11px;
		color: #666;
		line-height: 150%;
		position: absolute;
		bottom: -35px;
		left: 0;
	}
	
	p.breadcrumbs.is-animation {
		display: none;
	}
	
	p.breadcrumbs a {
		color: #aaa;
		text-decoration: none;
		transition: .3s;
	}
	
	p.breadcrumbs a:hover {
		opacity: 0.7;
	}
	
	h2.sub-title {
		font-size: 22px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
		padding-bottom: 13px;
	}
	
	h2.sub-title::after {
		position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px;
	  	width: 40px;
		border-image: linear-gradient(to right, #27b674, #caea98) 1;
		padding-bottom: 10px;
	}
	
	h2.index {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	
	h2.index img {
  		width: 18px;
		height: auto;
		margin-right: 10px;
	}
	
	h2.index p {
  		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
	}
	
	h2.index.ipad p {
		color: #ff8358;
	}
	
	div.index-wrap {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
		gap: 15px;
	}
	
	div.index-wrap a {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		color: #333;
		line-height: 150%;
		text-decoration: none;
		text-align: center;
		border-radius: 7.5px;
		transition: .3s;
		background: #fff;
		filter: drop-shadow(0px 0px 3px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 1px 3px rgba(0,0,0,.1));
		padding: 11px 0 25px 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.index-wrap a span.small {
		font-size: 12px;
		font-weight: bold;
		padding: 0 10px;
	}
	
	div.index-wrap a p.arrow-wrap {
		width: 100%;
		height: 14px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 0 0 7.5px 7.5px;
		background: #27b674;
		margin-top: 20px;
		position: absolute;
		left:0;
		bottom: 0;
	}
	
	div.index-wrap.ipad a p.arrow-wrap {
		background: #ff8358;
	}
	
	.index-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 10px;
	  	height: 6px;
		margin-right: 5px;
		transition: .3s;
	}

	.index-arrow::before,
	.index-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.2px);
	  	width: 2px;
	  	height: 8px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: 50% calc(100% - 1.2px);
	}

	.index-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.index-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	.reverse {
		flex-direction: row-reverse;
	}
	
/******************************

店舗一覧

******************************/
	
	section.margin {
		margin: 12vw 0;
		padding: 0 5vw;
	}
	
	div.store-list-wrapper.lower a {
		filter: none;
		background: #edffd1;
	}
	
	div.store-list-wrapper.lower a h3.store-name {
		color: #333;
	}
	
	div.store-list-wrapper a p.time {
		font-size: 14px;
		background: url("../img/time-ip-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	ul.service {
		width: 100%;
		margin-top: 5px;
		display: flex;
		flex-wrap: wrap;
	}
	
	ul.service li {
		margin: 5px 5px 0 0;
		font-size: 10px;
		font-weight: bold;
		line-height: 20px;
		padding: 0 10px;
		border-radius: 11px;
	}
	
	ul.service li.accessory {
		color: #27b674;
		background: #fff;
		border: 1px solid #27b674;
	}
	
	ul.service li.sp-repair {
		color: #fff;
		background: #27b674;
		border: 1px solid #27b674;
	}
	
	ul.service li.pc-repair {
		color: #fff;
		background: #276eb6;
		border: 1px solid #276eb6;
	}
	
	ul.service li.dyson-repair {
		color: #fff;
		background: #eb9525;
		border: 1px solid #eb9525;
	}
	
/******************************

修理メニュー

******************************/
	
	img.side {
		width: 50%;
		height: auto;
		display: block;
		margin: 0 auto 30px auto;
	}
	
	.txt-area.repair {
		width: 100%;
	}
	
	div.index-wrap.repair {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 15px;
	}
	
	div.repair-menu-wrapper {
		margin-bottom: -20px;
	}
	
	dl.repair-menu {
		width: 100%;
		padding: 5vw;
		border-radius: 20px;
		background: #fff;
		margin-bottom: 20px;
	}
	
	dl.repair-menu dt {
		width: 100%;
	}
	
	dl.repair-menu dt img {
		width: 100%;
		height: 50vw;
		object-fit: cover;
		border-radius: 10px;
	}
	
	dl.repair-menu dd {
		width: 100%;
		margin-top: 30px;
	}
	
	h3.repair-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.repair-content {
		width: 100%;
		margin-top: 20px;
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd
	}
	
	div.repair-content a.main-btn {
		margin: 30px auto 0 auto;
	}
	
	div.repair-content p.time {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	
	div.repair-content p.time img {
		width: 20px;
		height: auto;
		margin-right: 5px;
	}
	
	h2.note {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #f00;
		display: flex;
		align-items: center;
	}
	
	h2.note img {
		width: 24px;
		height: auto;
		margin-right: 10px;
	}
	
	div.content-wrapper.note {
		margin: 30px auto 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	img.note {
		width: 60%;
		border-radius: 50%;
		display: block;
		margin: 0 auto 30px auto;
	}
	
	a.main-btn.sentence-end {
		margin-top: 30px;
	}
	
/******************************

よくある質問

******************************/
	
	section div.inner.faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	dl.faq {
		width: 100%;
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd;
	}
	
	dl.faq dt {
		width: 100%;
		padding: 10px 0 10px 0;
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	
	dl.faq dt img {
		width: auto;
		height: 30px;
		margin: -25px 10px 0 0;
	}
	
	dl.faq dt h2.question {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
	}
	
	dl.faq dd {
		width: 100%;
		display: flex;
		align-items: flex-start;
	}
	
	dl.faq dd img {
		width: auto;
		height: 30px;
		margin: -15px 10px 0 0;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
		margin: 0 auto;
	}
	
	table.company th {
		width: 100%;
		padding: 20px 0 10px 0;
		font-weight: bold;
		display: block;
	}
	
	table.company td {
		width: 100%;
		padding: 0 0 20px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
		display: block;
	}
	
	div.gmap {
		width: 100%;
		height: 80vw;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
		border-top: 1px solid #eee;
		margin-top: 20px;
	}

	table.contact-form th,
	table.contact-form td {
		font-size: 16px;
		line-height: 180%;
		overflow: hidden;
		display: block;
	}

	table.contact-form th {
		font-weight: bold;
		-webkit-font-smoothing: antialiased;
	  	-moz-osx-font-smoothing: grayscale;
		text-align: left;
		width: 100%;
		padding: 2.5vw 0 0 0;
	}

	table.contact-form td {
		width: 100%;
		text-align: left;
		padding: 3vw 0;
		border-bottom: 1px solid #eee;
	}

	.formbtn {
		padding: 15px 50px;
		background: #27b674;
		font-size: 20px;
		color: #fff;
		cursor: pointer;
		outline: none;
		border: none;
		margin: 8vw auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
		transition: 0.3s ease-in-out;
		border-radius: 50px;
	}

	input[type="text"],
	input[type="tel"],
	input[type="email"],
	textarea {
		width: 60%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 16px;
		font-family: "GenJyuuGothicX";
		font-weight: normal;
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 150px;
	}
	
	.must {
		display: block;
		background-color: #f00;
		padding: 0.4vw 2.5vw;
		font-size: 12px;
		font-weight: bold;
		color: #fff;
		float: right;
		border-radius: 1vw;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 5px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 1px solid #27b674;
	  	outline: 0;
	}
	
	table.contact-form p.main-txt {
		margin-top: 10px;
	}
	
	p.main-txt.privacy {
		font-size: 12px;
		text-align: center;
		color: #666;
	}
	
	p.main-txt.privacy a {
		color: #999;
		text-decoration: underline;
	}
	
/******************************

プライバシーポリシー

******************************/
	
	h2.privacy {
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		margin-top: 40px;
	}
	
	ul.default {
		list-style: disc;
		padding-left: 20px;
		margin-top: 20px;
	}
	
	ul.default li {
		font-size: 16px;
	}
	
/******************************

店舗ページ

******************************/
	
	section.main-visual.store {
		max-width: none;
		padding: 60px 5vw 5vw 5vw;
		background: #edffd1;
	}
	
	section.main-visual.store div.inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	
	section.main-visual.store div.inner img.top-photo {
		width: 100%;
		height: 60vw;
		border-radius: 3vw;
		object-fit: cover;
		margin-top: 5vw
	}
	
	section.main-visual.store div.inner div.info-area {
		width: 100%;
	}
	
	section.main-visual.store div.inner div.info-area a {
		color: #333;
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area h1 {
		font-size: 30px;
		font-weight: bold;
		line-height: 130%;
		padding: 0;
		color: #27b674;
	}
	
	section.main-visual.store div.inner div.info-area h1 span {
		font-size: 20px;
		font-weight: bold;
	}
	
	section.main-visual.store div.inner div.info-area p.tel {
		font-size: 24px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 25px;
	}
	
	section.main-visual.store div.inner div.info-area p.tel a {
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area p img {
		width: 24px;
		height: auto;
		margin-right: 10px;
	}
	
	section.main-visual.store div.inner div.info-area p.time {
		font-size: 18px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 10px;
	}
	
	table.store-info {
		width: 100%;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
		margin: 0 auto 60px auto;
	}
	
	table.store-info a {
		color: #333;
		text-decoration: none!important;
	}
	
	table.store-info th {
		width: 100%;
		padding: 20px 0 10px 0;
		font-weight: bold;
		display: block;
	}
	
	table.store-info td {
		width: 100%;
		padding: 0 0 20px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
		display: block;
	}
	
	ul.access {
		width: 100%;
		margin-bottom: 12vw;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 6vw;
	}
	
	ul.access li {
		width: 100%;
		background: #f9faf6;
		border-radius: 10px;
	}
	
	ul.access li h2.title {
		width: 100%;
		padding: 15px 5vw;
		display: flex;
		align-items: center;
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		color: #fff;
		background: #27b674;
		border-radius: 10px 10px 0 0;
	}
	
	ul.access li h2.title img {
		width: auto;
		height: 20px;
		margin-right: 8px;
	}
	
	ul.access li div.txt-area {
		width: 100%;
		padding: 5vw;
		white-space: pre-wrap;
	}
	
	div.content-wrapper.store-faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	div.content-wrapper.store-menu {
		margin-top: 6vw;
	}
	
	ul.service.store {
		margin-top: 5px;
	}
	
	ul.service.store li {
		margin: 10px 5px 0 0;
		font-size: 12px;
		font-weight: bold;
		line-height: 24px;
		padding: 0 10px;
		border-radius: 13px;
	}
	
	h3.sub-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
	}
	
	ul.store-menu {
		width: 100%;
		margin-top: 10px;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
		gap: 15px;
	}
	
	ul.store-menu li {
		background: #fff;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 20px;
	}
	
	ul.store-menu li p.menu {
		font-size: 16px;
		font-weight: bold;
		color: #27b674;
		line-height: 150%;
	}
	
	ul.store-menu li p.menu.ipad {
		color: #ff8358;
	}
	
	ul.store-menu li p.price {
		font-size: 14px;
		font-weight: bold;
		display: flex;
		align-items: center;
		margin-top: 10px;
	}
	
	ul.store-menu li p.time {
		font-size: 14px;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	
	ul.store-menu li p img {
		width: auto;
		height: 20px;
		margin-right: 5px;
	}
	
	ul.store-about {
		width: 100%;
		max-width: 1000px;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 10vw;
		margin: 0 auto;
	}
	
	ul.store-about li {
		width: 100%;
	}
	
	ul.store-about li h2 {
		font-size: 20px;
	  	font-weight: bold;
		line-height: 150%;
	  	border-bottom: 3px solid #27b674;
	  	padding-bottom: 15px;
	  	margin-bottom: 30px;
	  	position: relative;
	}
	
	ul.store-about li h2::before {
	  content: '';
	  background-color: #fff;
	  width: 20px;
	  height: 3px;
	  position: absolute;
	  left: 30px;
	  bottom: -3px;
	}
	
	ul.store-about li h2::after {
	  content: '';
	  background-color: #27b674;
	  width: 20px;
	  height: 3px;
	  transform: rotate(50deg);
	  position: absolute;
	  left: 25px;
	  bottom: -10px;
	}
	
	ul.store-about li div.txt-area {
		width: 100%;
		white-space: pre-wrap;
	}
	
	ul.banner-area {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 10vw;
		margin-top: 2vw;
	}
	
	ul.banner-area li {
		width: 100%;
	}
	
	ul.banner-area li img {
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	
	div.store-fixed-menu {
	  	position: fixed;
	  	left: 0;
	  	bottom: 0;
	  	/* 1. メニューを画面下へ隠す */
	  	transform: translateY(100%);
	  	/* 2. 0.3秒かけて表示する */
	  	transition: .3s;
		width: 100%;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.2));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.2));
		z-index: 10000000;
	}
	
	div.store-fixed-menu p.title {
	  	display: none;
	}
	
	div.store-fixed-menu div.wrapper {
	  	width: 100%;
		display: flex;
	}
	
	div.store-fixed-menu div.wrapper a {
		width: 100%;
		height: 60px;
	  	font-size: 16px;
	  	font-weight: bold;
		line-height: 150%;
	  	text-decoration: none;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.store-fixed-menu div.wrapper a span {
		font-weight: bold;
	}
	
	div.store-fixed-menu div.wrapper a span.ta-pc {
		display: none;
	}
	
	div.store-fixed-menu div.wrapper a img {
		width: auto;
		height: 20px;
		margin-right: 6px;
	}
	
	div.store-fixed-menu div.wrapper a.tel {
		color: #333;
	}
	
	div.store-fixed-menu div.wrapper a.web {
		color: #4787d0;
		border-left: 1px solid #eee;
	}
	
	div.store-fixed-menu div.wrapper a.line {
		color: #06c755;
		border-left: 1px solid #eee;
	}
	
	div.store-fixed-menu.active {
	  /* 3. メニューを定位置へ戻す */
	  transform: translate(0);
	}
	
/******************************

お役立ち情報

******************************/
	
	div.column-list-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		column-gap: 5vw;
		row-gap: 8vw;
	}
	
	div.column-list-wrapper a {
		display: block;
		text-decoration: none;
	}
	
	div.column-list-wrapper a img.thumbnail {
		width: 100%;
		aspect-ratio: 3 / 2;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 20px;
	}
	
	div.date-area {
		display: flex;
		align-items: center;
		font-size: 12px;
		font-weight: bold;
		color: #999;
	}
	
	p.category {
		color: #fff;
		background: #27b674;
		line-height: 24px;
		border-radius: 12px;
		margin-left: 10px;
		padding: 0 10px;
		font-weight: bold;
	}
	
	div.column-list-wrapper a h3.column-title {
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		color: #333;
		margin-top: 15px;
	}
	
	div.column-list-wrapper a p.main-txt {
		font-size: 14px;
		margin-top: 15px;
		color: #333;
	}
	
	div.content-wrapper.separate {
		display: block;
	}
	
	div.left-wrapper {
		width: 100%;
	}
	
	div.right-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		column-gap: 5vw;
		row-gap: 5vw;
		margin-top: 12vw;
	}
	
	h2.side-title {
		font-size: 18px;
		font-weight: bold;
		line-height: 50px;
		background: #edffd1;
		border-radius: 5px;
		padding: 0 15px;
	}
	
	ul.side-nav li {
		width: 100%;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.side-nav li a {
		display: flex;
		justify-content: space-between;
		padding: 15px;
		font-size: 16px;
		color: #333;
		text-decoration: none;
	}
	
	.snav-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 12px;
		height: 2.4px;
  		margin: 4px 0;
	  	border-radius: 9999px;
	  	background-color: #fff;
	}

	.snav-arrow::before,
	.snav-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.3px);
	  	right: 0;
	  	width: 9px;
  		height: 2.4px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: calc(100% - 1.3px) 50%;
	}

	.snav-arrow::before {
	  	transform: rotate(45deg);
	}

	.snav-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.snav-arrow-circle {
		width: 24px;
		height: 24px;
		background: #27b674;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
	}
	
	div.inner.separate {
		display: block;
	}
	
	.navigation {
		margin-top: 8vw;
		text-align: center;
	}
	
	article.blog-wrap img.thumbnail {
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 40px;
		display: block;
	}
	
	article.blog-wrap h1 {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
		margin: 20px 0;
		padding: 0;
	}
	
	article.blog-wrap h2 {
		font-size: 20px;
		font-weight: bold;
		color: #fff;
		line-height: 150%;
		background: #27b674;
		padding: 10px 10px 10px 15px;
		margin: 40px 0 20px 0;
		border-radius: 5px;
	}
	
	article.blog-wrap h3 {
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		border-left: 5px solid #27b674;
		border-bottom: 2px dotted #ddd;
		padding: 10px;
		margin: 40px 0 20px 0;
	}
	
	article.blog-wrap h4 {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 30px 0 10px 0;
	}
	
	p.breadcrumbs.blog-single {
		top: 70px;
	}
	
	section.blog-single {
		padding: 130px 5vw 12vw 5vw;
	}
	
	.cf-turnstile {
		width: 100%;
		display: flex;
		justify-content: center;
		margin: 20px 0 0 0!important;
	}
	
	p.contact-txt {
		font-size: 14px;
		background: #edffd1;
		padding: 30px;
		font-weight: bold;
	}
	
	div.store-top-banner {
		width: 100%;
		background: #fff;
		border-radius: 3vw;
		padding: 5vw;
		margin: 5vw auto 0 auto;
	}
	
	div.store-top-banner p.title {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		margin-bottom: 4vw;
	}
	
	div.store-top-banner img {
		width: 100%;
		height: auto;
	}
	
	div.store-news {
		width: 100%;
		padding: 20px;
		border: 3px solid #ff0000;
		font-size: 16px;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 8vw;
		white-space: pre-wrap;
	}
	
	div.store-news p.title {
		font-size: 18px;
		font-weight: bold;
		color: #ff0000;
		margin-bottom: 10px;
	}
	
}

/******************************************************************************************************

SP補足

******************************************************************************************************/

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



}

/******************************************************************************************************

タブレット

******************************************************************************************************/

@media screen and (min-width:768px) and ( max-width:1024px) {
	
	html,body {
		position: relative;
		height: 100%;
	}
	
	p.main-txt a:hover {
		text-decoration: none;
	}
	
	.pc {
		display: none;
	}
	
	.ta {
		display: block;
	}
	
	.sp {
		display: none;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 80px;
		height: 80px;
		cursor: pointer;
		text-align: center;
		background: #27b674;
	}

	.hamburger span {
		display : block;
		position: absolute;
		width: 40px;
		height: 2px;
		left: 20px;
		background : #fff;
		transition: .3s;
	}

	.hamburger span:nth-child(1) {
		top: 31px;
	}

	.hamburger span:nth-child(2) {
		top: 39px;
	}

	.hamburger span:nth-child(3) {
		top: 47px;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 80px;
		height: 80px;
		cursor: pointer;
		text-align: center;
		transition: .3s;
		background: #27b674;
	}

	.hamburger.active span:nth-child(1) {
		top : 39px;
		left: 20px;
		background: #fff;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 39px;
		background: #fff;
		transform: rotate(45deg);
	}
	
	header {
		width: 100%;
		height: 80px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 200;
		margin: auto;
		background: rgba(255, 255, 255, 0.9);
		backdrop-filter: blur(12px);
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 25px;
	}
	
	nav.gnav {
		width: 60%;
		height: 100vh;
		background: #fff;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.1));
		padding: 100px 0!important;
		position: fixed;
		top: 0;
		right: 0;
		overflow: auto;
		visibility: hidden;
		z-index: 1000;
		transition: .3s;
		opacity: 0;
		display: block;
	}
	
	/* このクラスを、jQueryで付与・削除する */
	nav.gnav.active {
		visibility: visible;
		opacity: 1;
	}
	
	nav.gnav ul {
		width: 100%;
		padding: 0 10%;
	}
	
	nav.gnav ul li {
		width: 100%;
		border-bottom: 2px dotted #ddd;
	}
	
	nav.gnav ul li a {
		height: 100px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-decoration: none;
		transition: .3s;
		position: relative;
	}
	
	nav.gnav ul li a:hover img {
		opacity: 1;
	}
	
	nav.gnav ul li a img.icon {
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
	
	nav.gnav ul li a p {
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
		color: #333;
	}
	
	.gnav-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 14px;
		height: 3.2px;
  		margin: 4.9px 0;
	  	border-radius: 9999px;
	  	background-color: #fff;
	}
	
	.gnav-arrow::before,
	.gnav-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.6px);
	  	right: 0;
	  	width: 10px;
  		height: 3.2px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: calc(100% - 1.6px) 50%;
	}

	.gnav-arrow::before {
	  	transform: rotate(45deg);
	}

	.gnav-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.gnav-arrow-circle {
		width: 30px;
		height: 30px;
		background: #27b674;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 10px;
		border-radius: 50%;
		position: absolute;
		top: 35px;
		right: 0;
	}
	
	header div.inner {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	div.logo-area {
		display: flex;
		align-items: flex-start;
	}
	
	div.logo-area img.logo {
		width: auto;
		height: 50px;
		margin-right: 10px;
	}
	
	div.logo-area img.touroku {
		width: auto;
		height: 40px;
	}
	
	main {
		width: 100%;
		position: relative;
	}
	
	section {
		width: 100%;
		padding: 10vw 5vw;
		position: relative;
	}
	
	section div.inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	
	section.main-visual {
		width: 100%;
		margin: 0 auto;
		padding: 14vw 0 8vw 0;
		position: relative;
		overflow: hidden;
	}
	
	section.main-visual img.top-ip {
		width: 80vw;
		height: auto;
		position: absolute;
		bottom: 0;
		left: 54vw;
		z-index: 100;
	}
	
	h1 {
		padding-left: 6vw;
	}
	
	h1 p.copy {
		font-size: 3.2vw;
		font-weight: bold;
		line-height: 150%;
	}
	
	h1 p.name {
		font-size: 6.8vw;
		font-weight: bold;
		line-height: 120%;
		color: #27b674;
	}
	
	h1 p.name span.end {
		font-size: 6.4vw;
		font-weight: bold;
		letter-spacing: -0.3em;
	}
	
	h1 p.name span.small {
		font-size: 4vw;
		font-weight: bold;
	}
	
	h1 p.ex {
		font-size: 1.8vw;
		line-height: 1;
		margin-top: 1.5vw;
	}
	
	div.wrapper.slide {
		width: 100%;
		padding: 0 25px 25px 25px;
	}
	
	div.slider-wrapper {
		width: 100%;
		display: flex;
  		overflow: hidden;
		border-radius: 20px 20px 0 0;
		position: relative;
		margin: -25px auto 0 auto;
	}
	
	p.slider-copy {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		font-size: 3.2vw;
		font-weight: bold;
		color: #fff;
		line-height: 180%;
		z-index: 1;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	ul.slider {
		width: 100%;
		animation: scroll-left 20s infinite linear .5s both;
		display: flex;
	}
	
	ul.slider li.slide {
		width: calc(100vw / 4);
	}
	
	ul.slider li.slide img {
  		display: block;
  		width: 100%;
		height: auto;
	}
	
	@keyframes scroll-left {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
	
	div.top-btn-wrapper {
		width: 100%;
		margin: 0 auto;
		padding: 2vw;
		background: #27b674;
		border-radius: 0 0 20px 20px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 2vw;
	}
	
	a.top-btn {
		border-radius: 10px;
		background: #fff;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 18px;
		font-weight: bold;
		color: #333;
		text-decoration: none;
		padding: 20px 0;
		transition: .3s;
	}
	
	a:hover.top-btn {
		opacity: 0.7;
	}
	
	a.top-btn img {
		width: auto;
		height: 30px;
		margin-right: 15px;
	}
	
	a:hover.top-btn img {
		opacity: 1;
	}
	
	section.gray {
		background: #f9faf6;
	}
	
	h2.main-title.en {
		font-size: 12px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 20px;
	}
	
	h2.main-title.en::before {
		content: " ";
		display: inline-block;
		width: 25px;
		height: 10px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	h2.main-title.jp {
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
	}
	
	div.content-wrapper {
		width: 100%;
		margin-top: 40px;
		position: relative;
	}
	
	.separate-half {
		display: grid;
		grid-template-columns: 1fr;
	}
	
	ul.feature {
		width: 80%;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		margin: 0 auto;
	}

	ul.feature li img {
		width: 100%;
		height: auto;
	}
	
	p.main-txt {
		margin-top: 30px;
	}
	
	img.number-of-stores {
		margin: 10vw auto -10vw auto;
		width: 80%;
		height: auto;
		display: block
	}
	
	.relative {
		position: relative;
	}
	
	.main-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 12px;
		height: 2.4px;
  		margin: 4px 0;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	}

	.main-arrow::before,
	.main-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.3px);
	  	right: 0;
	  	width: 9px;
  		height: 2.4px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: calc(100% - 1.3px) 50%;
	}

	.main-arrow::before {
	  	transform: rotate(45deg);
	}

	.main-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.main-arrow-circle {
		width: 24px;
		height: 24px;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 10px;
		border-radius: 50%;
	}
	
	a.main-btn {
		width: fit-content;
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 18px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		background: #27b674;
		border-radius: 10px;
		padding: 0 25px;
		flex-shrink: 0;
	}
	
	.title-side {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	
	a.main-btn.sp {
		display: none;
	}
	
	div.content-wrapper.store-list {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 20px;
	}
	
	div.content-wrapper.store-list dl {
		width: 100%;
	}
	
	dt.store-location {
		width: 100%;
		padding: 20px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #edffd1;
		border-radius: 10px;
		text-decoration: none;
		cursor: pointer;
		transition: .3s;
	}
	
	dt.store-location div.title-area {
		display: flex;
		align-items: center;
	}
	
	dt.store-location div.title-area p.title {
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #333;
		margin-right: 10px;
	}
	
	dt.store-location div.title-area p.number-of-stores {
		font-size: 16px;
		font-weight: bold;
		line-height: 30px;
		color: #fff;
		background: #333;
		padding: 0 15px;
		border-radius: 15px;
	}
	
	dt.store-location div.btn {
		display: flex;
		align-items: center;
		background: #fff;
		border-radius: 5px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 0 20px;
		transition: .3s;
	}
	
	dt.store-location div.btn p {
		font-size: 16px;
		font-weight: bold;
		line-height: 40px;
		color: #333;
		transition: .3s;
	}
	
	.store-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 16px;
	  	height: 9px;
		margin-right: 10px;
		transition: .3s;
	}

	.store-arrow::before,
	.store-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.6px);
	  	width: 3.2px;
	  	height: 11.8px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: 50% calc(100% - 1.6px);
	}

	.store-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.store-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	dd.store-location-list {
		width: 100%;
		padding: 0 20px 20px 20px;
		background: #edffd1;
		display: none;
		border-radius: 0 0 10px 10px;
	}
	
	dt.store-location.open {
		border-radius: 10px 10px 0 0;
	}
	
	dt.store-location.open .store-arrow::before {
		top: -9px;
	  	transform: rotate(-132.2deg);
		background-color: #333;
	}
	
	dt.store-location.open .store-arrow::after {
		top: -9px;
	  	transform: rotate(132.2deg);
		background-color: #333;
	}
	
	dt.store-location p.detail {
		display: block;
	}
	
	dt.store-location p.close {
		display: none;
	}
	
	dt.store-location.open p.detail {
		display: none;
	}
	
	dt.store-location.open p.close {
		display: block;
	}
	
	dt.store-location.open div.btn {
		background: #d5d8cd;
	}
	
	dt.store-location:hover p.detail {
		color: #27b674;
	}
	
	div.store-list-wrapper {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 20px;
	}
	
	div.store-list-wrapper a {
		background: #fff;
		border-radius: 7.5px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		transition: .3s;
		padding: 20px;
		text-decoration: none;
	}
	
	div.store-list-wrapper a img.store-photo {
		width: 100%;
		height: 24vw;
		object-fit: cover;
	}
	
	div.store-list-wrapper a h3.store-name {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 20px 0 ;
	}
	
	div.store-list-wrapper a p {
		line-height: 20px;
		color: #333;
		padding-left: 20px;
	}
	
	div.store-list-wrapper a p.tel {
		font-size: 18px;
		font-weight: bold;
		background: url("../img/tel-icon.png") no-repeat left top 2px / 15px 15px;
		margin-bottom: 10px;
	}
	
	div.store-list-wrapper a p.address {
		font-size: 14px;
		background: url("../img/address-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	h3.repair-menu {
		font-size: 30px;
		font-weight: bold;
		line-height: 150%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 8vw;
	}
	
	h3.repair-menu p.icon {
		width: 80px;
		height: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		margin-right: 15px;
	}
	
	h3.repair-menu p.icon.ip {
		background: #27b674;
	}
	
	h3.repair-menu p.icon.ipad {
		background: #ff8358;
	}
	
	h3.repair-menu p.icon img {
		width: auto;
		height: 50px;
	}
	
	div.repair-wrapper {
		width: 100%;
		margin-top: 4vw;
		display: grid;
		gap: 20px;
	}
	
	div.repair-wrapper.ip {
		grid-template-columns: repeat(3,1fr);
	}
	
	div.repair-wrapper.ipad {
		grid-template-columns: repeat(2,1fr);
	}
	
	div.repair-wrapper a {
		width: 100%;
		padding: 25px;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		background: #fff;
		color: #333;
		text-decoration: none;
		transition: .3s;
	}
	
	div.repair-wrapper.ip a h4 {
		font-size: 18px;
		line-height: 150%;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		min-height: 60px;
	}
	
	div.repair-wrapper.ip a img.ip-icon {
		width: auto;
		height: 160px;
		display: block;
		margin: 20px auto 0 auto;
	}
	
	div.repair-wrapper a p.time {
		font-size: 14px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 30px;
	}
	
	div.repair-wrapper a p.time img {
		width: 20px;
		height: auto;
		margin-right: 5px;
	}
	
	div.repair-wrapper.ipad a {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	div.repair-wrapper.ipad a img.ipad-icon {
		width: auto;
		height: 90px;
	}
	
	div.repair-wrapper.ipad a div.img-area {
		width: 30%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.txt-area {
		width: 70%;
	}
	
	div.repair-wrapper.ipad a h4 {
		font-size: 18px;
		line-height: 150%;
		font-weight: bold;
		text-align: center;
	}
	
	div.repair-wrapper.ipad a p.time {
		font-size: 14px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 5px;
	}
	
	ul.reason-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
		margin-top: 6vw;
	}
	
	ul.reason-wrapper li {
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.reason-wrapper li h3 {
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	ul.reason-wrapper li h3 p {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
	}
	
	ul.reason-wrapper li h3 img {
		width: 150px;
		height: auto;
		margin-right: 20px;
		border-radius: 50%;
		border: 4px solid #27b674;
	}
	
	section.l-green {
		background: #edffd1;
	}
	
	h2.green {
		text-align: center;
		color: #27b674;
	}
	
	ul.flow {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	
	ul.flow li {
		width: 44%;
		margin-top: 9vw;
	}
	
	ul.flow li.arrow {
		width: 6%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.flow li.arrow img {
		width: 40%;
		height: auto;
	}
	
	ul.flow li p.number {
		font-size: 24px;
		font-weight: bold;
		color: #27b674;
		background: #fff;
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 3px solid #27b674;
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: -30px;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto auto auto;
		z-index: 1;
	}
	
	ul.flow li img.photo {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	
	h3.flow-title {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 18px;
		font-weight: bold;
		line-height: 60px;
		border-radius: 0 0 10px 10px;
		text-align: center;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
		z-index: 1;
		color: #fff;
		width: 100%;
		padding-top: 30px;
	}
	
	footer {
		width: 100%;
		background: #27b674;
		padding-top: 10vw;
	}
	
	footer ul.footer-link {
		width: 100%;
		padding: 0 5vw 10vw 5vw;
	}
	
	footer ul.footer-link li {
		width: 100%;
	}
	
	footer ul.footer-link li:first-child {
		margin-bottom: 10vw;
	}
	
	footer ul.footer-link li:last-child {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		column-gap: 5%;
		grid-row-gap: 30px;
	}
	
	footer ul.footer-link li a.page-link {
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	footer ul.footer-link li a.page-link.store {
		width: 100%;
		border: none;
	}
	
	footer ul.footer-link li a:hover {
		opacity: 0.7;
	}
	
	footer ul.footer-link li a.page-link img {
		width: auto;
		height: 20px;
		margin-right: 10px;
	}
	
	footer ul.footer-link li a:hover.page-link img {
		opacity: 1;
	}
	
	footer dl {
		width: 100%;
		margin: 40px 0 0 0;
	}
	
	footer dl dt {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		color: #edffd1;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 2px dotted #68cc9e;
	}
	
	footer dl dd {
		margin-bottom: 40px;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		column-gap: 5%;
		grid-row-gap: 10px;
	}
	
	footer ul.footer-link li dl dd a {
		font-size: 14px;
		line-height: 150%;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	.footer-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 7px;
	  	height: 12px;
		margin-right: 5px;
	}

	.footer-arrow::before,
	.footer-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.5px);
	  	right: 0;
	  	width: 9px;
	  	height: 3px;
	  	border-radius: 9999px;
	  	background-color: #ffffff;
	  	transform-origin: calc(100% - 1.5px) 50%;
	}

	.footer-arrow::before {
	  	transform: rotate(48.35deg);
	}

	.footer-arrow::after {
	  	transform: rotate(-48.35deg);
	}
	
	div.footer-bottom {
		width: 100%;
		background: #fff;
	}
	
	div.footer-bottom div.inner {
		width: 100%;
		margin: 0 auto;
		padding: 25px 5vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	div.footer-bottom div.inner div.logo-area {
		display: flex;
		align-items: center;
	}
	
	div.footer-bottom div.inner div.logo-area img.logo {
		width: auto;
		height: 50px;
		margin-right: 30px;
	}
	
	div.footer-bottom div.inner div.logo-area a.txt-link {
		font-size: 14px;
		color: #333;
		text-decoration: none;
	}
	
	div.footer-bottom div.inner p.copyright {
		font-size: 14px;
		color: #333;
	}
	
/******************************

下層共通

******************************/
	
	html {
		scroll-padding-top: 80px;
	}
	
	body.lower {
		padding-top: 80px;
	}
	
	section.main-visual.lower {
		max-width: none;
		padding: 0;
		background: #f9faf6;
	}
	
	section.main-visual.lower div.inner {
		width: 100%;
		height: 30vw;
		margin: 0 auto;
		position: relative;
	}
	
	section.main-visual.lower div.inner h1 {
		padding: 12vw 0 0 5vw;
	}
	
	section.main-visual.lower div.inner img.mv {
		width: 50%;
		height: 30vw;
		object-fit: cover;
		position: absolute;
		top: 0;
		right: 0;
		clip-path: polygon(25% 0%,100% 0%,100% 100%,0% 100%);
	}
	
	p.page-title.en {
		font-size: 13px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 20px;
		text-transform: uppercase;
	}
	
	p.page-title.en::before {
		content: " ";
		display: inline-block;
		width: 25px;
		height: 10px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	p.page-title.jp {
		font-size: 32px;
		font-weight: bold;
		line-height: 1;
	}
	
	p.breadcrumbs {
		font-size: 12px;
		color: #666;
		line-height: 150%;
		position: absolute;
		bottom: -45px;
		left: 0;
	}
	
	p.breadcrumbs.is-animation {
		display: none;
	}
	
	p.breadcrumbs a {
		color: #aaa;
		text-decoration: none;
		transition: .3s;
	}
	
	p.breadcrumbs a:hover {
		opacity: 0.7;
	}
	
	h2.sub-title {
		font-size: 28px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
	}
	
	h2.sub-title::after {
		position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px;
	  	width: 50px;
		border-image: linear-gradient(to right, #27b674, #caea98) 1;
		padding-bottom: 10px;
	}
	
	h2.index {
		display: flex;
		align-items: center;
		margin-bottom: 30px;
	}
	
	h2.index img {
  		width: 20px;
		height: auto;
		margin-right: 10px;
	}
	
	h2.index p {
  		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
	}
	
	h2.index.ipad p {
		color: #ff8358;
	}
	
	div.index-wrap {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 15px;
	}
	
	div.index-wrap a {
		position: relative;
		font-size: 18px;
		font-weight: bold;
		color: #333;
		line-height: 150%;
		text-decoration: none;
		text-align: center;
		border-radius: 10px;
		transition: .3s;
		background: #fff;
		filter: drop-shadow(0px 0px 3px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 1px 3px rgba(0,0,0,.1));
		padding: 20px 0 40px 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.index-wrap a span.small {
		font-size: 15px;
		font-weight: bold;
	}
	
	div.index-wrap a p.arrow-wrap {
		width: 100%;
		height: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 0 0 10px 10px;
		background: #27b674;
		margin-top: 20px;
		position: absolute;
		left:0;
		bottom: 0;
	}
	
	div.index-wrap.ipad a p.arrow-wrap {
		background: #ff8358;
	}
	
	.index-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 16px;
	  	height: 9px;
		margin-right: 10px;
		transition: .3s;
	}

	.index-arrow::before,
	.index-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.6px);
	  	width: 3.2px;
	  	height: 11.8px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: 50% calc(100% - 1.6px);
	}

	.index-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.index-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	.separate {
		display: flex;
		justify-content: space-between;
	}
	
	.separate.start {
		align-items: flex-start;
	}
	
	.separate.center {
		align-items: center;
	}
	
	.reverse {
		flex-direction: row-reverse;
	}
	
/******************************

店舗一覧

******************************/
	
	section.margin {
		margin: 10vw 0;
		padding: 0 5vw;
	}
	
	div.store-list-wrapper.lower a {
		filter: none;
		background: #edffd1;
	}
	
	div.store-list-wrapper.lower a h3.store-name {
		color: #333;
	}
	
	div.store-list-wrapper a p.time {
		font-size: 14px;
		background: url("../img/time-ip-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	ul.service {
		width: 100%;
		margin-top: 5px;
		display: flex;
		flex-wrap: wrap;
	}
	
	ul.service li {
		margin: 5px 5px 0 0;
		font-size: 11px;
		font-weight: bold;
		line-height: 20px;
		padding: 0 10px;
		border-radius: 11px;
	}
	
	ul.service li.accessory {
		color: #27b674;
		background: #fff;
		border: 1px solid #27b674;
	}
	
	ul.service li.sp-repair {
		color: #fff;
		background: #27b674;
		border: 1px solid #27b674;
	}
	
	ul.service li.pc-repair {
		color: #fff;
		background: #276eb6;
		border: 1px solid #276eb6;
	}
	
	ul.service li.dyson-repair {
		color: #fff;
		background: #eb9525;
		border: 1px solid #eb9525;
	}
	
/******************************

修理メニュー

******************************/
	
	img.side {
		width: 25%;
		height: auto;
		padding: 0 1.5%;
	}
	
	div.index-wrap.repair {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 15px;
	}
	
	div.repair-menu-wrapper {
		margin-bottom: -20px;
	}
	
	dl.repair-menu {
		width: 100%;
		padding: 30px;
		border-radius: 20px;
		background: #fff;
		display: flex;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	
	dl.repair-menu dt {
		width: 35%;
	}
	
	dl.repair-menu dt img {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	
	dl.repair-menu dd {
		width: 60%;
	}
	
	h3.repair-title {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.repair-content {
		width: 100%;
		margin-top: 30px;
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd
	}
	
	div.repair-content p.time {
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 20px;
		display: flex;
		align-items: center;
	}
	
	div.repair-content p.time img {
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
	
	h2.note {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #f00;
		display: flex;
		align-items: center;
	}
	
	h2.note img {
		width: 24px;
		height: auto;
		margin-right: 10px;
	}
	
	div.content-wrapper.note {
		margin: 30px auto 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	div.content-wrapper.note a {
		margin-left: 5%;
	}
	
	img.note {
		width: 27%;
		border-radius: 50%;
	}
	
	a.main-btn.sentence-end {
		margin-top: 30px;
	}
	
/******************************

よくある質問

******************************/
	
	section div.inner.faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	dl.faq {
		width: 100%;
		padding-bottom: 50px;
		border-bottom: 2px dotted #ddd;
	}
	
	dl.faq dt {
		width: 100%;
		padding: 25px 0 20px 0;
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	
	dl.faq dt img {
		width: auto;
		height: 40px;
		margin: -30px 10px 0 0;
	}
	
	dl.faq dt h2.question {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
	}
	
	dl.faq dd {
		width: 100%;
		display: flex;
		align-items: flex-start;
	}
	
	dl.faq dd img {
		width: auto;
		height: 40px;
		margin: -20px 10px 0 0;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
	}
	
	table.company th {
		width: 30%;
		padding: 30px;
		font-weight: bold;
		border-bottom: 1px solid #eee;
	}
	
	table.company td {
		padding: 30px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
	}
	
	div.gmap {
		width: 100%;
		height: 400px;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
		border-top: 1px solid #eee;
		margin-top: 30px;
	}

	table.contact-form th,
	table.contact-form td {
		font-size: 16px;
		line-height: 180%;
		overflow: hidden;
	}

	table.contact-form th {
		font-weight: bold;
		-webkit-font-smoothing: antialiased;
	  	-moz-osx-font-smoothing: grayscale;
		text-align: left;
		width: 35%;
		padding: 25px;
		border-bottom: 1px solid #eee;
	}

	table.contact-form td {
		width: 65%;
		text-align: left;
		padding: 25px 0;
		border-bottom: 1px solid #eee;
	}

	.formbtn {
		padding: 20px 60px;
		background: #27b674;
		font-size: 24px;
		color: #fff;
		cursor: pointer;
		outline: none;
		border: none;
		margin: 60px auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
		transition: 0.3s ease-in-out;
		border-radius: 50px;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 60%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 16px;
		font-family: "GenJyuuGothicX";
		font-weight: normal;
	}

	input[type="email"] {
		width: 100%;
	}
	
	textarea {
		width: 100%;
		height: 150px;
	}

	.must {
		display: block;
		background-color: #f00;
		padding: 3px 9px;
		font-size: 14px;
		color: #fff;
		float: right;
		margin: 0 5px;
		border-radius: 5px;
		font-weight: bold;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 5px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 1px solid #27b674;
	  	outline: 0;
	}
	
	table.contact-form p.main-txt {
		margin-top: 10px;
	}
	
	p.main-txt.privacy {
		font-size: 12px;
		text-align: center;
		color: #666;
	}
	
	p.main-txt.privacy a {
		color: #999;
		text-decoration: underline;
	}
	
/******************************

プライバシーポリシー

******************************/
	
	h2.privacy {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		margin-top: 60px;
	}
	
	ul.default {
		list-style: disc;
		padding-left: 20px;
		margin-top: 30px;
	}
	
	ul.default li {
		font-size: 16px;
	}
	
/******************************

店舗ページ

******************************/
	
	section.main-visual.store {
		max-width: none;
		padding: 60px 30px 30px 30px;
		background: #edffd1;
	}
	
	section.main-visual.store div.inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	section.main-visual.store div.inner img.top-photo {
		width: 47%;
		max-width: 400px;
		height: 280px;
		border-radius: 20px;
		object-fit: cover;
	}
	
	section.main-visual.store div.inner div.info-area {
		margin-right: 3%;
	}
	
	section.main-visual.store div.inner div.info-area a {
		color: #333;
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area h1 {
		font-size: 30px;
		font-weight: bold;
		line-height: 130%;
		padding: 0;
		color: #27b674;
	}
	
	section.main-visual.store div.inner div.info-area h1 span {
		font-size: 20px;
		font-weight: bold;
	}
	
	section.main-visual.store div.inner div.info-area p.tel {
		font-size: 24px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 25px;
	}
	
	section.main-visual.store div.inner div.info-area p.tel a {
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area p img {
		width: 24px;
		height: auto;
		margin-right: 10px;
	}
	
	section.main-visual.store div.inner div.info-area p.time {
		font-size: 18px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 10px;
	}
	
	table.store-info {
		width: 100%;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
		margin: 0 auto 60px auto;
	}
	
	table.store-info a {
		color: #333;
		text-decoration: none!important;
	}
	
	table.store-info th {
		width: 25%;
		padding: 30px;
		font-weight: bold;
		border-bottom: 1px solid #eee;
	}
	
	table.store-info td {
		padding: 30px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
	}
	
	ul.access {
		width: 100%;
		margin-bottom: 6vw;
		display: flex;
		justify-content: space-between;
	}
	
	ul.access li {
		width: 48.5%;
		background: #f9faf6;
		border-radius: 10px;
	}
	
	ul.access li h2.title {
		width: 100%;
		padding: 15px 3vw;
		display: flex;
		align-items: center;
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		color: #fff;
		background: #27b674;
		border-radius: 10px 10px 0 0;
	}
	
	ul.access li h2.title img {
		width: auto;
		height: 20px;
		margin-right: 8px;
	}
	
	ul.access li div.txt-area {
		width: 100%;
		padding: 3vw;
		white-space: pre-wrap;
	}
	
	div.content-wrapper.store-faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	div.content-wrapper.store-menu {
		margin-top: 8vw;
	}
	
	ul.service.store {
		margin-top: 5px;
	}
	
	ul.service.store li {
		margin: 10px 5px 0 0;
		font-size: 12px;
		font-weight: bold;
		line-height: 24px;
		padding: 0 10px;
		border-radius: 13px;
	}
	
	h3.sub-title {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
	}
	
	ul.store-menu {
		width: 100%;
		margin-top: 20px;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
		gap: 15px;
	}
	
	ul.store-menu li {
		background: #fff;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 30px;
	}
	
	ul.store-menu li p.menu {
		font-size: 18px;
		font-weight: bold;
		color: #27b674;
		line-height: 150%;
	}
	
	ul.store-menu li p.menu.ipad {
		color: #ff8358;
	}
	
	ul.store-menu li p.price {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		align-items: center;
		margin-top: 20px;
	}
	
	ul.store-menu li p.time {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	
	ul.store-menu li p img {
		width: auto;
		height: 20px;
		margin-right: 5px;
	}
	
	ul.store-about {
		width: 100%;
		max-width: 1000px;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 80px;
		margin: 0 auto;
	}
	
	ul.store-about li {
		width: 100%;
	}
	
	ul.store-about li h2 {
		font-size: 24px;
	  	font-weight: bold;
		line-height: 150%;
	  	border-bottom: 3px solid #27b674;
	  	padding-bottom: 15px;
	  	margin-bottom: 30px;
	  	position: relative;
	}
	
	ul.store-about li h2::before {
	  content: '';
	  background-color: #fff;
	  width: 20px;
	  height: 3px;
	  position: absolute;
	  left: 30px;
	  bottom: -3px;
	}
	
	ul.store-about li h2::after {
	  content: '';
	  background-color: #27b674;
	  width: 20px;
	  height: 3px;
	  transform: rotate(50deg);
	  position: absolute;
	  left: 25px;
	  bottom: -10px;
	}
	
	ul.store-about li div.txt-area {
		width: 100%;
		white-space: pre-wrap;
	}
	
	ul.banner-area {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	ul.banner-area li {
		width: 47.5%;
	}
	
	ul.banner-area li img {
		width: 100%;
		height: auto;
		margin-bottom: 30px;
	}
	
	div.store-fixed-menu {
	  	position: fixed;
	  	left: 0;
	  	bottom: 0;
	  	/* 1. メニューを画面下へ隠す */
	  	transform: translateY(100%);
	  	/* 2. 0.3秒かけて表示する */
	  	transition: .3s;
		width: 100%;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.2));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.2));
		z-index: 500;
	}
	
	div.store-fixed-menu p.title {
	  	display: none;
	}
	
	div.store-fixed-menu div.wrapper {
	  	width: 100%;
		display: flex;
	}
	
	div.store-fixed-menu div.wrapper a {
		width: 100%;
		height: 60px;
		padding: 0 3vw;
	  	font-size: 18px;
	  	font-weight: bold;
		line-height: 150%;
	  	text-decoration: none;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	div.store-fixed-menu div.wrapper a span.ta-pc {
		font-weight: bold;
		display: block;
	}
	
	div.store-fixed-menu div.wrapper a img {
		width: auto;
		height: 24px;
		margin-right: 10px;
	}
	
	div.store-fixed-menu div.wrapper a.tel {
		color: #333;
	}
	
	div.store-fixed-menu div.wrapper a.web {
		color: #4787d0;
		border-left: 1px solid #eee;
	}
	
	div.store-fixed-menu div.wrapper a.line {
		color: #06c755;
		border-left: 1px solid #eee;
	}
	
	div.store-fixed-menu.active {
	  /* 3. メニューを定位置へ戻す */
	  transform: translate(0);
	}
	
/******************************

お役立ち情報

******************************/
	
	div.column-list-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		column-gap: 5vw;
		row-gap: 5vw;
	}
	
	div.column-list-wrapper a {
		display: block;
		text-decoration: none;
	}
	
	div.column-list-wrapper a img.thumbnail {
		width: 100%;
		aspect-ratio: 3 / 2;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 20px;
	}
	
	div.date-area {
		display: flex;
		align-items: center;
		font-size: 14px;
		font-weight: bold;
		color: #999;
	}
	
	p.category {
		color: #fff;
		background: #27b674;
		line-height: 30px;
		border-radius: 15px;
		margin-left: 10px;
		padding: 0 15px;
		font-weight: bold;
	}
	
	div.column-list-wrapper a h3.column-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #333;
		margin-top: 20px;
	}
	
	div.column-list-wrapper a p.main-txt {
		margin-top: 20px;
		color: #333;
	}
	
	div.content-wrapper.separate {
		display: block;
	}
	
	div.left-wrapper {
		width: 100%;
	}
	
	div.right-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		column-gap: 5vw;
	}
	
	h2.side-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 70px;
		background: #edffd1;
		border-radius: 10px;
		padding: 0 20px;
		margin-top: 5vw;
	}
	
	ul.side-nav li {
		width: 100%;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.side-nav li a {
		display: flex;
		justify-content: space-between;
		padding: 20px;
		font-size: 18px;
		color: #333;
		text-decoration: none;
	}
	
	.snav-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 12px;
		height: 2.4px;
  		margin: 4px 0;
	  	border-radius: 9999px;
	  	background-color: #fff;
	}

	.snav-arrow::before,
	.snav-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.3px);
	  	right: 0;
	  	width: 9px;
  		height: 2.4px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: calc(100% - 1.3px) 50%;
	}

	.snav-arrow::before {
	  	transform: rotate(45deg);
	}

	.snav-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.snav-arrow-circle {
		width: 24px;
		height: 24px;
		background: #27b674;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
	}
	
	div.inner.separate {
		display: block;
	}
	
	.navigation {
		margin-top: 5vw;
		text-align: center;
	}
	
	article.blog-wrap img.thumbnail {
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 50px;
		display: block;
	}
	
	article.blog-wrap h1 {
		font-size: 28px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
		margin: 25px 0;
		padding: 0;
	}
	
	article.blog-wrap h2 {
		font-size: 24px;
		font-weight: bold;
		color: #fff;
		line-height: 150%;
		background: #27b674;
		padding: 15px 15px 15px 20px;
		margin: 50px 0 20px 0;
		border-radius: 10px;
	}
	
	article.blog-wrap h3 {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		border-left: 5px solid #27b674;
		border-bottom: 2px dotted #ddd;
		padding: 15px;
		margin: 40px 0 20px 0;
	}
	
	article.blog-wrap h4 {
		font-size: 18px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 30px 0 10px 0;
	}
	
	p.breadcrumbs.blog-single {
		top: 90px;
	}
	
	section.blog-single {
		padding: 180px 5vw 12vw 5vw;
	}
	
	.cf-turnstile {
		width: 100%;
		display: flex;
		justify-content: center;
		margin: 30px 0 0 0!important;
	}
	
	p.contact-txt {
		background: #edffd1;
		padding: 30px;
		font-weight: bold;
	}
	
	div.store-top-banner {
		width: 100%;
		background: #fff;
		border-radius: 20px;
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 30px auto 0 auto;
	}
	
	div.store-top-banner p.title {
		width: 37%;
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		margin-right: 30px;
	}
	
	div.store-top-banner a {
		width: 60%;
	}
	
	div.store-top-banner a img {
		width: 100%;
		height: auto;
	}
	
	div.store-news {
		width: 100%;
		padding: 20px;
		border: 3px solid #ff0000;
		font-size: 16px;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 6vw;
		white-space: pre-wrap;
	}
	
	div.store-news p.title {
		font-size: 18px;
		font-weight: bold;
		color: #ff0000;
		margin-bottom: 10px;
	}

}

/******************************************************************************************************

PC

******************************************************************************************************/

@media screen and (min-width:1025px) {
	
	a img {
		transition: .3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	p.main-txt a:hover {
		text-decoration: none;
	}
	
	header {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
		padding: 30px 0 0 0;
		display: flex;
		justify-content: center;
		transition: .3s;
	}
	
	header.is-animation {
		background: rgba(255, 255, 255, 0.9);
		backdrop-filter: blur(12px);
		padding: 0;
	}
	
	header div.inner {
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: 0 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	div.logo-area {
		display: flex;
		align-items: flex-start;
	}
	
	div.logo-area img.logo {
		width: auto;
		height: 100px;
		margin-right: 20px;
	}
	
	div.logo-area img.touroku {
		width: auto;
		height: 80px;
	}
	
	header.is-animation div.logo-area img.logo {
		height: 70px;
		margin-right: 10px;
	}
	
	header.is-animation div.logo-area img.touroku {
		height: 55px;
	}
	
	nav.gnav {
		background: #fff;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.1));
		padding: 15px 0;
	}
	
	header.is-animation nav.gnav {
		filter: none;
		background: none;
	}
	
	nav.gnav ul {
		display: flex;
		align-items: center;
	}
	
	nav.gnav ul li {
		height: 70px;
		border-right: 2px dotted #ddd;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	nav.gnav ul li a {
		display: block;
		padding: 0 30px;
		text-align: center;
		text-decoration: none;
		transition: .3s;
	}
	
	nav.gnav ul li a p.gnav-arrow-circle {
		display: none;
	}
	
	nav.gnav ul li a:hover img {
		opacity: 1;
	}
	
	nav.gnav ul li a img.icon {
		width: auto;
		height: 40px;
		margin: 0 auto;
		display: block;
	}
	
	nav.gnav ul li a p {
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		color: #333;
		margin-top: 10px;
	}
	
	nav.gnav ul li:last-child {
		border: none;
	}
	
	nav.gnav ul li a:hover {
		opacity: 0.7;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display: none;
	}
	
	main {
		width: 100%;
		position: relative;
	}
	
	section {
		width: 100%;
		padding: 100px 30px;
		position: relative;
	}
	
	section div.inner {
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	
	section.main-visual {
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: 200px 0 80px 0;
		position: relative;
		overflow: hidden;
	}
	
	section.main-visual img.top-ip {
		width: 900px;
		height: auto;
		position: absolute;
		bottom: 0;
		left: 680px;
		z-index: 100;
	}
	
	h1 {
		padding-left: 80px;
	}
	
	h1 p.copy {
		font-size: 36px;
		font-weight: bold;
		line-height: 150%;
	}
	
	h1 p.name {
		font-size: 72px;
		font-weight: bold;
		line-height: 120%;
		color: #27b674;
	}
	
	h1 p.name span.end {
		font-size: 72px;
		font-weight: bold;
		letter-spacing: -0.3em;
	}
	
	h1 p.name span.small {
		font-size: 48px;
		font-weight: bold;
	}
	
	h1 p.ex {
		font-size: 22px;
		line-height: 1;
		margin-top: 15px;
	}
	
	div.wrapper.slide {
		width: 100%;
		padding: 0 30px 30px 30px;
	}
	
	div.slider-wrapper {
		width: 100%;
		max-width: 1600px;
		display: flex;
  		overflow: hidden;
		border-radius: 20px 20px 0 0;
		position: relative;
		margin: -30px auto 0 auto;
	}
	
	p.slider-copy {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		font-size: 36px;
		font-weight: bold;
		color: #fff;
		line-height: 180%;
		z-index: 1;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	ul.slider {
		width: 100%;
		animation: scroll-left 20s infinite linear .5s both;
		display: flex;
	}
	
	ul.slider li.slide {
		width: calc(100vw / 4);
	}
	
	ul.slider li.slide img {
  		display: block;
  		width: 100%;
		height: auto;
	}
	
	@keyframes scroll-left {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
	
	div.top-btn-wrapper {
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: 20px;
		background: #27b674;
		border-radius: 0 0 20px 20px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
	}
	
	a.top-btn {
		border-radius: 10px;
		background: #fff;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 20px;
		font-weight: bold;
		color: #333;
		text-decoration: none;
		padding: 25px 0;
		transition: .3s;
	}
	
	a:hover.top-btn {
		opacity: 0.7;
	}
	
	a.top-btn img {
		width: auto;
		height: 40px;
		margin-right: 20px;
	}
	
	a:hover.top-btn img {
		opacity: 1;
	}
	
	section.gray {
		background: #f9faf6;
	}
	
	h2.main-title.en {
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 20px;
	}
	
	h2.main-title.en::before {
		content: " ";
		display: inline-block;
		width: 25px;
		height: 10px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	h2.main-title.jp {
		font-size: 40px;
		font-weight: bold;
		line-height: 1;
	}
	
	div.content-wrapper {
		width: 100%;
		margin-top: 60px;
		position: relative;
	}
	
	.separate-half {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 60px;
	}
	
	ul.feature {
		display: grid;
		grid-template-columns: repeat(3,1fr);
	}

	ul.feature li img {
		width: 100%;
		height: auto;
	}
	
	p.main-txt {
		margin-top: 30px;
	}
	
	img.number-of-stores {
		position: absolute;
		bottom: -100px;
		right: 0;
		width: 47.5%;
		height: auto;
	}
	
	.relative {
		position: relative;
	}
	
	.main-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 14px;
		height: 3.2px;
  		margin: 4.9px 0;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	}

	.main-arrow::before,
	.main-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.6px);
	  	right: 0;
	  	width: 10px;
  		height: 3.2px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: calc(100% - 1.6px) 50%;
	}

	.main-arrow::before {
	  	transform: rotate(45deg);
	}

	.main-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.main-arrow-circle {
		width: 30px;
		height: 30px;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-right: 10px;
		border-radius: 50%;
	}
	
	a.main-btn {
		width: fit-content;
		height: 70px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 20px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		background: #27b674;
		border-radius: 10px;
		padding: 0 30px;
		transition: .3s;
		flex-shrink: 0;
	}
	
	a:hover.main-btn {
		opacity: 0.7;
	}
	
	.title-side {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	
	a.main-btn.sp {
		display: none;
	}
	
	div.content-wrapper.store-list {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 20px;
	}
	
	div.content-wrapper.store-list dl {
		width: 100%;
	}
	
	dt.store-location {
		width: 100%;
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #edffd1;
		border-radius: 10px;
		text-decoration: none;
		cursor: pointer;
		transition: .3s;
	}
	
	dt.store-location div.title-area {
		display: flex;
		align-items: center;
	}
	
	dt.store-location div.title-area p.title {
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
		color: #333;
		margin-right: 20px;
	}
	
	dt.store-location div.title-area p.number-of-stores {
		font-size: 20px;
		font-weight: bold;
		line-height: 40px;
		color: #fff;
		background: #333;
		padding: 0 20px;
		border-radius: 20px;
	}
	
	dt.store-location div.btn {
		display: flex;
		align-items: center;
		background: #fff;
		border-radius: 7.5px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 0 25px;
		transition: .3s;
	}
	
	dt.store-location div.btn p {
		font-size: 18px;
		font-weight: bold;
		line-height: 50px;
		color: #333;
		transition: .3s;
	}
	
	.store-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 16px;
	  	height: 9px;
		margin-right: 10px;
		transition: .3s;
	}

	.store-arrow::before,
	.store-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.6px);
	  	width: 3.2px;
	  	height: 11.8px;
	  	border-radius: 9999px;
	  	background-color: #27b674;
	  	transform-origin: 50% calc(100% - 1.6px);
	}

	.store-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.store-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	dd.store-location-list {
		width: 100%;
		padding: 0 30px 30px 30px;
		background: #edffd1;
		display: none;
		border-radius: 0 0 10px 10px;
	}
	
	dt.store-location.open {
		border-radius: 10px 10px 0 0;
	}
	
	dt.store-location.open .store-arrow::before {
		top: -9px;
	  	transform: rotate(-132.2deg);
		background-color: #333;
	}
	
	dt.store-location.open .store-arrow::after {
		top: -9px;
	  	transform: rotate(132.2deg);
		background-color: #333;
	}
	
	dt.store-location p.detail {
		display: block;
	}
	
	dt.store-location p.close {
		display: none;
	}
	
	dt.store-location.open p.detail {
		display: none;
	}
	
	dt.store-location.open p.close {
		display: block;
	}
	
	dt.store-location.open div.btn {
		background: #d5d8cd;
	}
	
	dt.store-location:hover p.detail {
		color: #27b674;
	}
	
	div.store-list-wrapper {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 20px;
	}
	
	div.store-list-wrapper a {
		background: #fff;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		transition: .3s;
		padding: 20px;
		text-decoration: none;
	}
	
	div.store-list-wrapper a:hover {
		transform: scale(1.05);
	}
	
	div.store-list-wrapper a img.store-photo {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	
	div.store-list-wrapper a:hover img {
		opacity: 1;
	}
	
	div.store-list-wrapper a h3.store-name {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 20px 0 ;
	}
	
	div.store-list-wrapper a p {
		line-height: 20px;
		color: #333;
		padding-left: 20px;
	}
	
	div.store-list-wrapper a p.tel {
		font-size: 18px;
		font-weight: bold;
		background: url("../img/tel-icon.png") no-repeat left top 2px / 15px 15px;
		margin-bottom: 10px;
	}
	
	div.store-list-wrapper a p.address {
		font-size: 14px;
		background: url("../img/address-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	h3.repair-menu {
		font-size: 36px;
		font-weight: bold;
		line-height: 150%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 80px;
	}
	
	h3.repair-menu p.icon {
		width: 100px;
		height: 100px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		margin-right: 20px;
	}
	
	h3.repair-menu p.icon.ip {
		background: #27b674;
	}
	
	h3.repair-menu p.icon.ipad {
		background: #ff8358;
	}
	
	h3.repair-menu p.icon img {
		width: auto;
		height: 60px;
	}
	
	div.repair-wrapper {
		width: 100%;
		margin-top: 40px;
		display: grid;
		gap: 20px;
	}
	
	div.repair-wrapper.ip {
		grid-template-columns: repeat(4,1fr);
	}
	
	div.repair-wrapper.ipad {
		grid-template-columns: repeat(3,1fr);
	}
	
	div.repair-wrapper a {
		width: 100%;
		padding: 30px;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		background: #fff;
		color: #333;
		text-decoration: none;
		transition: .3s;
	}
	
	div.repair-wrapper a:hover {
		transform: scale(1.05);
	}
	
	div.repair-wrapper a:hover img {
		opacity: 1;
	}
	
	div.repair-wrapper.ip a h4 {
		font-size: 20px;
		line-height: 150%;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		min-height: 60px;
	}
	
	div.repair-wrapper.ip a img.ip-icon {
		width: auto;
		height: 170px;
		display: block;
		margin: 20px auto 0 auto;
	}
	
	div.repair-wrapper a p.time {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 30px;
	}
	
	div.repair-wrapper a p.time img {
		width: 20px;
		height: auto;
		margin-right: 5px;
	}
	
	div.repair-wrapper.ipad a {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	div.repair-wrapper.ipad a img.ipad-icon {
		width: auto;
		height: 90px;
	}
	
	div.repair-wrapper.ipad a div.img-area {
		width: 30%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.txt-area {
		width: 70%;
	}
	
	div.repair-wrapper.ipad a h4 {
		font-size: 18px;
		line-height: 150%;
		font-weight: bold;
		text-align: center;
	}
	
	div.repair-wrapper.ipad a p.time {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 5px;
	}
	
	ul.reason-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 60px;
		grid-row-gap: 30px;
		margin-top: 60px;
	}
	
	ul.reason-wrapper li {
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.reason-wrapper li h3 {
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	ul.reason-wrapper li h3 p {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
	}
	
	ul.reason-wrapper li h3 img {
		width: 150px;
		height: auto;
		margin-right: 20px;
		border-radius: 50%;
		border: 4px solid #27b674;
	}
	
	section.l-green {
		background: #edffd1;
	}
	
	h2.green {
		text-align: center;
		color: #27b674;
	}
	
	ul.flow {
		width: 100%;
		margin-top: 90px;
		display: flex;
		justify-content: space-between;
	}
	
	ul.flow li {
		width: 22%;
	}
	
	ul.flow li.arrow {
		width: 1.4%;
		display: flex;
		align-items: center;
	}
	
	ul.flow li.arrow img {
		width: 100%;
		height: auto;
	}
	
	ul.flow li p.number {
		font-size: 24px;
		font-weight: bold;
		color: #27b674;
		background: #fff;
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 3px solid #27b674;
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: -30px;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto auto auto;
		z-index: 1;
	}
	
	ul.flow li img.photo {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	
	h3.flow-title {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 18px;
		font-weight: bold;
		line-height: 60px;
		border-radius: 0 0 10px 10px;
		text-align: center;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
		z-index: 1;
		color: #fff;
		width: 100%;
		padding-top: 30px;
	}
	
	footer {
		width: 100%;
		background: #27b674;
		padding-top: 100px;
	}
	
	footer ul.footer-link {
		width: 100%;
		max-width: 1260px;
		margin: 0 auto;
		padding: 0 30px 100px 30px;
	}
	
	footer ul.footer-link li {
		width: 100%;
	}
	
	footer ul.footer-link li:first-child {
		margin-bottom: 100px;
	}
	
	footer ul.footer-link li:last-child {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		column-gap: 5%;
		grid-row-gap: 40px;
	}
	
	footer ul.footer-link li a.page-link {
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	footer ul.footer-link li a.page-link.store {
		width: 100%;
		border: none;
	}
	
	footer ul.footer-link li a:hover {
		opacity: 0.7;
	}
	
	footer ul.footer-link li a.page-link img {
		width: auto;
		height: 20px;
		margin-right: 10px;
	}
	
	footer ul.footer-link li a:hover.page-link img {
		opacity: 1;
	}
	
	footer dl {
		width: 100%;
		margin: 40px 0 0 0;
	}
	
	footer dl dt {
		font-size: 16px;
		font-weight: bold;
		line-height: 150%;
		color: #edffd1;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 2px dotted #68cc9e;
	}
	
	footer dl dd {
		margin-bottom: 40px;
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 10px;
	}
	
	footer ul.footer-link li dl dd a {
		font-size: 14px;
		line-height: 150%;
		color: #fff;
		text-decoration: none;
		display: flex;
		align-items: center;
		transition: .3s;
	}
	
	.footer-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 7px;
	  	height: 12px;
		margin-right: 5px;
	}

	.footer-arrow::before,
	.footer-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.5px);
	  	right: 0;
	  	width: 9px;
	  	height: 3px;
	  	border-radius: 9999px;
	  	background-color: #ffffff;
	  	transform-origin: calc(100% - 1.5px) 50%;
	}

	.footer-arrow::before {
	  	transform: rotate(48.35deg);
	}

	.footer-arrow::after {
	  	transform: rotate(-48.35deg);
	}
	
	div.footer-bottom {
		width: 100%;
		background: #fff;
	}
	
	div.footer-bottom div.inner {
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	div.footer-bottom div.inner div.logo-area {
		display: flex;
		align-items: center;
	}
	
	div.footer-bottom div.inner div.logo-area img.logo {
		width: auto;
		height: 50px;
		margin-right: 30px;
	}
	
	div.footer-bottom div.inner div.logo-area a.txt-link {
		font-size: 14px;
		color: #333;
		text-decoration: none;
	}
	
	div.footer-bottom div.inner p.copyright {
		font-size: 14px;
		color: #333;
	}
	
/******************************

下層共通

******************************/
	
	html {
		scroll-padding-top: 90px;
	}
	
	section.main-visual.lower {
		max-width: none;
		padding: 0;
		background: #f9faf6;
	}
	
	section.main-visual.lower div.inner {
		width: 100%;
		max-width: 1600px;
		height: 400px;
		margin: 0 auto;
		padding-top: 240px;
		position: relative;
	}
	
	section.main-visual.lower div.inner h1 {
		padding-left: 8%;
	}
	
	section.main-visual.lower div.inner img.mv {
		width: 50%;
		height: 400px;
		object-fit: cover;
		position: absolute;
		top: 0;
		right: 0;
		clip-path: polygon(25% 0%,100% 0%,100% 100%,0% 100%);
	}
	
	p.page-title.en {
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		color: #27b674;
		margin-bottom: 25px;
		text-transform: uppercase;
	}
	
	p.page-title.en::before {
		content: " ";
		display: inline-block;
		width: 30px;
		height: 12px;
		margin-right: 5px;
		background-image: url("../img/title-icon.png");
		background-size: contain;
		vertical-align: middle;
	}
	
	p.page-title.jp {
		font-size: 48px;
		font-weight: bold;
		line-height: 1;
	}
	
	p.breadcrumbs {
		font-size: 13px;
		color: #666;
		line-height: 150%;
		position: absolute;
		bottom: -40px;
		left: 30px;
	}
	
	p.breadcrumbs.is-animation {
		display: none;
	}
	
	p.breadcrumbs a {
		color: #aaa;
		text-decoration: none;
		transition: .3s;
	}
	
	p.breadcrumbs a:hover {
		opacity: 0.7;
	}
	
	h2.sub-title {
		font-size: 36px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
	}
	
	h2.sub-title::after {
		position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px;
	  	width: 60px;
		border-image: linear-gradient(to right, #27b674, #caea98) 1;
		padding-bottom: 15px;
	}
	
	h2.index {
		display: flex;
		align-items: center;
		margin-bottom: 30px;
	}
	
	h2.index img {
  		width: 24px;
		height: auto;
		margin-right: 10px;
	}
	
	h2.index p {
  		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
	}
	
	h2.index.ipad p {
		color: #ff8358;
	}
	
	div.index-wrap {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 15px;
	}
	
	div.index-wrap a {
		position: relative;
		font-size: 18px;
		font-weight: bold;
		color: #333;
		line-height: 150%;
		text-decoration: none;
		text-align: center;
		border-radius: 10px;
		transition: .3s;
		background: #fff;
		filter: drop-shadow(0px 0px 3px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 1px 3px rgba(0,0,0,.1));
		padding: 20px 0 40px 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	div.index-wrap a span.small {
		font-size: 15px;
		font-weight: bold;
	}
	
	div.index-wrap a p.arrow-wrap {
		width: 100%;
		height: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 0 0 10px 10px;
		background: #27b674;
		margin-top: 20px;
		position: absolute;
		left:0;
		bottom: 0;
	}
	
	div.index-wrap.ipad a p.arrow-wrap {
		background: #ff8358;
	}
	
	div.index-wrap a:hover {
		color: #fff;
		background: #27b674;
	}
	
	div.index-wrap.ipad a:hover {
		color: #fff;
		background: #ff8358;
	}
	
	.index-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 16px;
	  	height: 9px;
		margin-right: 10px;
		transition: .3s;
	}

	.index-arrow::before,
	.index-arrow::after {
	  	content: "";
	  	position: absolute;
	  	bottom: 0;
	  	left: calc(50% - 1.6px);
	  	width: 3.2px;
	  	height: 11.8px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: 50% calc(100% - 1.6px);
	}

	.index-arrow::before {
	  	transform: rotate(47.8deg);
	}

	.index-arrow::after {
	  	transform: rotate(-47.8deg);
	}
	
	.separate {
		display: flex;
		justify-content: space-between;
	}
	
	.separate.start {
		align-items: flex-start;
	}
	
	.separate.end {
		align-items: flex-end;
	}
	
	.separate.center {
		align-items: center;
	}
	
	.reverse {
		flex-direction: row-reverse;
	}
	
/******************************

店舗一覧

******************************/
	
	section.margin {
		margin: 100px 0;
		padding: 0 30px;
	}
	
	div.store-list-wrapper.lower a {
		filter: none;
		background: #edffd1;
	}
	
	div.store-list-wrapper.lower a h3.store-name {
		color: #333;
	}
	
	div.store-list-wrapper a p.time {
		font-size: 14px;
		background: url("../img/time-ip-icon.png") no-repeat left top 2px / 15px 15px;
	}
	
	ul.service {
		width: 100%;
		margin-top: 5px;
		display: flex;
		flex-wrap: wrap;
	}
	
	ul.service li {
		margin: 5px 5px 0 0;
		font-size: 11px;
		font-weight: bold;
		line-height: 20px;
		padding: 0 10px;
		border-radius: 11px;
	}
	
	ul.service li.accessory {
		color: #27b674;
		background: #fff;
		border: 1px solid #27b674;
	}
	
	ul.service li.sp-repair {
		color: #fff;
		background: #27b674;
		border: 1px solid #27b674;
	}
	
	ul.service li.pc-repair {
		color: #fff;
		background: #276eb6;
		border: 1px solid #276eb6;
	}
	
	ul.service li.dyson-repair {
		color: #fff;
		background: #eb9525;
		border: 1px solid #eb9525;
	}
	
/******************************

修理メニュー

******************************/
	
	img.side {
		width: 25%;
		height: auto;
		padding: 0 4%;
	}
	
	div.index-wrap.repair {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 15px;
	}
	
	div.repair-menu-wrapper {
		margin-bottom: -30px;
	}
	
	dl.repair-menu {
		width: 100%;
		padding: 50px;
		border-radius: 20px;
		background: #fff;
		display: flex;
		justify-content: space-between;
		margin-bottom: 30px;
	}
	
	dl.repair-menu dt {
		width: 25%;
	}
	
	dl.repair-menu dt img {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	
	dl.repair-menu dd {
		width: 70%;
	}
	
	h3.repair-title {
		font-size: 30px;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.repair-content {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		margin-top: 30px;
		padding-bottom: 30px;
		border-bottom: 2px dotted #ddd
	}
	
	div.repair-content p.time {
		font-size: 20px;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	
	div.repair-content p.time img {
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
	
	h2.note {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
		color: #f00;
		display: flex;
		align-items: center;
	}
	
	h2.note img {
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
	
	div.content-wrapper.note {
		margin: 30px auto 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	div.content-wrapper.note a {
		margin-left: 5%;
	}
	
	img.note {
		width: 27%;
		border-radius: 50%;
	}
	
	a.main-btn.sentence-end {
		margin-top: 30px;
	}
	
/******************************

よくある質問

******************************/
	
	section div.inner.faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	dl.faq {
		width: 100%;
		padding-bottom: 50px;
		border-bottom: 2px dotted #ddd;
	}
	
	dl.faq dt {
		width: 100%;
		padding: 25px 0 20px 0;
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	
	dl.faq dt img {
		width: auto;
		height: 40px;
		margin: -30px 10px 0 0;
	}
	
	dl.faq dt h2.question {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
	}
	
	dl.faq dd {
		width: 100%;
		display: flex;
		align-items: flex-start;
	}
	
	dl.faq dd img {
		width: auto;
		height: 40px;
		margin: -20px 10px 0 0;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		max-width: 1000px;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
		margin: 0 auto;
	}
	
	table.company th {
		width: 30%;
		padding: 30px;
		font-weight: bold;
		border-bottom: 1px solid #eee;
	}
	
	table.company td {
		padding: 30px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
	}
	
	div.gmap {
		width: 100%;
		height: 600px;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
		border-top: 1px solid #eee;
		margin-top: 30px;
	}

	table.contact-form th,
	table.contact-form td {
		font-size: 16px;
		line-height: 180%;
		overflow: hidden;
		border-bottom: 1px solid #eee;
	}

	table.contact-form th {
		font-weight: bold;
		-webkit-font-smoothing: antialiased;
	  	-moz-osx-font-smoothing: grayscale;
		text-align: left;
		width: 30%;
		padding: 30px;
	}

	table.contact-form td {
		width: 70%;
		text-align: left;
		padding: 30px 0;
	}

	.formbtn {
		padding: 20px 60px;
		background: #27b674;
		font-size: 24px;
		color: #fff;
		cursor: pointer;
		outline: none;
		border: none;
		margin: 60px auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX";
		font-weight: bold;
		transition: 0.3s ease-in-out;
		border-radius: 50px;
	}

	.formbtn:hover {
		opacity: 0.7;
		transition: 0.3s ease-in-out;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 40%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 16px;
		font-family: "GenJyuuGothicX";
		font-weight: normal;
	}

	input[type="email"] {
		width: 60%;
	}

	textarea {
		width: 100%;
		height: 200px;
	}

	.must {
		display: block;
		background-color: #f00;
		padding: 3px 9px;
		font-size: 14px;
		color: #fff;
		float: right;
		margin: 0 5px;
		border-radius: 5px;
		font-weight: bold;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 10px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 1px solid #27b674;
	  	outline: 0;
	}
	
	table.contact-form p.main-txt {
		margin-top: 10px;
	}
	
	p.main-txt.privacy {
		font-size: 12px;
		text-align: center;
		color: #666;
	}
	
	p.main-txt.privacy a {
		color: #999;
		text-decoration: underline;
	}
	
	p.main-txt.privacy a:hover {
		text-decoration: none;
	}
	
/******************************

プライバシーポリシー

******************************/
	
	h2.privacy {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		margin-top: 60px;
	}
	
	ul.default {
		list-style: disc;
		padding-left: 20px;
		margin-top: 30px;
	}
	
	ul.default li {
		font-size: 16px;
	}
	
/******************************

店舗ページ

******************************/
	
	section.main-visual.store {
		max-width: none;
		padding: 200px 30px 60px 30px;
		background: #edffd1;
	}
	
	section.main-visual.store div.inner {
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	section.main-visual.store div.inner img.top-photo {
		width: 45%;
		max-width: 480px;
		height: 330px;
		border-radius: 20px;
		object-fit: cover;
	}
	
	section.main-visual.store div.inner div.info-area {
		margin-right: 3%;
	}
	
	section.main-visual.store div.inner div.info-area a {
		color: #333;
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area h1 {
		font-size: 40px;
		font-weight: bold;
		line-height: 130%;
		padding: 0;
		color: #27b674;
	}
	
	section.main-visual.store div.inner div.info-area h1 span {
		font-size: 26px;
		font-weight: bold;
	}
	
	section.main-visual.store div.inner div.info-area p.tel {
		font-size: 30px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 30px;
	}
	
	section.main-visual.store div.inner div.info-area p.tel a {
		text-decoration: none!important;
	}
	
	section.main-visual.store div.inner div.info-area p img {
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
	
	section.main-visual.store div.inner div.info-area p.time {
		font-size: 20px;
		font-weight: bold;
		color: #333;
		display: flex;
		align-items: center;
		margin-top: 20px;
	}
	
	table.store-info {
		width: 100%;
		font-size: 16px;
		border-top: 1px solid #eee;
		text-align: left;
		margin: 0 auto 60px auto;
	}
	
	table.store-info a {
		color: #333;
		text-decoration: none!important;
	}
	
	table.store-info th {
		width: 25%;
		padding: 30px;
		font-weight: bold;
		border-bottom: 1px solid #eee;
	}
	
	table.store-info td {
		padding: 30px 0;
		font-weight: normal;
		border-bottom: 1px solid #eee;
	}
	
	ul.access {
		width: 100%;
		margin-bottom: 60px;
		display: flex;
		justify-content: space-between;
	}

	
	ul.access li {
		width: 47.5%;
		background: #f9faf6;
		border-radius: 10px;
	}
	
	ul.access li h2.title {
		width: 100%;
		padding: 15px 20px;
		display: flex;
		align-items: center;
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #fff;
		background: #27b674;
		border-radius: 10px 10px 0 0;
	}
	
	ul.access li h2.title img {
		width: auto;
		height: 24px;
		margin-right: 10px;
	}
	
	ul.access li div.txt-area {
		width: 100%;
		padding: 30px;
		white-space: pre-wrap;
	}
	
	div.content-wrapper.store-faq {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 30px;
	}
	
	div.content-wrapper.store-menu {
		margin-top: 80px;
	}
	
	ul.service.store {
		margin-top: 10px;
	}
	
	ul.service.store li {
		margin: 10px 10px 0 0;
		font-size: 14px;
		font-weight: bold;
		line-height: 30px;
		padding: 0 15px;
		border-radius: 16px;
	}
	
	h3.sub-title {
		font-size: 30px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
	}
	
	ul.store-menu {
		width: 100%;
		margin-top: 30px;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 15px;
	}
	
	ul.store-menu li {
		background: #fff;
		border-radius: 10px;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 5px rgba(0,0,0,.1));
		padding: 30px;
	}
	
	ul.store-menu li p.menu {
		font-size: 20px;
		font-weight: bold;
		color: #27b674;
		line-height: 150%;
	}
	
	ul.store-menu li p.menu.ipad {
		color: #ff8358;
	}
	
	ul.store-menu li p.price {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		align-items: center;
		margin-top: 20px;
	}
	
	ul.store-menu li p.time {
		font-size: 16px;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
	
	ul.store-menu li p img {
		width: auto;
		height: 20px;
		margin-right: 5px;
	}
	
	ul.store-about {
		width: 100%;
		max-width: 1000px;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 80px;
		margin: 0 auto;
	}
	
	ul.store-about li {
		width: 100%;
	}
	
	ul.store-about li h2 {
		font-size: 24px;
	  	font-weight: bold;
		line-height: 150%;
	  	border-bottom: 3px solid #27b674;
	  	padding-bottom: 15px;
	  	margin-bottom: 40px;
	  	position: relative;
	}
	
	ul.store-about li h2::before {
	  content: '';
	  background-color: #fff;
	  width: 20px;
	  height: 3px;
	  position: absolute;
	  left: 30px;
	  bottom: -3px;
	}
	
	ul.store-about li h2::after {
	  content: '';
	  background-color: #27b674;
	  width: 20px;
	  height: 3px;
	  transform: rotate(50deg);
	  position: absolute;
	  left: 25px;
	  bottom: -10px;
	}
	
	ul.store-about li div.txt-area {
		width: 100%;
		white-space: pre-wrap;
	}
	
	ul.banner-area {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	ul.banner-area li {
		width: 47.5%;
	}
	
	ul.banner-area li img {
		width: 100%;
		height: auto;
		margin-bottom: 30px;
	}
	
	div.store-fixed-menu {
	  	position: fixed;
	  	right: 20px;
	  	bottom: 20px;
	  	/* 1. メニューを画面下へ隠す */
	  	transform: translateY(120%);
	  	/* 2. 0.3秒かけて表示する */
	  	transition: .3s;
		width: 280px;
		padding: 20px;
		background: rgba(39, 182, 116, 0.8);
		backdrop-filter: blur(12px);
		border-radius: 10px;
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.1));
		-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.1));
		z-index: 500;
	}
	
	div.store-fixed-menu p.title {
	  	font-size: 20px;
		font-weight: bold;
		color: #fff;
		line-height: 150%;
		text-align: center;
		white-space: pre-wrap;
	}
	
	div.store-fixed-menu div.wrapper {
	  	width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 10px;
		margin-top: 10px;
	}
	
	div.store-fixed-menu div.wrapper a {
		height: 50px;
		padding: 0 15px;
	  	font-size: 18px;
	  	font-weight: bold;
		line-height: 150%;
	  	text-decoration: none;
		background: #fff;
		display: flex;
		align-items: center;
		border-radius: 5px;
		transition: .3s;
	}
	
	div.store-fixed-menu div.wrapper a:hover {
		opacity: 0.7;
	}
	
	div.store-fixed-menu div.wrapper a span.ta-pc {
		font-weight: bold;
		display: block;
	}
	
	div.store-fixed-menu div.wrapper a img {
		width: auto;
		height: 24px;
		margin-right: 10px;
	}
	
	div.store-fixed-menu div.wrapper a:hover img {
		opacity: 1;
	}
	
	div.store-fixed-menu div.wrapper a.tel {
		color: #333;
	}
	
	div.store-fixed-menu div.wrapper a.web {
		color: #4787d0;
	}
	
	div.store-fixed-menu div.wrapper a.line {
		color: #06c755;
	}
	
	div.store-fixed-menu.active {
	  /* 3. メニューを定位置へ戻す */
	  transform: translate(0);
	}
	
/******************************

お役立ち情報

******************************/
	
	div.column-list-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: 50px;
	}
	
	div.column-list-wrapper a {
		display: block;
		text-decoration: none;
	}
	
	div.column-list-wrapper a img.thumbnail {
		width: 100%;
		aspect-ratio: 3 / 2;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 20px;
	}
	
	div.date-area {
		display: flex;
		align-items: center;
		font-size: 14px;
		font-weight: bold;
		color: #999;
	}
	
	p.category {
		color: #fff;
		background: #27b674;
		line-height: 30px;
		border-radius: 15px;
		margin-left: 10px;
		padding: 0 15px;
		font-weight: bold;
	}
	
	div.column-list-wrapper a h3.column-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #333;
		margin-top: 20px;
	}
	
	div.column-list-wrapper a p.main-txt {
		margin-top: 20px;
		color: #333;
	}
	
	div.left-wrapper {
		width: 70%;
	}
	
	div.right-wrapper {
		width: 25%;
		margin-top: -30px;
	}
	
	h2.side-title {
		font-size: 20px;
		font-weight: bold;
		line-height: 70px;
		background: #edffd1;
		border-radius: 10px;
		padding: 0 20px;
		margin-top: 30px;
	}
	
	ul.side-nav li {
		width: 100%;
		border-bottom: 2px dotted #ddd;
	}
	
	ul.side-nav li a {
		display: flex;
		justify-content: space-between;
		padding: 20px;
		font-size: 18px;
		color: #333;
		text-decoration: none;
		transition: .3s;
	}
	
	ul.side-nav li a:hover {
		opacity: 0.7;
	}
	
	.snav-arrow {
	  	position: relative;
	  	display: inline-block;
	  	width: 12px;
		height: 2.4px;
  		margin: 4px 0;
	  	border-radius: 9999px;
	  	background-color: #fff;
	}

	.snav-arrow::before,
	.snav-arrow::after {
	  	content: "";
	  	position: absolute;
	  	top: calc(50% - 1.3px);
	  	right: 0;
	  	width: 9px;
  		height: 2.4px;
	  	border-radius: 9999px;
	  	background-color: #fff;
	  	transform-origin: calc(100% - 1.3px) 50%;
	}

	.snav-arrow::before {
	  	transform: rotate(45deg);
	}

	.snav-arrow::after {
	  	transform: rotate(-45deg);
	}
	
	.snav-arrow-circle {
		width: 24px;
		height: 24px;
		background: #27b674;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
	}
	
	section.blog-single {
		padding: 240px 30px 100px 30px;
	}
	
	.navigation {
		margin-top: 50px;
		text-align: center;
	}
	
	article.blog-wrap img.thumbnail {
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 10px;
		object-fit: cover;
		margin-bottom: 60px;
		display: block;
	}
	
	article.blog-wrap h1 {
		font-size: 32px;
		font-weight: bold;
		line-height: 150%;
		position: relative;
		display: block;
		margin: 30px 0;
		padding: 0;
	}
	
	article.blog-wrap h2 {
		font-size: 28px;
		font-weight: bold;
		color: #fff;
		line-height: 150%;
		background: #27b674;
		padding: 15px 15px 15px 20px;
		margin: 60px 0 20px 0;
		border-radius: 10px;
	}
	
	article.blog-wrap h3 {
		font-size: 24px;
		font-weight: bold;
		line-height: 150%;
		border-left: 5px solid #27b674;
		border-bottom: 2px dotted #ddd;
		padding: 15px;
		margin: 50px 0 20px 0;
	}
	
	article.blog-wrap h4 {
		font-size: 20px;
		font-weight: bold;
		line-height: 150%;
		color: #27b674;
		margin: 40px 0 10px 0;
	}
	
	.cf-turnstile {
		width: 100%;
		display: flex;
		justify-content: center;
		margin: 30px 0 0 0!important;
	}
	
	p.contact-txt {
		background: #edffd1;
		padding: 30px;
		font-weight: bold;
	}
	
	div.store-top-banner {
		width: 100%;
		max-width: 1200px;
		background: #fff;
		border-radius: 20px;
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 40px auto 0 auto;
	}
	
	div.store-top-banner p.title {
		font-size: 20px;
		font-weight: bold;
		line-height: 180%;
		margin-right: 30px;
	}
	
	div.store-top-banner img {
		width: 600px;
		height: auto;
	}
	
	div.store-news {
		width: 100%;
		padding: 20px;
		border: 3px solid #ff0000;
		font-size: 16px;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 60px;
		white-space: pre-wrap;
	}
	
	div.store-news p.title {
		font-size: 18px;
		font-weight: bold;
		color: #ff0000;
		margin-bottom: 10px;
	}

}

/******************************************************************************************************

PC補足

******************************************************************************************************/

@media screen and (min-width:1025px) and ( max-width:1200px) {
	
	section.main-visual.lower div.inner {
		height: 360px;
		padding-top: 220px;
	}
	
	section.main-visual.lower div.inner img.mv {
		width: 50%;
		height: 360px;
	}
	
	section.main-visual.lower div.inner h1 {
		padding-left: 5%;
	}
	
	nav.gnav ul li {
		height: 60px;
	}
	
	div.logo-area img.logo {
		height: 70px;
		margin-right: 10px;
	}
	
	div.logo-area img.touroku {
		height: 55px;
	}
	
	nav.gnav ul li a {
		padding: 0 25px;
	}
	
	nav.gnav ul li a img.icon {
		height: 30px;
	}
	
	nav.gnav ul li a p {
		font-size: 14px;
	}
	
	p.page-title.en {
		font-size: 14px;
	}
	
	p.page-title.jp {
		font-size: 40px;
	}
	
	p.breadcrumbs {
		font-size: 12px;
		bottom: -30px;
	}
	
	h2.sub-title {
		font-size: 32px;
	}
	
}

p.main-txt a.no-link {
	color: #333;
	border: none;
	text-decoration: none!important;
	pointer-events: none!important;
}
