@charset "UTF-8";

html {
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: 1px;
	overflow-x: hidden;
	font-family: "Noto Sans JP", sans-serif;
	color: #222;
}

body{
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background: #fff;
	position: relative;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

.grecaptcha-badge { visibility: hidden; }

#wrapper a:link      { text-decoration: none; color: #008ab7; }
#wrapper a:visited   { text-decoration: none; color: #008ab7; }
#wrapper a:hover     { text-decoration: none; }
#wrapper a:active    { text-decoration: none; }

a[href^="tel:"] {
	pointer-events: none;
}

a,:focus {
	outline: none;
}

::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.img img {
	width: 100%;
	height: auto;
}

.tb   { display: none!important;}
.tbsp { display: none!important;}
.sp   { display: none!important;}

.pc   { display: block!important;}
.pctb { display: block!important;}
.pcsp { display: block!important;}

.opacity a:hover,
.opacity input:hover {
	opacity: 0.60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity: 0.60;
	-khtml-opacity: 0.60;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	text-decoration: none!important;
}

.fadein {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	-moz-opacity:0;
	-khtml-opacity: 0;
	transform : translate(0, 50px);
	transition : all 500ms;
}

/*======================================================
  common
======================================================*/

/* title */
.cntTtl {
	text-align: center;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: -0.005em;
	margin: 0 0 40px;
}

.cntMinTtl {
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 6rem;
	line-height: 1;
	margin: 0 0 30px;
}

.dglTtl {
	position: relative;
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 6rem;
	line-height: 1;
	font-style: italic;
	padding: 0 0 0 50px;
	transform: rotate(-3deg);
	z-index: 2;
}

.cntTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
}

.wtLnk a:link,
.wtLnk a:visited {
	color: #fff!important;
}

.bkLnk a:link,
.bkLnk a:visited {
	color: #5b5754!important;
}

.cntWrp {
	max-width: 1200px;
	margin: 0 auto;
}

.cntMinWrp {
	max-width: 1000px;
	margin: 0 auto;
}

.frmAra {
	min-height: calc(100vh - 130px);
	box-sizing: border-box;
}

.

@media screen and (min-width:768px) and (max-width:1040px) {
	
	.frmAra {
		min-height: calc(100vh - 110px);
		box-sizing: border-box;
	}
	
	.cntTtl {
		font-size: 6rem;
		margin: 0 0 30px;
	}

	.cntMinTtl {
		font-size: 5rem;
		margin: 0 0 30px;
	}

	.dglTtl {
		font-size: 5rem;
		padding: 0 0 0 30px;
	}
}

@media screen and (max-width:767px) {
	.cntTtl {
		font-size: 4rem;
		margin: 0 0 15px;
	}

	.cntMinTtl {
		font-size: 4rem;
		margin: 0 0 15px;
	}

	.dglTtl {
		font-size: 4rem;
		padding: 0 0 0 25px;
	}
}

.mdlAra {
	display: none;
}

@media screen and (max-width:767px) {
	
	.frmAra {
		min-height: calc(100vh - 100px);
		box-sizing: border-box;
	}
	
	/* mdlAra */
	.mdlAra {
		display: block;
	}

	.menu, .menu span {
		display: inline-block;
		-webkit-transition: all .2s;
		transition: all .2s;
		box-sizing: border-box;
	}

	.menu {
		position: fixed;
		top: 10px;
		right: 10px;
		width: 40px;
		height: 40px;
		background: #008ab7;
		z-index: 2000;
		cursor: pointer;
	}

	.menu:hover {
		opacity: 0.60;
		transition: all  0.3s ease;
	}

	.menu span {
		width: 24px;
		height: 2px;
		position: absolute;
		left: 8px;
		background: #fff;
		z-index: 100;
	}

	button {
		border: none;
		background: none;
	}

	.menu span:nth-of-type(1) {
		top: 11px;
	}

	.menu span:nth-of-type(2) {
		top: 19px;
		width: 18px;
	}

	.menu span:nth-of-type(3) {
		top: 27px;
	}

	.menu.active span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}

	.menu.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

	.mdlNavBox {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 2000;
		width: 100% ;
		height: 100vh;
		opacity: 0;
		padding: 60px 20px 20px;
		overflow-y: scroll;
		box-sizing: border-box;
		background: url(../images/bg_modal.jpg) top no-repeat;
        background-size: cover;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all  0.3s ease;
		visibility: hidden;
	}

	.mdlNavBox.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
	}

	.mdlNavInr {
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
		padding: 20px 10px 10px;
		box-sizing: border-box;
		overflow: hidden;
		background: #fff;
	}

	.mdlLgBox {
		text-align: center;
		margin: 0 0 15px;
	}
	
	.mdlLg {
		max-width: 160px;
		margin: 0 auto 4px;
	}

	.mdlNme {
		text-align: center;
		font-weight: 700;
		font-size: 1.2rem;
		line-height: 1.3;
	}

	.mdlNav {
		font-weight: 700;
		font-size: 1.5rem;
		overflow: hidden;
		margin: 0 0 10px;
	}

	.mdlNav a {
		display: block;
		padding: 15px 40px 15px 10px;
		background: url(../images/arw_rt.png) right 10px center no-repeat #008ab7;
        background-size: 30px auto;
		z-index: 1;
	}

	.mdlNav li:not(:last-child) {
		margin: 0 0 1px;
	}
	
	.mdlBtn {
		text-align: center;
		max-width: 100%;
		width: 100%;
		font-weight: 700;
		font-size: 1.5rem;
		line-height: 1;
	}

	.mdlBtn a {
		display: block;
		padding: 20px 10px;
		border: solid 1px #008ab7;
	}
	
	.mdlBtn a:link,
	.mdlBtn a:visited {
		color: #008ab7!important;
	}
	
	.mdlBtn a:hover {
		color: #fff!important;
		background: #008ab7;
		border: solid 1px #008ab7;
		transition: all  0.3s ease;
	}
	
	.mdlBtn span {
		display: inline-block;
		position: relative;
		padding: 0 0 0 35px;
	}

	.mdlBtn span:before {
		content: "";
		position: absolute;
		top: calc(50% - 13px);
		left: 0;
		width: 26px;
		height: 26px;
		background: url(../images/icn_mail_wt.png) center no-repeat #008ab7;
		background-size: 15px auto;
		border-radius: 50%;
	}
}

/*======================================================
  header
======================================================*/

.hdr {
	width: 100%;
	height: 70px;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 30px;
	box-sizing: border-box;
	z-index: 100;
}
	
.hdrChg {
	background: #008ab7;
	transition: all  0.3s ease;
}

.hdrLg {
	max-width: 200px;
	margin: 0 0 7px;
}

.hdrNme {
	text-align: center;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.3;
	color: #fff;
}

.lwrHdr {
	width: 100%;
	height: 70px;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	padding: 0 30px;
	box-sizing: border-box;
	z-index: 100;
}

.gNav {
	text-align: center;
	height: 70px;
	display: flex;
	align-items: center;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1;
}

.gNav li {
	position: relative;
	margin: 0 0 0 40px;
}

.gNav li:not(:first-child):before {
	content: "/";
	position: absolute;
	top: calc(50% - 7px);
	left: -25px;
	color: rgba(255,255,255,0.3);
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.hdr {
		height: 60px;
		padding: 0 20px;
	}

	.hdrLg {
		max-width: 140px;
		margin: 0 0 3px;
	}
	
	.hdrNme {
		font-size: 1.1rem;
	}

	.gNav {
		height: 60px;
		font-size: 1.4rem;
	}

	.gNav li {
		margin: 0 0 0 25px;
	}

	.gNav li:not(:first-child):before {
		left: -16px;
	}
}

@media screen and (max-width:767px) {
	.hdr {
		position: absolute;
		top: 0;
		left: 0;
		padding: 0 15px;
		z-index: 100;
	}
	
	.hdrLg {
		max-width: 140px;
		margin: 0 0 2px;
	}
	
	.hdrNme {
		font-size: 1rem;
	}
	
	.lwrHdr .hdrLgBox {
		max-width: 140px;
		margin: 0 auto;
	}
	
	.gNav {
		display: none;
	}
}

/*======================================================
  mnAra
======================================================*/

.mnAra {
	width: 100%;
	height: 850px;
	position: relative;
	padding: 0 30px;
	box-sizing: border-box;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
	z-index: 10;
}

.mnDot {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/bg_grid.png) top rgba(0,0,0,0.3);
	background-size: 9px auto;
	z-index: 30;
}

.mnAra video {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 20;
}

.mnWrp {
	max-width: 1600px;
	height: 850px;
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 auto;
	z-index: 40;
}

.mnLg {
	max-width: 650px;
	margin: 0 0 50px;
}

.mnCth {
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 6rem;
	line-height: 1.2;
	color: #fff;
}

.scrBtn {
	position: absolute;
	bottom: 170px;
	left: -50px;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 1.7;
	letter-spacing: 0.2em;
	padding: 0 55px 0 0;
	background: url(../images/arw_rt_lg.png) right bottom no-repeat;
	background-size: 50px auto;
	transform: rotate(90deg);
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.mnAra {
		height: 700px;
	}
	
	.mnWrp {
		height: 700px;
	}

	.mnLg {
		max-width: 500px;
		margin: 0 0 30px;
	}

	.mnCth {
		font-size: 4.5rem;
	}

	.scrBtn {
		font-size: 1.2rem;
	}
}

