@charset "utf-8";

img {
	-webkit-backface-visibility: hidden;
}
main {
    display: block;
}
.fax a{
	pointer-events: none;
    text-decoration: none;
}
.wpcf7-list-item {
	display: inline-block;
	white-space: nowrap;
}

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
.sp {
	display: none;
}
a img {
  transition: 0.5s;
}
a img:hover {
  opacity: 0.6;
}





header {
	position: fixed;
	left: 0px;
	right: 0px;
	top: 0px;
	width: 100%;
	background-color: #fff;
	height: 85px;
	z-index: 99999;
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	min-width: 1150px;
}
header .inner h1,
header .inner .logo
{
}
header .inner nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .inner nav ul {
	display: flex;
}
header .inner nav ul li {
	margin-right: 25px;
}
header .inner nav ul li a {
	color: #2e2e2e;
	text-decoration: none;
	display: block;
	line-height: 75px;
	transition: 0.3s;
}
header .inner nav ul li a:hover {
	color: #CFC37E;
	transition: 0.3s;
}
header .inner nav p a {
	display: block;
	font-size: 20px;
	text-decoration: none;
	background-color: #CFC37E;
	width: 190px;
	padding-left: 10px;
	height: 45px;
	color: #000;
	border-radius: 100px;
	padding-top: 2px;
	background-image: url("../images/pc/icon_tel.png");
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: left 15px center;
	transition: 0.3s;
}
header .inner nav p a span {
	font-size: 12px;
	display: block;
	position: relative;
	left: 7px;
	top: -5px;
}
header .inner nav p a:hover {
	opacity: 0.7;
	transition: 0.3s;
}





main {
	padding-top: 85px;
	min-width: 1150px;
}
h1.ttl {
	height: 250px;
	line-height: 250px;
	background-color: #CFC37E;
	font-size: 26px;
}
h1.ttl span {
	width: 74%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.topicpath {
	width: 74%;
	text-align: right;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	margin-top: 25px;
	margin-bottom: 60px;
}
.topicpath a {
	color: #000;
	text-decoration: none;
}
.topicpath span {
	color: #b09a00;
	font-size: 14px;
}






footer {
	margin-top: 150px;
}
footer .contact {
	background-image: url("../images/pc/contact_bg.png");
	height: 440px;
	margin-top: 100px;
	position: relative;
}
footer .contact .box {
	width: 800px;
	height: 266px;
	background-color: #fff;
	margin: auto;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	border-radius: 20px;
}
footer .contact .box h2 {
	font-size: 29px;
	padding-top: 45px;
}
footer .contact .box h2+p {
	font-size: 17px;
	margin-top: 20px;
	margin-bottom: 25px;
}
footer .contact .box ul {
	display: flex;
	justify-content: space-between;
	width: 660px;
	margin-left: auto;
	margin-right: auto;
}
footer .contact .box ul li a {
	display: block;
	background-color: #CFC37E;
	width: 310px;
	color: #000;
	text-decoration: none;
	border-radius: 100px;
	transition: 0.3s;
}
footer .contact .box ul li a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
footer .contact .box ul li.mail a {
	font-size: 20px;
	height: 74px;
	line-height: 74px;
}
footer .contact .box ul li.tel a {
	display: block;
	font-size: 30px;
	text-decoration: none;
	background-color: #CFC37E;
	width: 300px;
	padding-left: 10px;
	color: #000;
	padding-top: 2px;
	background-image: url("../images/pc/icon_tel.png");
	background-size: 30px;
	background-repeat: no-repeat;
	background-position: left 25px center;
	transition: 0.3s;
	padding-top: 12px;
	padding-bottom: 12px;
}
footer .contact .box ul li.tel a span {
	font-size: 17px;
	display: block;
	position: relative;
	left: 7px;
	margin-top: 1px;
	color: #2e2e2e;
}
footer .content {
	background-color: #000;
	padding-top: 35px;
}
footer .content .inner {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .content .inner div:first-child {
	color: #fff;
	text-align: left;
	position: relative;
}
footer .content .inner div:first-child h2 {
	margin-bottom: 15px;
}
footer .content .inner div:first-child .icon {
	position: absolute;
	top: 2px;
	right: -5px;
}
footer .content .inner div:last-child {
	text-align: right;
	color: #fff;
}
footer .content .inner div:last-child nav ul {
	display: flex;
}
footer .content .inner div:last-child nav li+li {
	margin-left: 20px;
}
footer .content .inner div:last-child nav li a {
	color: #fff;
	text-decoration: none;
	transition: 0.3s;
}
footer .content .inner div:last-child nav li a:hover {
	color: #CFC37E;
	transition: 0.3s;
}
footer .content .inner div:last-child p {
	font-size: 19px;
	margin-top: 5px;
}
footer .content .inner div:last-child p a {
	color: #fff;
	text-decoration: none;
}
footer .content p small {
	display: block;
	background-color: #fff;
	margin-top: 40px;
	height: 50px;
	line-height: 50px;
	font-size: 15px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
img {
	max-width: 100%;
	height: auto;
	width: 100%;
}
.pc {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
header {
	height: 16.5333vw;         /* 124px */
	line-height: 16.5333vw;    /* 124px */
	background-color: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 99999;
	width: 100%;
}

header .inner {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
	display: flex;
	justify-content: space-between;
}

header .inner h1,
header .inner .logo {
	padding-top: 5.3333vw;     /* 40px */
	padding-left: 4vw;         /* 30px */
	width: 46.6667vw;          /* 350px */
}

#gnavbtn {
	width: 16.5333vw;          /* 124px */
}

#gnav {
	position: absolute;
	z-index: 1;
	width: 100%;
	background-color: #EEECD6;
	top: 16.5333vw;            /* 124px */
	height: 95vh;
	overflow-x: scroll;
	display: none;
}

#gnav ul {
	padding-top: 4vw;          /* 30px */
}

#gnav li a {
	color: #2e2e2e;
	text-decoration: none;
	font-size: 5.3333vw;       /* 40px */
}