@media screen and (max-width:767px) {
	.mnAra {
		height: 500px;
		padding: 0 20px;
		background: url(../images/bg_main_sp.jpg) center rgba(0,0,0,0.3);
		background-size: cover;
		background-attachment: fixed;
	}
	
	.mnDot {
		background: url(../images/bg_grid.png) top rgba(0,0,0,0.5);
		background-size: 4.5px auto;
	}

	.mnWrp {
		height: 500px;
	}
	
	.mnLgBox {
		max-width: 300px;
		margin: 0 auto;
	}

	.mnLg {
		max-width: 280px;
		margin: 0 auto 30px;
	}

	.mnCth {
		text-align: center;
		font-size: 3rem;
	}

	.scrBtn {
		bottom: 80px;
		left: auto;
		right: -45px;
		font-size: 1.1rem;
		line-height: 1.5;
		padding: 0 45px 0 0;
		background-size: 40px auto;
	}
}

/*======================================================
  content
======================================================*/

/* abtAra */
.abtAra {
	position: relative;
	padding: 0 0 100px;
}

.abtImg01 {
	max-width: 360px;
	position: absolute;
	top: -80px;
	left: 30px;
	z-index: 10;
}

.abtImg02 {
	max-width: 260px;
	position: absolute;
	bottom: 30px;
	left: calc(50% - 30px);
	z-index: 2;
}

.abtImg03 {
	max-width: 220px;
	position: absolute;
	bottom: 100px;
	left: calc(50% - 180px);
	z-index: 3;
}

.abtWrp {
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
}

.abtBox {
	display: flex;
}

.abtCntBox {
	width: 50%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.abtCntInr {
	max-width: 600px;
	width: 100%;
	padding: 250px 50px 150px;
}

.abtTtlBox .cntTtl {
	text-align: left;
	margin: 0 0 70px;
}

.abtTxt {
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2;
}

.abtImgBox {
	width: 50%;
	background: url(../images/bg_about.jpg) center no-repeat;
	background-size: cover;
}

.abtCtc {
	color: #008ab7;
	font-size: 1.6rem;
	margin-top: 30px;
	border: 3px double #008ab7;
	display: inline-block;
	padding: 6px;
	font-weight: bold;
	line-height: 1;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.abtAra {
		padding: 0 0 80px;
	}

	.abtImg01 {
		max-width: 260px;
		position: absolute;
		top: -60px;
		left: 30px;
		z-index: 10;
	}

	.abtImg02 {
		max-width: 160px;
		position: absolute;
		bottom: 30px;
		left: calc(55% - 20px);
		z-index: 2;
	}

	.abtImg03 {
		max-width: 120px;
		position: absolute;
		bottom: 100px;
		left: calc(55% - 80px);
		z-index: 3;
	}

	.abtCntBox {
		width: 55%;
	}

	.abtCntInr {
		padding: 200px 30px 120px;
	}

	.abtTtlBox .cntTtl {
		text-align: left;
		margin: 0 0 40px;
	}

	.abtImgBox {
		width: 45%;
	}
}

@media screen and (max-width:767px) {
	.abtAra {
		padding: 0 0 30px;
	}

	.abtImg01 {
		max-width: 100px;
		position: absolute;
		top: -40px;
		left: 20px;
		z-index: 10;
	}

	.abtImg02 {
		max-width: 120px;
		position: absolute;
		bottom: 20px;
		left: auto;
		right: 20px;
		z-index: 2;
	}

	.abtImg03 {
		max-width: 80px;
		position: absolute;
		bottom: 0;
		left: auto;
		right: 80px;
		z-index: 3;
	}
	
	.abtBox {
		display: block;
	}
	
	.abtCntBox {
		width: 100%;
	}

	.abtCntInr {
		padding: 30px 20px;
	}

	.abtTtlBox .cntTtl {
		text-align: center;
		margin: 0 0 20px;
	}

	.abtImgBox {
		width: 100%;
		height: 250px;
	}
	.abtCtc {
		font-size: 1.4rem;
		line-height: 1.3;
	}
}

/* cteAra */
.cteAra {
	padding: 100px 30px 0;
}

.cteLst {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -4px -8px;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3;
}

.cteLst li {
	width: calc(25% - 8px);
	display: block;
	margin: 0 4px 8px;
	box-sizing: border-box;
	border: solid 1px #ccc;
}

.cteLst li a {
	padding: 5px 10px 5px 65px;
	display: flex;
	align-items: center;
	background-size: 30px auto!important;
	background-position: left 15px center!important;
	background-repeat: no-repeat!important;
	min-height: 60px;
}

.cteLst li .minTxt {
	font-size: 1.6rem;
	letter-spacing: -0.05em;
	white-space: nowrap;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.cteAra {
		padding: 80px 30px 0;
	}

	.cteLst {
		font-size: 1.7rem;
	}

	.cteLst li {
		width: calc(50% - 8px);
		padding: 15px 10px 15px 55px;
	}

	.cteLst li .minTxt {
		font-size: 1.5rem;
	}
}

@media screen and (max-width:767px) {
	.cteAra {
		padding: 30px 20px 0;
	}

	.cteLst {
		font-size: 1.5rem;
		    margin: 0 0 -8px;
	}

	.cteLst li {
		width: 100%;
		display: block;
		margin: 0;
		box-sizing: border-box;
	}

	.cteLst li:not(:last-child) {
		margin: 0 0 6px;
	}
	
	.cteLst li .minTxt {
		font-size: 1.5rem;
	}
}

/* nwiAra */
.nwiAra {
	padding: 100px 0 0;
}

.nwiSld {
	position: relative;
	display: flex;
	margin: -50px 0 0;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
	z-index: 1;
}

.nwiSld li {
	width: 33.33%;
	position: relative;
	margin: 0 5px;
	z-index: 1;
}

.nwiSld li:hover {
	opacity: 0.60;
	transition: all  0.3s ease;
	cursor: pointer;
}

.nwiSld li .itmImg {
	position: relative;
	z-index: 2;
}

.prvBtn,.nxtBtn {
	position: absolute;
	top: calc(50% - 50px);
	display: block;
	width: 45px;
	height: 100px;
	transition: all .3s ease;
	cursor: pointer;
	background: #222;
	z-index: 10;
}

.nwiSld li .itmImg img {
	width: 100%!important;
	height: auto!important;
	aspect-ratio: 1 / 1!important;
	object-fit: cover;
}

.prvBtn {
	left: 40px;
}

.nxtBtn {
	right: 40px;
}

.prvBtn:before,
.nxtBtn:before {
	position: absolute;
	content: "";
	width: 18px;
	height: 18px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
}

.prvBtn:before {
	left: 10px;
	transform: rotate(-135deg);
}

.nxtBtn:before {
	right: 10px;
	transform: rotate(45deg);
}

.prvBtn:hover,
.nxtBtn:hover {
	background: #008ab7;
	transition: all  0.3s ease;
}

.nwiItmCntBox {
	position: absolute;
	bottom: 110px;
	left: 20px;
	display: flex;
	align-items: center;
	margin: 0 20px 0 0;
	padding: 7px;
	background: rgba(255,255,255,0.9);
	z-index: 3;
}

.itmNme {
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 1.6;
}

.nwiItmCntBox .itmNme {
	margin: 0 15px 0 5px;
}

.itmPrc {
	text-align: center;
	display: inline-block;
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 2;
	color: #fff;
	white-space: nowrap;
	box-sizing: border-box;
	padding: 3px 7px;
	background: #008ab7;
}

.itmPrcTyp {
	display: inline-block;
	font-size: 0.9rem;
	color: #008ab7!important;
	line-height: 1;
	margin: 0 0 0 7px;
	padding: 4px 5px;
	background: #fff;
	border-radius: 3px;
}

@media screen and (max-width:1300px) {
	.nwiSld {
		margin: -20px 0 0;
	}
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.nwiAra {
		padding: 80px 0 0;
	}
	
	.prvBtn {
		left: 30px;
	}

	.nxtBtn {
		right: 30px;
	}

	.nwiItmCntBox {
		bottom: 100px;
	}
}

@media screen and (max-width:767px) {
	.nwiAra {
		padding: 40px 0 0;
	}
	
	.nwiSld {
		margin: -10px 0 0;
	}
	
	.nwiSld li {
		margin: 0;
	}

	.prvBtn,.nxtBtn {
		top: calc(50% - 30px);
		width: 30px;
		height: 60px;
	}

	.prvBtn {
		left: 20px;
	}

	.nxtBtn {
		right: 20px;
	}

	.prvBtn:before,
	.nxtBtn:before {
		width: 12px;
		height: 12px;
		border-right: 2px solid #fff;
		border-top: 2px solid #fff;
	}
	
	.nwiItmCntBox {
		width: calc(100% - 40px);
		bottom: 50px;
		justify-content: space-between;
		box-sizing: border-box;
	}
	
	.nwiItmCntBox .itmNme {
		margin: 0 10px 0 5px;
	}
	
	.itmPrc {
		font-size: 1.2rem;
		padding: 2px 7px;
	}

	.itmPrcTyp {
		margin: 0 0 0 7px;
		padding: 3px 4px;
		border-radius: 2px;
	}
}

/* puiAra */
.puiBox {
	display: flex;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
}

.puiImgBox {
	width: calc(50% - 50px);
	margin: 0 50px 0 0;
	background: url(../images/bg_pickup.jpg) top no-repeat;
	background-size: cover;
}

.puiCntBox {
	width: calc(50% - 100px);
	padding: 100px 100px 150px 0;
}

.puiCntBox .cntMinTtl {
	text-align: right;
	max-width: 800px;
}

.puiLst {
	max-width: 820px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -40px;
}

.puiLst li {
	width: calc(50% - 20px);
	position: relative;
	margin: 0 10px 40px;
	padding: 0 0 50px;
}

.puiLst li:hover {
	opacity: 0.60;
	transition: all  0.3s ease;
	cursor: pointer;
}

.puiLst .itmImg {
	margin: 0 0 20px;
}

.puiLst .itmImg img {
	width: 100%!important;
	height: auto!important;
	aspect-ratio: 1 / 1!important;
	object-fit: cover;
}

.puiLst .itmPrc {
	position: absolute;
	bottom: 0;
	right: 0;
}

.modal {
  padding: 200px 0;
}

.inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

/* modal */
.modal__wrapper {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50000;
	width: 100%;
	height: 100%;
}

.modal__layer {
	height: 100%;
	background: rgba(0, 0, 0,0.6);
	cursor: pointer;
}

.modal__container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(calc(100% - 120px), 1200px);
	max-height: calc(100vh - 80px);
	height: auto;
	padding: 10px 30px 40px;
	background: #fff;
	overflow-y: scroll;
	transition: all  0.3s ease;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
}

.modal__inner {
	height: 100%;
	display: flex;
	align-items: center;
	position: relative;
	padding: 0;
}

.modal__flag {
	font-family: "Oswald", sans-serif;
	font-size:2.4rem;
	padding-bottom: 10px;
}

.modal__close {
	position: absolute;
	top: 0;
	right: 0;
	width: 44px;
	height: 44px;
	background: #008ab7;
	cursor: pointer;
	transition: opacity .6s;
}

.modal__close:hover {
	opacity: .6;
}

.modal__close:before,
.modal__close:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 1px;
	background: #fff;
	content: '';
}

.modal__close:before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.mdlItmBox {
	display: flex;
	width: 100%;
}

.mdlItmImgBox {
	max-width: 530px;
	width: 100%;
	margin: 0 20px 0 0;
}

.mdlItmImg {
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
	z-index: 1;
}

.mdlItmImg:before {
	/*
	display: block;
	content: "";
	padding-top: 70%;
	*/
}

.mdlItmImg img {
	/*
	position: absolute;
	top: 0;
	left: 0;
	*/
	width: 100%;
	height: auto;
	/*
	height: 100%;
	object-fit: cover;
	*/
}

.mdlItmCntBox {
	width: calc(100% - 550px);
}

.mdlItmNme {
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 1.6;
	padding: 7px;
	color: #fff;
	background: #008ab7;
}

.mdlItmTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 0 0 20px;
}

.mdlItmCtgBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(255,255,255,0.9);
}

.itmCtgTxt {
	text-align: right; 
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 0 15px 0 0;
}

.mdlItmNav {
}

.mdlItmNav li {
	width: 100%;
}

.mdlItmNav li.btn a {
	display: block;
	padding: 30px 50px 30px 50px;
	background: url(../images/arw_rt.png) right 15px center no-repeat #008ab7;
	background-size: auto;
	background-size: 35px auto;
	border: solid 1px #008ab7;
	background-size: auto;
	background-size: 35px auto;
	border: solid 1px #008ab7;
	transition: all 0.3s ease;
	font-size: 1.5rem;  
	text-align: center;
	font-weight: 700;
	color: #fff!important;
	line-height: 1;
}

.mdlItmNav li.btn a:hover {
	background-color: #5b5754;
	border: solid 1px #008ab7;
}

.mdlItmNav li.tel a {
	background: #fff;
	padding: 10px;
	display: flex;
	align-items: center;
}

.mdlItmNav li.tel a .telBtn {
	margin: 0 auto;
}

.mdlItmMsg {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	color: #008ab7;
	margin-top: 25px;
	margin-bottom: 10px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.puiImgBox {
		width: calc(30% - 30px);
		margin: 0 30px 0 0;
	}

	.puiCntBox {
		width: calc(70% - 30px);
		padding: 50px 30px 50px 0;
	}
	
	/* modal */
	.modal__container {
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}
	
	.modal__close {
		width: 40px;
		height: 40px;
	}

	.mdlItmImgBox {
		max-width: 380px;
		margin: 0 20px 0 0;
	}

	.mdlItmImg:before {
		padding-top: 70%;
	}

	.mdlItmCntBox {
		width: calc(100% - 400px);
	}

	.mdlItmTxt {
		margin: 0 0 20px;
	}
	
	.mdlItmNav li.btn a {
		font-size: 1.4rem;	
		background-color: #008ab7!important;
	}
}

@media screen and (max-width:767px) {
	.puiBox {
		display: block;
		padding: 30px 20px;
	}

	.puiImgBox {
		display: none;
	}

	.puiCntBox {
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}

	.puiCntBox .cntMinTtl {
		text-align: center;
	}

	.puiLst {
		max-width: calc(100% + 20px);
		margin: 0 -10px -30px;
		box-sizing: border-box;
	}

	.puiLst li {
		width: calc(50% - 20px);
		position: relative;
		margin: 0 10px 30px;
		padding: 0;
	}

	.puiLst .itmImg {
		margin: 0 0 20px;
	}

	.puiLst .itmPrc {
		position: relative;
		bottom: auto;
		right: auto;
		margin: 15px 0 0;
	}
	
	/* modal */
	.modal__container {
		width: min(calc(100% - 30px), 600px);
		max-height: 90vh;
		padding: 10px 15px 30px;
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}
	
	.modal__flag {
		font-size:1.8rem;
	}
	
	.modal__inner {
		align-items: flex-start;
	}

	.modal__close {
		width: 40px;
		height: 40px;
	}
	
	.mdlItmBox {
		display: block;
	}
	
	.mdlItmImgBox {
		max-width: 100%;
		margin: 0 0 15px;
	}

	.mdlItmImg:before {
		padding-top: 70%;
	}

	.mdlItmCntBox {
		width: 100%;
	}

	.mdlItmTxt {
		margin: 0 0 15px;
	}
	

	.mdlItmNav li.tel a .telBtn br {
		display: none!important;
	}

	.mdlItmNav li.tel a .telBtn .minTxt {
		display: block!important;
		margin:0!important;
	}
	.mdlItmNav li.btn a {
		font-size: 1.3rem;	
padding: 20px 40px;
    background: url(../images/arw_rt.png) right 10px center no-repeat;
    background-size: auto;
    background-size: 30px auto;
		background-color: #008ab7!important;
	}
	
}

/* cntVidAra */
.cntVidAra {
	width: 100%;
	height: 750px;
	position: relative;
	padding: 0 30px;
	box-sizing: border-box;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
	z-index: 1;
}

.cntVidAra video {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 2;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.cntVidAra {
		height: 500px;
	}
}

@media screen and (max-width:767px) {
	.cntVidAra {
		height: 250px;
	}
}

/* tpcAra */
.tpcAra {
	padding: 100px 30px 0;
}

.tpcLst {
	border-top: solid 1px #d6d6d6;
}

.tpcLst li {
	display: flex;
	align-items: center;
	padding: 10px;
	border-bottom: solid 1px #d6d6d6;
}

.tpcCntBox {
	width: 90px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 30px 0 0;
}

.tpcImg {
	max-width: 80px;
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
	z-index: 1;
}

.tpcImg:before {
	display: block;
	content: "";
	padding-top: 100%;
}

.tpcImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tpcDta {
	text-align: center;
	display: inline-block;
	font-weight: 400;
	font-family: "Oswald", sans-serif;
	font-size: 1.2rem;
	line-height: 1;
 	padding: 5px 10px;
	background: #e4e2b6;
}

.tpcTxt {
	width: calc(100% - 120px);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.6;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.tpcAra {
		padding: 80px 30px 0;
	}

	.tpcCntBox {
		width: 170px;
		margin: 0 20px 0 0;
	}

	.tpcImg {
		max-width: 70px;
	}

	.tpcDta {
		padding: 5px 10px;
	}

	.tpcTxt {
		width: calc(100% - 190px);
		font-size: 1.5rem;
	}
}

@media screen and (max-width:767px) {
	.tpcAra {
		padding: 30px 20px 0;
	}
	
	.tpcLst li {
		padding: 10px 0;
		display: block;
	}
	
	.tpcCntBox {
		width: auto;
		display: block;
		margin: 0 20px 0 0;
	}

	.tpcImg {
		width: 80px;
	}

	.tpcDta {
		width: 80px;
		margin: 0 0 5px;
		padding: 5px;
		box-sizing: border-box;
	}

	.tpcTxt {
		width: 100%;
		display: block;
		font-size: 1.5rem;
	}
}

/* uspAra */
.uspAra {
	padding: 100px 0 0;
}

.uspBox {
	display: flex;
	margin: -50px 0 0;
	background: #e4e2b6;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
}