#gnav ul + p {
	width: 80vw;               /* 600px */
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.3333vw;      /* 40px */
}

#gnav ul + p + figure {
	width: 80vw;               /* 600px */
	margin-left: auto;
	margin-right: auto;
	margin-top: 8.6667vw;      /* 65px */
}

main {
	padding-top: 16.5333vw;    /* 124px */
}





h1.ttl {
	height: 35vw;
	line-height: 35vw;
	background-color: #CFC37E;
	font-size: 5vw;
}
h1.ttl span {
	width: 90%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.topicpath {
	width: 90%;
	text-align: right;
	margin-left: auto;
	margin-right: auto;
	font-size: 3vw;
	margin-top: 2vw;
	margin-bottom: 15vw;
}
.topicpath a {
	color: #000;
	text-decoration: none;
}
.topicpath span {
	color: #b09a00;
	font-size: 14px;
}






footer {
	margin-top: 13.3333vw; /* 100px */
}

footer .banner {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

footer .contact {
	background-image: url("../images/pc/contact_bg.png");
	margin-top: 13.3333vw; /* 100px */
	padding-top: 6.6667vw; /* 50px */
	padding-bottom: 8vw;   /* 60px */
	position: relative;
	background-size: cover;
}

footer .contact .box {
	width: 90%;
	background-color: #fff;
	border-radius: 2.6667vw; /* 20px */
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 4vw; /* 30px */
}

footer .contact .box h2 {
	font-size: 6vw; /* 45px */
	padding-top: 6vw; /* 45px */
}

footer .contact .box h2 + p {
	font-size: 4vw; /* 30px */
	color: #393939;
	margin-top: 2.6667vw;  /* 20px */
	margin-bottom: 3.3333vw; /* 25px */
}

footer .contact .box ul {
	margin-left: auto;
	margin-right: auto;
}

footer .contact .box ul li a {
	display: block;
	background-color: #CFC37E;
	width: 68vw;            /* 510px */
	height: 14.9333vw;      /* 112px */
	margin-left: auto;
	margin-right: auto;
	color: #000;
	text-decoration: none;
	border-radius: 13.3333vw; /* 100px → ※円形としてvw化 */
	transition: 0.3s;
	font-size: 5.3333vw;      /* 40px */
	line-height: 14.9333vw;   /* 112px */
	margin-bottom: 4vw;       /* 30px */
}

footer .contact .box ul li a:hover {
	opacity: 0.7;
	transition: 0.3s;
}

footer .content {
	background-color: #000;
	padding-top: 8vw; /* 60px */
}

footer .content h2 {
	width: 52.5333vw; /* 394px */
	margin-left: auto;
	margin-right: auto;
}

footer .content .inner {
	margin-left: auto;
	margin-right: auto;
}

footer .content .inner div:first-child {
	color: #fff;
	text-align: left;
}

footer .content .inner div:first-child h2 {
	margin-bottom: 2vw; /* 15px */
}

footer .content .inner div:first-child .icon {
	width: 13.0667vw; /* 98px */
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.3333vw; /* 40px */
	margin-bottom: 2.6667vw; /* 20px */
}

footer .content .inner div:first-child .icon + p {
	text-align: center;
}

footer .content .inner div:last-child {
	text-align: center;
	color: #fff;
}

footer .content .inner div:last-child a {
	color: #fff;
	text-decoration: none;
}

footer .content .inner div:last-child nav {
	display: none;
}

footer .content p small {
	display: block;
	background-color: #fff;
	margin-top: 5.3333vw; /* 40px */
	height: 9.3333vw;     /* 70px */
	line-height: 9.3333vw;/* 70px */
	font-size: 2.8vw;     /* 21px */
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
.sp.tab {
	display: none;
}
}