.uspImgBox {
	order: 1;
	width: 58%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.uspImgInr {
	padding: 120px 50px;
}

.uspImgTtl {
	text-align: center;
	font-weight: 700;
	font-size: 2.3rem;
	line-height: 1.6;
	margin: 0 0 30px;
}

.uspImgLst {
	width: 500px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto -15px;
}

.uspImgLst li {
	width: calc(25% - 15px);
	margin: 0 7.5px 15px;
	box-sizing: border-box;
	border: solid 1px #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
}

.uspLstImg {
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
}

.uspLstImg:before {
	display: block;
	content: "";
	padding-top: 100%;
}

.uspLstImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.uspLstImg:hover {
	opacity: 0.60;
	transition: all  0.3s ease;
	cursor: pointer;
}

.uspCntBox {
	order: 2;
	width: 42%;
	background: #f9f8ed;
}

.tab__contents {
	display: none;
	-webkit-transition: all ease-out 0.3s;
	transition: all ease-out 0.3s;
}

.tab__active {
	display: block;
}

.uspCntImg {
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
	z-index: 1;
}

.uspCntImg:before {
	display: block;
	content: "";
	padding-top: 100%;
}

.uspCntImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.uspCntInr {
	padding: 30px 50px 130px;
}

.uspCntInfBox {
	display: flex;
	margin: 0 0 30px;
}

.uspCntUsrNme {
	text-align: center;
	width: 140px;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.3;
	padding: 10px 5px;
	box-sizing: border-box;
	background: #e4e2b6;
}

.uspCntItmNme {
	width: calc(100% - 140px);
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.3;
	padding: 10px 15px;
	box-sizing: border-box;
	background: #fff;
}


@media screen and (max-width:1300px) {
	.uspBox {
		margin: -20px 0 0;
	}
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.uspAra {
		padding: 80px 0 0;
	}

	.uspImgBox {
		width: 45%;
	}

	.uspImgInr {
		padding: 80px 30px;
	}

	.uspImgTtl {
		font-size: 2rem;
		margin: 0 0 20px;
	}

	.uspImgLst {
		width: 300px;
		margin: 0 auto -10px;
	}

	.uspImgLst li {
		width: calc(25% - 10px);
		margin: 0 5px 10px;
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}

	.uspCntBox {
		width: 55%;
	}

	.uspCntInr {
		padding: 30px 30px 80px;
	}

	.uspCntInfBox {
		display: flex;
		margin: 0 0 30px;
	}

	.uspCntUsrNme {
		width: 130px;
		font-size: 1.4rem;
	}

	.uspCntItmNme {
		width: calc(100% - 130px);
	}
}

@media screen and (max-width:767px) {
	.uspAra {
		padding: 0px 0 0;
	}
	
	.uspBox {
		margin: -10px 0 0px;
		flex-wrap:wrap;
	}
	
	.uspImgBox {
		width: 100%;
		order: 1;
		padding: 20px 0 0px;
		margin-bottom: -20px;
	}

	.uspImgInr {
		padding: 30px 20px 50px;
	}

	.uspImgTtl {
		font-size: 1.6rem;
		margin: 0 0 15px;
	}

	.uspImgLst {
		width: 280px;
		margin: 0 auto -10px;
	}

	.uspImgLst li {
		width: calc(25% - 10px);
		margin: 0 5px 10px;
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}

	.uspCntBox {
		width: 100%;
		padding: 0px 0 0;
		order: 2;
	}

	.uspCntInr {
		padding: 20px 20px 30px;
	}

	.uspCntInfBox {
		display: block;
		margin: 0 0 15px;
	}

	.uspCntUsrNme {
		width: 100%;
		font-size: 1.4rem;
		padding: 5px;
	}

	.uspCntItmNme {
		width: 100%;
		padding: 10px;
	}
}

/* pntAra */
.pntAra {
	padding: 100px 30px;
}

.pntWrp {
	max-width: 1200px;
	margin: 0 auto;
}

.pntTtlBox {
	text-align: center;
	margin: 0 0 50px;
}

.pntTtlNme {
	font-weight: 700;
	font-size: 2rem;
	line-height: 0.8;
	margin: 0 0 15px;
}

.pntTtlNme img {
	max-width: 170px;
	margin: 0 10px 0 0;
}

.icnTtl {
	display: inline-block;
	position: relative;
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.3;
	padding: 0 0 0 65px;
}

.icnTtl:before {
	content: "";
	position: absolute;
	top: calc(50% - 24px);
	left: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
}

.pntTtl:before {
	background: url(../images/icn_chair_wt.png) center no-repeat #008ab7;
	background-size: 30px auto;
}

.insTtl:before {
	background: url(../images/icn_instagram_wt.png) center no-repeat #008ab7;
	background-size: 30px auto;
}

.frmTtl:before {
	background: url(../images/icn_mail_wt.png) center no-repeat #008ab7;
	background-size: 30px auto;
}

.pntLst li:not(:last-child) {
	margin: 0 0 100px;
}

.pntLst li {
	display: flex;
	align-items: center;
}

.pntLstImgBox {
	order: 2;
	max-width: 520px;
	margin: 0 0 0 100px;
}

.pntLstCntBox {
	order: 1;
	width: calc(100% - 620px);
}

.pntLst li:nth-child(even) .pntLstImgBox {
	order: 1;
	margin: 0 100px 0 0;
}

.pntLst li:nth-child(even) .pntLstCntBox {
	order: 2;
}

.pntLstNbrBox {
	margin: 0 0 40px;
}
	
.pntLstNbr {
	text-align: center;
	position: relative;
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
	padding: 10px 40px;
	background: #008ab7;
	z-index: 1;
}

.pntLstNbr:before {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 10px;
	height: 1px;
	background: #fff;
	z-index: 2;
}

.pntLstNbr:after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: -20px;
	width: 20px;
	height: 1px;
	background: #008ab7;
	z-index: 2;
}

.pntLstTtl {
	font-weight: 500;
	font-size: 2.3rem;
	line-height: 1.5;
	margin: 0 0 60px;
}

.pntTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.7;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.pntAra {
		padding: 80px 30px;
	}

	.pntTtlBox {
		margin: 0 0 40px;
	}

	.pntTtlNme {
		font-size: 1.8rem;
		margin: 0 0 10px;
	}

	.pntTtlNme img {
		max-width: 150px;
	}

	.icnTtl {
		font-size: 3.6rem;
		padding: 0 0 0 55px;
	}

	.icnTtl:before {
		top: calc(50% - 22px);
		width: 44px;
		height: 44px;
	}

	.pntTtl:before {
		background-size: 25px auto;
	}

	.insTtl:before {
		background-size: 25px auto;
	}

	.frmTtl:before {
		background-size: 25px auto;
	}

	.pntLst li:not(:last-child) {
		margin: 0 0 80px;
	}

	.pntLstImgBox {
		max-width: 400px;
		margin: 0 0 0 50px;
	}

	.pntLstCntBox {
		width: calc(100% - 450px);
	}

	.pntLst li:nth-child(even) .pntLstImgBox {
		margin: 0 50px 0 0;
	}
	
	.pntLstNbrBox {
		margin: 0 0 30px;
	}
	
	.pntLstNbr {
		padding: 8px 30px;
	}

	.pntLstNbr:after {
		right: -15px;
		width: 15px;
	}

	.pntLstTtl {
		font-size: 2rem;
		margin: 0 0 40px;
	}
}

@media screen and (max-width:767px) {
	.pntAra {
		padding: 30px 20px;
	}

	.pntTtlBox {
		margin: 0 0 20px;
	}

	.pntTtlNme {
		font-size: 1.4rem;
		line-height: 1.1;
		margin: 0 0 10px;
	}

	.pntTtlNme img {
		max-width: 130px;
		margin: 0;
	}

	.icnTtl {
		font-size: 2rem;
		letter-spacing: -0.005em;
		padding: 0 0 0 35px;
	}

	.icnTtl:before {
		top: calc(50% - 15px);
		width: 30px;
		height: 30px;
	}

	.pntTtl:before {
		background-size: 15px auto;
	}

	.insTtl:before {
		background-size: 15px auto;
	}

	.frmTtl:before {
		background-size: 15px auto;
	}
	
	.pntLst li {
		display: block;
	}
	
	.pntLst li:not(:last-child) {
		margin: 0 0 40px;
	}

	.pntLstImgBox {
		max-width: 100%;
		margin: 0 0 20px;
	}

	.pntLstCntBox {
		width: 100%;
	}

	.pntLst li:nth-child(even) .pntLstImgBox {
		margin: 0 0 20px;
	}
	
	.pntLstNbrBox {
		text-align: center;
		margin: 0 0 20px;
	}

	.pntLstNbr {
		padding: 8px 30px;
	}

	.pntLstNbr:after {
		right: -15px;
		width: 15px;
	}

	.pntLstTtl {
		font-size: 1.6rem;
		margin: 0 0 20px;
	}
	
	.pntLstTtl br {
		display: none;
	}
}

/* metAra */
.metAra {
	padding: 150px 30px 200px;
	background: url(../images/bg_meeting.jpg) center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
}

.metBox {
	display: flex;
}

.metImgBox {
	width: 50%;
	display: flex;
	align-items: center;
	padding: 0 50px 0 0;
	box-sizing: border-box;
}

.metImg {
	max-width: 500px;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
}

.metCntBox {
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
}

.metTtlBox {
	text-align: right;
	color: #fff;
	margin: 0 0 40px;
}

.metTtl {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1;
	margin: 0 0 20px;
}

.metTtlEn {
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 9rem;
	line-height: 1.1;
	letter-spacing: -0.005em;
}

.metBtnBox {
	display: flex;
	justify-content: flex-end;
}

.metBtn {
	text-align: center;
	max-width: 380px;
	width: 100%;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
}

.metBtn a {
	display: block;
	padding: 30px 50px;
	background: url(../images/arw_rt.png) right 15px center no-repeat;
	background-size: 35px auto;
	border: solid 1px #fff;
}

.metBtn a:hover {
	background: url(../images/arw_rt.png) right 15px center no-repeat #008ab7;
	background-size: 35px auto;
	border: solid 1px #008ab7;
	transition: all  0.3s ease;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.metAra {
		padding: 100px 30px 130px;
	}

	.metImgBox {
		width: 45%;
		padding: 0 20px 0 0;
	}

	.metImg {
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}

	.metCntBox {
		width: 55%;
	}

	.metTtlBox {
		margin: 0 0 30px;
	}

	.metTtl {
		font-size: 1.7rem;
		margin: 0 0 15px;
	}

	.metTtlEn {
		font-size: 7rem;
	}

	.metBtn {
		max-width: 280px;
	}

	.metBtn a {
		padding: 25px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat;
		background-size: 30px auto;
	}

	.metBtn a:hover {
		background: url(../images/arw_rt.png) right 10px center no-repeat #008ab7;
		background-size: 30px auto;
	}
}

@media screen and (max-width:767px) {
	.metAra {
		padding: 50px 20px;
	}
	
	.metBox {
		display: block;
	}
	
	.metImgBox {
		width: 100%;
		padding: 0 0 20px;
	}

	.metImg {
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}

	.metCntBox {
		width: 100%;
		display: block;
	}

	.metTtlBox {
		text-align: center;
		margin: 0 0 20px;
	}

	.metTtl {
		font-size: 1.5rem;
		margin: 0 0 10px;
	}

	.metTtlEn {
		font-size: 4rem;
	}

	.metBtn {
		max-width: 100%;
		font-size: 1.4rem;
	}

	.metBtn a {
		padding: 20px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat;
		background-size: 30px auto;
	}

	.metBtn a:hover {
		background: url(../images/arw_rt.png) right 10px center no-repeat #008ab7;
		background-size: 30px auto;
	}
}

/* insAra */
.insAra {
	min-height: 700px;
	padding: 100px 30px 0;
	background: url(../images/bg_instagram.jpg) right calc(50% - 700px) top 0 no-repeat;
	background-size: auto 100%;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
}

.insTtlBox {
	text-align: center;
	margin: 0 0 50px;
}

.insCapTxt {
	text-align: center;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.6;
	padding: 30px 50px 75px;
	background: #e4e2b6;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.insAra {
		min-height: 500px;
		padding: 80px 30px 0;
		background: url(../images/bg_instagram.jpg) right calc(50% - 550px) top 0 no-repeat;
		background-size: auto 100%;
	}

	.insTtlBox {
		margin: 20px 0 40px;
	}

	.insCapTxt {
		font-size: 1.8rem;
		padding: 30px 40px 75px;
	}
}

@media screen and (max-width:767px) {
	.insAra {
		min-height: auto;
		padding: 40px 20px;
		background: url(../images/bg_instagram.jpg) right calc(50% - 380px) top 0 no-repeat;
		background-size: auto 100%;
	}

	.insTtlBox {
		margin: 10px 0 30px;
	}

	.insCapTxt {
		font-size: 1.6rem;
		padding: 25px 30px 40px;
	}
}

/* qesAra */
.faqAra {
	padding: 100px 30px;
}

.faqLst {
	border-top: solid 1px #d6d6d6;
}

.faqLst dt {
	overflow: hidden;
	transition: all  0.5s ease;
	cursor: pointer;
	border-bottom: solid 1px #d6d6d6;
	z-index: 1;
}

.faqLst dt:hover {
	opacity: 0.60;
	transition: all  0.3s ease;
}

.qesTtlBox {
	display: flex;
	position: relative;
	padding: 10px;
}

.qesIcnBox {
	margin: 0 20px 0 0;
}

.qesIcn {
	text-align: center;
	width: 40px;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 1;
	color: #fff;
	padding: 5px 0 10px;
	box-sizing: border-box;
	background: #008ab7;
}

.qesTtl {
	width: calc(100% - 60px);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 12px 0 0;
}

.faqLst dd {
	display: flex;
	padding: 10px;
	background: #f7f7f7;
}

.faqLst dd.opn {
	display: block;
}

.ansIcnBox {
	margin: 0 20px 0 0;
}

.ansIcn {
	text-align: center;
	width: 40px;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 1;
	color: #00a0e9;
	padding: 6px 0 9px;
	box-sizing: border-box;
	background: #fff;
	border: solid 1px #00a0e9;
}

.ansTxt {
	width: calc(100% - 60px);
	font-weight: 400;
	font-size:  1.4rem;
	line-height: 1.8;
	margin: 12px 0 0;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.faqAra {
		padding: 80px 30px;
	}
	
	.qesIcnBox {
		margin: 0 15px 0 0;
	}
	
	.qesIcn {
		width: 35px;
		font-size: 3.4rem;
	}

	.qesTtl {
		width: calc(100% - 50px);
		font-size: 1.5rem;
	}
	
	.ansIcnBox {
		margin: 0 15px 0 0;
	}
	
	.ansIcn {
		width: 35px;
		font-size: 3.4rem;
	}
	
	.ansTxt {
		width: calc(100% - 50px);
	}
}

@media screen and (max-width:767px) {
	.faqAra {
		padding: 40px 20px;
	}
	
	.qesTtlBox {
		padding: 10px 0;
	}

	.qesIcnBox {
		margin: 0 15px 0 0;
	}
	
	.qesIcn {
		width: 30px;
		font-size: 3rem;
	}

	.qesTtl {
		width: calc(100% - 45px);
		font-size: 1.5rem;
		margin: 0;
	}
	
	.ansIcnBox {
		margin: 0 15px 0 0;
	}
	
	.ansIcn {
		width: 30px;
		font-size: 3rem;
	}
	
	.ansTxt {
		width: calc(100% - 45px);
		margin: 0;
	}
}

/* brdAra */
.brdAra {
	padding: 70px 30px 150px;
	background: #e4e2b6;
}

.brdWrp {
	max-width: 1000px;
	display: flex;
	margin: 0 auto;
}

.brdTtlBox {
	width: calc(100% - 750px);
}

.brdTtl {
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	font-size: 5rem;
	line-height: 1;
	letter-spacing: -0.005em;
	margin: 0 0 20px;
}

.brdTtlTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.6;
}

.brdCntBox {
	max-width: 720px;
	margin: 0 0 0 30px;
}

.brdLst {
	display: flex;
	flex-wrap: wrap;
}

.brdLst li {
	text-align: center;
	width: calc(33.33% - 1px);
	margin: 0 0 1px 1px;
	padding: 5px;
	box-sizing: border-box;
	background: #fff;
}

.brdLst li img {
	max-width: 200px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.brdAra {
		padding: 40px 30px 100px;
	}

	.brdWrp {
		display: block;
	}

	.brdTtlBox {
		text-align: center;
		width: 100%;
		margin: 0 0 30px;
	}

	.brdTtl {
		font-size: 5rem;
		margin: 0 0 15px;
	}

	.brdCntBox {
		max-width: 100%;
		margin: 0;
	}
}

@media screen and (max-width:767px) {
	.brdAra {
		padding: 30px 20px 60px;
	}

	.brdWrp {
		display: block;
	}

	.brdTtlBox {
		text-align: center;
		width: 100%;
		margin: 0 0 15px;
	}

	.brdTtl {
		font-size: 4rem;
		margin: 0 0 5px;
	}

	.brdCntBox {
		max-width: 100%;
		margin: 0;
	}
	
	.brdLst li {
		width: calc(50% - 1px);
		margin: 0 0 1px 1px;
		padding: 15px 5px;
	}
}

/* infAra */
.infBox {
	position: relative;
	display: flex;
	margin: -100px 0 0;
	clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
	z-index: 2;
}

.infImgBox {
	order: 2;
	width: 50%;
	background: url(../images/bg_info.jpg) center no-repeat;
	background-size: cover;
}

.infCntBox {
	order: 1;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #5b5754;
}

.infCntInr {
	max-width: 600px;
	width: 100%;
	color: #fff;
	padding: 150px 50px 100px;
}

.infTtlCtr {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin: 0 0 30px;
}

.infTtlBox {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.3;
}

.infTtl {
	max-width: 330px;
	margin: 0 0 20px;
}

.infNme {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.3;
}

.infSnsLst {
	display: flex;
	align-items: center;
}

.infSnsLst li {
	margin: 0 0 0 15px;
}

.infSnsLst img {
	max-width: 30px;
}

.infLst {
	padding: 0 20px;
}

.infLst li {
	display: flex;
	align-items: center;
	padding: 25px 0;
}

.infLst li:not(:last-child) {
	border-bottom: solid 1px rgba(255,255,255,0.3);
}

.infLstTtl {
	width: 160px;
	margin: 0 20px 0 0;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.6;
	padding: 0 0 0 30px;
}

.infLst li:nth-child(1) .infLstTtl {
	background: url(../images/icn_address_gr.png) left no-repeat;
	background-size: 20px auto;
}

.infLst li:nth-child(2) .infLstTtl {
	background: url(../images/icn_traffic_gr.png) left no-repeat;
	background-size: 20px auto;
}

.infLst li:nth-child(3) .infLstTtl {
	background: url(../images/icn_mail_gr.png) left no-repeat;
	background-size: 20px auto;
}

.infLst li:nth-child(4) .infLstTtl {
	background: url(../images/icn_tel_gr.png) left no-repeat;
	background-size: 20px auto;
}

.infLst li:nth-child(5) .infLstTtl {
	background: url(../images/icn_time_gr.png) left no-repeat;
	background-size: 20px auto;
}

.infLstTxt {
	width: calc(100% - 180px);
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.6;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.infBox {
		margin: -50px 0 0;
	}
	
	.infImgBox {
		width: 45%;
	}
	
	.infCntBox {
		width: 55%;
	}

	.infCntInr {
		padding: 100px 30px 50px;
	}

	.infTtlCtr {
		margin: 0 0 20px;
	}

	.infTtlBox {
		font-size: 1.8rem;
	}

	.infTtl {
		max-width: 260px;
		margin: 0 0 15px;
	}
	
	.infNme {
		font-size: 2rem;
	}
	
	.infSnsLst img {
		max-width: 25px;
	}

	.infLst {
		padding: 0;
	}

	.infLst li {
		padding: 20px 0;
	}

	.infLstTtl {
		width: 120px;
		font-size: 1.4rem;
		margin: 0 10px 0 0;
	}

	.infLstTxt {
		width: calc(100% - 130px);
	}
}

@media screen and (max-width:767px) {
	.infBox {
		display: block;
		margin: -40px 0 0;
	}
	
	.infCntBox {
		width: 100%;
	}

	.infCntInr {
		max-width: 1000px;
		padding: 30px 20px 25px;
	}

	.infTtlCtr {
		display: block;
		margin: 0 0 5px;
	}
	
	.infTtlBox {
		text-align: center;
		font-size: 1.8rem;
		margin: 0 0 20px;
	}
	
	.infTtl {
		max-width: 240px;
		margin: 0 auto 10px;
	}
	
	.infNme {
		font-size: 1.6rem;
	}
	
	.infSnsLst {
		justify-content: center;
	}
	
	.infSnsLst li {
		margin: 0 7.5px;
	}
	
	.infSnsLst img {
		max-width: 25px;
	}

	.infLst {
		padding: 0;
	}

	.infLst li {
		display: block;
		padding: 15px 0;
	}

	.infLstTtl {
		width: 100%;
		font-size: 1.5rem;
		margin: 0 0 7px;
	}

	.infLstTxt {
		width: 100%;
	}

	.infImgBox {
		width: 100%;
		height: 200px;
	}
}

/* mapAra */
.mapAra {
	position: relative;
	width: 100%;
	height: 0;
	margin: -100px 0 0;
	padding-top: 35%;
	overflow: hidden;
	z-index: 1;
}
 
.mapAra iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	 height: calc(100% + (150px * 2));
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.mapAra {
		margin: -55px 0 0;
		padding-top: 45%;
	}
}

@media screen and (max-width:767px) {
	.mapAra {
		margin: -40px 0 0;
		padding-top: 60%;
	}
}

/*======================================================
  form
======================================================*/

.frmAra {
	padding: 100px 30px;
	background: url(../images/bg_grid.png) top,
	url(../images/bg_form.jpg) center;
	background-size: 9px auto, cover;
}

.frmWrp {
	max-width: 1000px;
	margin: 0 auto;
}

.frmTtlBox {
	text-align: center;
	color: #fff;
	margin: 0 0 40px;
}

.frmTtlTxt {
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2;
	margin: 30px 0 0;
}

.frmCapTxt {
	text-align: right;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1;
	color: #fff;
	margin: 0 0 10px;
}

.frmCapTxt .eslIcn {
	margin: 0;
}

.eslIcn {
	color: #d11b1b;
	margin: 0 0 0 10px;
}

.frmBox {
	padding: 80px 50px;
	background: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
}

.errBox {
	margin: 0 0 30px;
	padding: 15px;
	border: solid 1px #ec0000;
}

.errLst {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.3;
	color: #ec0000;
}

.errLst li:not(:last-child) {
	margin: 0 0 10px;
}

.errTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.3;
	color: #ec0000;
	margin: 5px 0 0;
}

.frmLst {
	margin: 0 0 60px;
}

.frmLst li {
	display: flex;
}

.frmLst li:not(:last-child) {
	margin: 0 0 10px;
	padding: 0 0 10px;
	border-bottom: solid  1px #d6d6d6;
}

.frmLstTtl {
	width: 180px;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.3;
	margin: 15px 20px 0 0;
}

.frmLstTxt {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.3;
	margin: 0 20px 0 10px;
}

.frmLstCntBox {	
	width: calc(100% - 200px);
}

.frmLstSlcBox {
	display: flex;
	align-items: center;
}

.frmLstSlcInr {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.frmBox01 {
	width: 80px;
	height: 50px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.3;
	color: #333;
	padding: 10px 20px;
	box-sizing: border-box;
	background: #f7f7f7;
	border: none;
}

.frmBox02 {
	width: 120px;
	height: 50px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.3;
	color: #333;
	padding: 10px 20px;
	box-sizing: border-box;
	background: #f7f7f7;
	border: none;
}

.frmBox03 {
	width: 100%;
	height: 50px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.3;
	color: #333;
	padding: 10px 20px;
	box-sizing: border-box;
	background: #f7f7f7;
	border: none;
}

.frmBox04 {
	width: 100%;
	height: 210px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #333;
	padding: 10px 20px;
	box-sizing: border-box;
	background: #f7f7f7;
	border: none;
}

input::placeholder,
textarea::placeholder {
	color: #c8c8c8;
}

.frmCntTxt {
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 0 0 20px;
}

.frmBtnBox {
	text-align: center;
}

.frmSndBtn {
	max-width: 340px;
	margin: 0 auto;
}

.frmSndBtn input {
	width: 100%;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	color: #fff;
	padding: 30px 50px;
	background: url(../images/arw_rt.png) right 15px center no-repeat #008ab7;
	background-size: 35px auto;
	border: none;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
	transition: all 0.3s ease;
	cursor: pointer;
}

.frmSndBtn input:disabled {
	background-color: #ccc;
}

.frmSndBtn input:disabled:hover {
	opacity: 1!important;
	cursor: default!important;
}

.frmBakBtn {
	margin: 20px auto 0;
	text-align: center;
}

.frmBakBtn a,
.frmBakBtn input {
	display: inline-block;
	width: 160px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	color: #fff!important;
	padding: 20px 50px;
	background: url(../images/arw_rt.png) right 15px center no-repeat #5b5754;
	background-size: 35px auto;
	border: none;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
	transition: all 0.3s ease;
	cursor: pointer;
}


.wpcf7-not-valid-tip {
	display: none;
}

.clsTtl {	
	text-align: center;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 2;
	margin-bottom: 20px;	
}

.clsTxt {
	text-align: center;
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2;
	margin-bottom: 50px;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.frmAra {
		padding: 80px 30px;
	}

	.frmTtlBox {
		margin: 0 0 30px;
	}

	.frmTtlTxt {
		margin: 20px 0 0;
	}

	.frmBox {
		padding: 60px 30px;
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}

	.frmLst {
		margin: 0 0 40px;
	}

	.frmLstTtl {
		width: 170px;
		font-size: 1.5rem;
	}

	.frmLstTxt {
		font-size: 1.5rem;
	}

	.frmLstCntBox {	
		width: calc(100% - 190px);
	}

	.frmBox01 {
		width: 70px;
		font-size: 1.5rem;
		padding: 10px 15px;
	}

	.frmBox02 {
		width: 100px;
		font-size: 1.5rem;
		padding: 10px 15px;
	}

	.frmBox03 {
		font-size: 1.5rem;
		padding: 10px 15px;
	}

	.frmBox04 {
		font-size: 1.5rem;
		padding: 10px 15px;
	}

	.frmSndBtn {
		max-width: 280px;
	}

	.frmSndBtn input {
		padding: 25px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat #008ab7;
		background-size: 30px auto;
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}

	.frmBakBtn {
		max-width: 200px;
	}

	.frmBakBtn a,
	.frmBakBtn input {
		padding: 18px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat #5b5754;
		background-size: 30px auto;
		box-shadow: 0 0 10px rgba(0,0,0,0.15);
	}
}

@media screen and (max-width:767px) {
	.frmAra {
		padding: 70px 20px 30px;
		background-size: 4.5px auto, cover;
	}

	.frmTtlBox {
		margin: 0 0 20px;
	}

	.frmTtlTxt {
		text-align: left;
		font-size: 1.4rem;
		margin: 15px 0 0;
		line-height: 1.7;
	}
	
	.frmCapTxt {
		font-size: 1rem;
	}

	.frmBox {
		padding: 15px 15px 25px;
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}

	.frmLst {
		margin: 0 0 30px;
	}
	
	.frmLst li {
		display: block;
	}
	
	.frmLst li:not(:last-child) {
		margin: 0 0 15px;
		padding: 0 0 15px;
	}

	.frmLstTtl {
		width: 100%;
		font-size: 1.5rem;
		margin: 0 0 15px;
	}

	.frmLstTxt {
		font-size: 1.5rem;
	}

	.frmLstCntBox {	
		width: 100%;
	}
		
	.frmLstSlcBox {
		display: block;
	}
	
	.frmLstSlcInr {
		margin: 0 0 10px;
	}
	
	.frmLstTxt {
		margin: 0 0 0 10px;
	}
	
	.frmBox01 {
		width: calc(100% - 20px);
		font-size: 1.5rem;
		padding: 10px;
	}

	.frmBox02 {
		width: 100%;
		font-size: 1.5rem;
		padding: 10px;
	}

	.frmBox03 {
		font-size: 1.5rem;
		padding: 10px;
	}

	.frmBox04 {
		height: 290px;
		font-size: 1.5rem;
		padding: 10px;
	}

	.frmSndBtn {
		max-width: 100%;
	}

	.frmSndBtn input {
		padding: 20px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat #008ab7;
		background-size: 30px auto;
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}

	.frmBakBtn {
		max-width: 70%;
		margin: 15px auto 0;
	}

	.frmBakBtn a,
	.frmBakBtn input {
		width: auto;
		max-width: 100%;
		box-sizing: border-box;
		padding: 16px 40px;
		background: url(../images/arw_rt.png) right 10px center no-repeat #5b5754;
		background-size: 30px auto;
		box-shadow: 0 0 8px rgba(0,0,0,0.15);
	}

	.clsTtl {	
		font-size: 1.8rem;	
		line-height: 1.5;
	}

	.clsTxt {
		margin-bottom: 30px;
		text-align: left;
	}
	
	.clsTxt br {
		display: none;
	}
	
	.thankyou {
		padding: 30px;
	}

}

/*======================================================
  footer
======================================================*/

.ptpBtn {
	text-align: center;
	position: fixed;
	bottom: 80px;
	right: 30px;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.2;
	z-index: 150;
	background: #fff;
	border-radius: 50%;
}

.ptpBtn a {
	width: 60px;
	height: 60px;
	display: block;
	padding: 13px 0 0;
	box-sizing: border-box;
	background: #008ab7;
	border-radius: 50%;
}

.ptpBtn img {
	width: 12px;
}

.ftrAra {
	height: 70px;
	padding:  0 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 60px;
	background: #333;
}

.cpyTxt {
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.3;
	color: #fff;
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.ptpBtn {
		bottom: 80px;
		right: 20px;
	}

	.ptpBtn a {
		width: 50px;
		height: 50px;
		padding: 12px 0 0;
	}

	.ptpBtn img {
		width: 10px;
	}

	.ftrAra {
		height: 60px;
		padding:  0 20px;
	}

	.cpyTxt {
		font-size: 1.1rem;
	}
}

@media screen and (max-width:767px) {
	.ptpBtn {
		bottom: 60px;
		right: 10px;
	}

	.ptpBtn a {
		width: 40px;
		height: 40px;
		padding: 10px 0 0;
	}

	.ptpBtn img {
		width: 8px;
	}

	.ftrAra {
		height: 50px;
		margin: 0 0 50px;
		padding:  0 15px;
	}

	.cpyTxt {
		font-size: 1rem;
	}
}

/* fltAra */
.fltAra {
	width: 100%;
	height: 60px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
}

.fltNav {
	height: 60px;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	overflow: hidden;
}

.fltNav li {
	text-align: center;
}

.fltNav li:nth-child(1) {
	width: 18%;
	background: #5b5754;
}

.fltNav li:nth-child(2) {
	width: 22%;
	background: #008ab7;
}

.fltNav li:nth-child(3) {
	justify-content: flex-start;
	width: 60%;
	background: #e4e2b6;
}

.fltNav li a {
	padding: 30px 10px;
	display: block;
}

.fltNav li:nth-child(3) a {
	padding: 30px;
}

.fltNav li:not(:last-child) a:link,
.fltNav li:not(:last-child) a:visited {
	color: #fff!important;
}

.fltBtn {
	text-align: left;
	position: relative;
	display: inline-block;
	padding: 0 0 0 45px;
}

.fltBtn:before {
	content: "";
	position: absolute;
	top: calc(50% - 16px);
	left: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
}

.shpBtn:before {
	background: url(../images/icn_address_bk.png) center no-repeat #fff;
	background-size: 20px auto;
}

.insBtn:before {
	background: url(../images/icn_instagram_bl.png) center no-repeat #fff;
	background-size: 20px auto;
}

.telBtn:before {
	background: url(../images/icn_tel_bk.png) center no-repeat #fff;
	background-size: 20px auto;
}

.telBtn {
	display: block;
}

.telBtn .engTxt {
	font-family: "Oswald", sans-serif;
	font-weight: 600;
	font-size: 2.8rem;
}

.telBtn .minTxt {
	font-size: 1.3rem;
	margin: 0 0 0 10px;
}

@media screen and (min-width:768px) {
	.sp_br {
		display:none;
	}
}

@media screen and (min-width:768px) and (max-width:1040px) {
	.fltNav li:nth-child(1) {
		width: 25%;
	}

	.fltNav li:nth-child(2) {
		width: 35%;
	}

	.fltNav li:nth-child(3) {
		width: 40%;
	}

	.fltNav li a {
		padding: 20px 10px;
	}
	
	.fltNav li:nth-child(3) a {
		padding: 20px;
	}
	
	.fltBtn {
		padding: 0 0 0 40px;
	}

	.fltBtn:before {
		top: calc(50% - 15px);
		width: 30px;
		height: 30px;
	}

	.shpBtn:before {
		background-size: 18px auto;
	}

	.insBtn:before {
		background-size: 18px auto;
	}

	.telBtn:before {
		background-size: 18px auto;
	}

	.telBtn .engTxt {
		font-size: 2.4rem;
		line-height: 0.8;
	}

	.telBtn .minTxt {
		font-size: 1.2rem;
		margin: 0;
	}
}

.list {
	list-style: disc;
	margin: 5px 0 5px 20px; 
}

@media screen and (max-width:767px) {
	.fltAra {
		height: 50px;
	}

	.fltNav {
		height: 50px;
		font-size: 1.2rem;
		letter-spacing: -0.002em;
		white-space: nowrap;
	}
	
	.fltNav li:nth-child(1) {
		width: 25%;
	}

	.fltNav li:nth-child(2) {
		width: 35%;
	}

	.fltNav li:nth-child(3) {
		width: 40%;
	}

	.fltNav li a {
		padding: 20px 5px;
	}
	
	.fltNav li:nth-child(3) a {
		padding: 20px 5px;
	}
	
	.fltBtn {
		padding: 0 0 0 24px;
	}

	.fltBtn:before {
		top: calc(50% - 9px);
		width: 18px;
		height: 18px;
	}

	.shpBtn:before {
		background-size: 10px auto;
	}

	.insBtn:before {
		background-size: 10px auto;
	}

	.telBtn:before {
		background-size: 10px auto;
	}
	
	.cta .telBtn:before {
		width: 20px;
		height: 20px;
		background-size: 20px auto;	
	}

	.telBtn {
		display: inline-block;
	}

	.telBtn .engTxt {
		font-size: 1.8rem;
		line-height: 0.8;
		letter-spacing: 0.01em;
	}

	.telBtn .minTxt {
		display: none;
	}
}


/*=========================================================

カテゴリ/詳細

=========================================================*/

.lwrHdrBlu {
	background: #008ab7;
}

.lwrAra {
	padding: 100px 30px;
    background-size: auto, auto;
	background-size: 9px auto, cover;
	min-height: calc(100vh - 130px);
	box-sizing: border-box;
}

.lwrWrp {
  max-width: 1000px;
  margin: 0 auto;
}

.lwrTtlBox {
  margin: 0 0 40px;
}

.lwrTtlEn {
	font-size: 10rem;
	font-family: "Oswald", sans-serif;
	text-align: center;
	line-height: 1;
	margin-bottom: 0;
	padding-bottom: 0;
}

.lwrTtlJp {
	text-align: center;
	margin-bottom: 75px;
	font-size: 3rem;
	font-weight: bold;
}

.acvAra {
	padding: 100px 30px 0;
}

.acvAra .puiLst {
	max-width: 100%;
}

.acvAra .puiLst li {
	width: calc((100% / 3) - 20px);
}

@media screen and (min-width:768px) and (max-width:1040px) {
	
	.lwrAra {
		min-height: calc(100vh - 110px);
		box-sizing: border-box;
	}
	
	.lwrTtlBox {
		margin: 0 0 30px;
	}
	
	.acvAra .puiLst li {
		width: calc((100% / 2) - 20px);
	}
	
}

@media screen and (max-width:767px) {
	
	.lwrAra {
		padding: 70px 20px 30px;
    	background-size: 4.5px auto, cover;
	}
	
	.lwrTtlBox {
		margin: 0 0 20px;
	}
	
	.lwrTtlEn {
		font-size: 6rem;
	}

	.lwrTtlJp {
		margin-bottom: 50px;
		font-size: 2rem;
	}

	.acvAra {
		padding: 50px 15px 0;
	}


	.acvAra .puiLst li {
		width: 100%;
		margin: 0 0 40px;
	}
	
}

/*=========================================================

single

=========================================================*/


/*======================================================
  detail
======================================================*/

.movieBox {
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
}
 
.movieBox iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.detailHeading {
	border-bottom: 4px solid #cecece;
	padding-bottom: 15px;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	margin-bottom: 50px;
}

.detailHeading:after {
	content: "";
	display: block;
	width: 100px;
	height: 4px;
	position: absolute;
	bottom: -4px;
	left:  0;
	background: #008ab7;
}

@media screen and (max-width: 767px) {
	.detailHeading {
		border-bottom: 3px solid #cecece;
		padding-bottom: 15px;
		font-size: 1.6rem;
		margin-bottom: 30px;
	}

	.detailHeading:after {
		height: 3px;
		bottom: -3px;
	}	
}

/*===========================================
pan 
===========================================*/

.pan {
	padding: 0 0 30px;
	display: flex;
	font-size: 1.2rem;
}

.pan li:after {
	content: "　/　";
}

.pan li:last-child:after {
	display: none;
}

.pan li:last-child {
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.pan {
		display: none;
	}
}

/*===========================================
main 
===========================================*/

.detailMain {
	margin:  0 0 30px;
	display: flex;
}

.detailMainL {
	width: 500px;
}

.detailMainL .mainImage {
	margin-bottom: 10px;
}

.detailMainL .mainImage img {
	width: 500px;
	height: 500px;
	object-fit: cover;
}

.detailMainL ul {
	display: flex;
	flex-wrap: wrap;
}

.detailMainL ul li {
	width: calc(20% - 8px);
	margin-bottom: 10px;
	margin-right: 10px;
}

.detailMainL ul li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.detailMainL ul li img:hover {
	cursor:pointer;
	opacity: 0.7;
}

.detailMainL ul li:nth-child(5n){
	margin-right: 0;
}

.detailMainR {
	width: 450px;
	margin-left: 50px;
}

.detailMainCategory {
	font-size: 1.4rem;
	font-weight: 700;	
}

.detailMainTitle {
	font-size: 2.8rem;
	font-weight: 700;	
	margin-bottom: 20px;
}

.detailMainPrice {
	margin-bottom: 30px;
	padding: 5px;
	display: inline-block;
	background: #008ab7;
	font-size: 1.4rem;
	color: #fff;
}

.detailMainPrice span {
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	padding: 0 5px 0 7px;
	color: #008ab7;
	margin-left: 5px;
}

.detailMainText {
	font-size: 1.4rem;
	margin-bottom: 30px;
}

.detailMainText p {
	margin-bottom: 20px;align-content
}

.detailMain .mdlItmMsg {
	letter-spacing: 0.05rem;
	font-size: 1.3rem;
}

.detailMain .fltBtn {
	padding-left: 35px;
}

.detailMain .engTxt {
}

.detailMain .minTxt {
	letter-spacing: 0;
}

.detailMain .mdlItmNav li.tel a {
	padding: 10px 0 0;
}

@media screen and (max-width: 1040px) {
	
	.detailMain {
		margin:  20px 0 20px;
		display: block;
	}

	.detailMainL {
		width: 100%;
		margin-bottom: 25px
	}

	.detailMainL .mainImage {
		margin-bottom: 10px;
	}

	.detailMainL .mainImage img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.detailMainR {
		width: 100%;
		margin-left: 0;
	}

	.detailMainCategory {
		font-size: 1.4rem;
		font-weight: 700;	
	}

	.detailMainTitle {
		font-size: 2.2rem;
		font-weight: 700;	
		margin-bottom: 20px;
	}

	.detailMainPrice {
		margin-bottom: 30px;
		padding: 5px;
		display: inline-block;
		background: #008ab7;
		font-size: 1.4rem;
		color: #fff;
	}

	.detailMainPrice span {
		background: #fff;
		border-radius: 5px;
		display: inline-block;
		padding: 0 5px 0 7px;
		color: #008ab7;
		margin-left: 5px;
	}

	.detailMainText {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}

	.detailMain .mdlItmMsg {
		letter-spacing: 0.05rem;
		font-size: 1.3rem;
	}

	.detailMain .fltBtn {
		padding-left: 35px;
	}

	.detailMain .engTxt {
	}

	.detailMain .minTxt {
		letter-spacing: 0;
	}

	.detailMain .mdlItmNav li.tel a {
		padding: 10px 0 0;
	}
	
}

/*===========================================
info 
===========================================*/

.detailInfo {
	margin:  0 0 60px;
}

.detailInfoOne {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
	border-bottom: 1px solid #ccc;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.detailInfoOne:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.detailInfoImage {
	width: 240px;
}

.detailInfoImage img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.detailInfoText {
	width: calc(100% - 290px);
}

.detailInfoText h3 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.detailInfoText p {
	font-size: 1.4rem;
}

.detailInfoOne:nth-child(even) .detailInfoImage {
	order: 2;
}

.detailInfoOne:nth-child(even) .detailInfoText {
	order: 1;
}

@media screen and (max-width: 767px) {
	.detailInfo {
		margin:  0 0 30px;
	}

	.detailInfoOne {
		display: flex;
		border-bottom: 1px solid #ccc;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.detailInfoOne:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}

	.detailInfoImage {
		width: 100%;
	}

	.detailInfoText {
		width: 100%;
	}

	.detailInfoText h3 {
		font-size: 1.5rem;
		font-weight: 700;
		margin-bottom: 10px;
	}

	.detailInfoText p {
		font-size: 1.3rem;
	}

	.detailInfoOne:nth-child(even) .detailInfoImage {
		order: 1;
	}

	.detailInfoOne:nth-child(even) .detailInfoText {
		order: 2;
	}	
}

/*===========================================
spec 
===========================================*/

.detailSpec {
	margin:  0 0 60px;
}

.detailSpec table {
	width: 100%;
	margin: -30px 0 -10px;
}

.detailSpec table th {
	border-bottom: 1px solid #ccc;
	padding: 15px 30px 15px 0;
	width: 0;
	white-space: nowrap;
	font-size: 1.4rem;
	font-weight: 700;
}

.detailSpec table td {
	border-bottom: 1px solid #ccc;
	padding: 15px 0 15px 0;
	font-size: 1.4rem;
}

.detailSpec table tr:last-child th,
.detailSpec table tr:last-child td {
	border-bottom: none;
	
}

@media screen and (max-width: 767px) {
	
	.detailSpec {
		margin:  0 0 30px;
	}
	
	.detailSpec table th {
		font-size: 1.3rem;
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding-bottom: 8px;
		border-bottom: 1px solid #eee;
	}

	.detailSpec table td {
		padding-top: 8px;
		font-size: 1.3rem;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}	
	.detailSpec table tr:last-child th {
		border-bottom: 1px solid #eee;

	}
}

/*===========================================
relation 
===========================================*/

.detailRelation {
	margin:  0 0 60px;
}

.detailRelation .puiLst {
	width: calc(100% + 20px);
	max-width: calc(100% + 20px);
}

.detailRelation .puiLst li {
	width: calc((100% / 3) - 20px);
}

@media screen and (min-width: 768px) and (max-width: 1040px) {
	.detailRelation .puiLst li {
		width: calc((100% / 2) - 20px);
	}
}

@media screen and (max-width: 767px) {
	
	.detailRelation {
		margin:  0 0 30px;
	}

	.detailRelation .puiLst li {
		width: 100%;
	}
	
}

/*===========================================
category 
===========================================*/

.detailCategory {
	margin:  0 0 60px;
}

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

	.detailCategory {
		margin:  0;
	}	
}

/*===========================================
cta
===========================================*/

.detailCta {
	margin: 0 0 60px;
}

.detailBtn {
	margin-top: 30px;
	text-align: center;
	border-bottom: 1px solid #d6d6d6;
	padding-bottom: 30px;
}

.detailBtn a {
	display: inline-block;
	padding: 10px 60px;
	background: url(../images/arw_rt.png) right 15px center no-repeat #fff;
	background-size: auto;
	background-size: auto;
	background-size: 35px auto;
	border: solid 1px #008ab7;
	background-size: auto;
	background-size: 35px auto;
	border: solid 1px #008ab7;
	transition: all 0.3s ease;
	font-size: 1.5rem;
	text-align: center;
	font-weight: 700;
	color: #008ab7!important
	line-height: 1;
}

.detailBtn a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.detailCta {
		margin: 0 0 30px;
	}	
	.detailBtn {
		margin-top: 20px;
		padding-bottom: 20px;
	}

	.detailBtn a {
		display: inline-block;
		padding: 10px 45px;
		font-size: 1.4rem;
	}
}

/*=========================================================

TB

=========================================================*/

@media screen and (min-width:768px) and (max-width:1040px) {

	.pc   { display: none!important;}
	.pcsp { display: none!important;}
	.sp   { display: none!important;}
	
	.pctb { display: block!important;}
	.tb   { display: block!important;}
	.tbsp { display: block!important;}

}

/*=========================================================

SP

=========================================================*/

@media screen and (max-width:767px) {
	
	.pc   { display: none!important;}
	.tb   { display: none!important;}
	.pctb { display: none!important;}
	
	.pcsp { display: block!important;}
	.tbsp { display: block!important;}   
	.sp   { display: block!important;}
	
	.opacity a:active {
		opacity: 0.50;
		filter: alpha(opacity=50);
		-ms-filter: "alpha(opacity=50)";
		-moz-opacity: 0.50;
		-khtml-opacity: 0.50;
		-webkit-transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
		-o-transition: all 0.2s ease;
		transition: all  0.2s ease;
		text-decoration: none!important;
	}
	
	a[href^="tel:"] {
		pointer-events: auto!important;
	}
	
	input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea, select {
		-webkit-appearance: none;
		border-radius: 0;
	}

}



/*=========================================================

05.ページナビ

=========================================================*/

.wp-pagenavi {
	margin: 80px auto 0;
	font-size: 14px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
}
.wp-pagenavi a {
    color: #333;
}
.wp-pagenavi a:hover {
	color: #008ab7;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page {
	margin: 0 10px;
	line-height: 2;
	padding: 0 12px;
	transition: .03s;
	display: block;
	border-bottom: 4px solid transparent;
}
.wp-pagenavi span.current {
	border-bottom: 4px solid #008ab7;
}
.wp-pagenavi a.page {
	background: none;
}
.wp-pagenavi a.page:hover {
	border-bottom: 4px solid #008ab7;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
	margin-right: 15px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	display: none;
}

@media screen and (max-width:767px) {
	.wp-pagenavi {
		margin: 40px auto 40px;
		font-size: 12px;
	}	
	.wp-pagenavi span.current,
	.wp-pagenavi a.page {
		margin: 0 7px;
		padding: 0 10px;
	}
}