/*----------------------------------------------------
　reset
------------------------------------------------------*/
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {  
    margin:0; 
    padding:0; 
} 
table { 
    border-collapse:collapse; 
    border-spacing:0; 
} 
fieldset,img {  
    border:0; 
} 
address,caption,cite,code,dfn,em,th,var {
    font-style:normal; 
    font-weight:normal; 
}
strong {
    font-style:normal; 
    font-weight:bold;
}
li { 
    list-style:none; 
} 
caption,th { 
    text-align:left; 
} 
img{border:none; vertical-align:top;max-width:100%;}
/*----------------------------------------------------
　
------------------------------------------------------*/
body{
	position: relative;
	text-align:center;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
body,th,td{font-size:20px; line-height:1.8; color:#282828;}
a{color:#282828; text-decoration:underline;}
a:hover{outline:none;transition:0.3s;}
hr{clear:both;}
input,textarea{font-size:100%;}
script,iframe{margin:0; padding:0; border:none;}
textarea,input[type=text],input[type=password]{padding:0.2em;}
input[type=submit]{padding:0.2em;}
input[type=button]{padding:0.2em;}
input[type=radio]{margin-right:3px;}
input[type=checkbox]{margin-right:3px;}

@media screen and (max-width: 1920px) {
body,th,td{font-size:18px;}
}
@media screen and (max-width: 1680px) {
body,th,td{font-size:16px;}
}
@media screen and (max-width: 1280px) {
body,th,td{font-size:14px;}
}
/*----------------------------------------------------
　font memo
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/*
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}
*/
/*.noto-serif-jp-extralight {
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  font-style: normal;
}
*/
/*Source Han Sans JP Bold
font-family: source-han-sans-japanese, sans-serif;
font-weight: 700;
font-style: normal;
*/
/*Source Han Sans JP Medium
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
*/
/*Source Han Sans JP Regular
font-family: source-han-sans-japanese, sans-serif;
font-weight: 400;
font-style: normal;
*/
/*Chaparral Pro Regular
font-family: chaparral-pro, serif;
font-weight: 400;
font-style: normal;
*/
/*A-OTF Futo Min A101 Pr6N
font-family: a-otf-futo-min-a101-pr6n, serif;
font-weight: 400;
font-style: normal;
*/
/*A-OTF Ryumin Pr6N L-KL
font-family: a-otf-ryumin-pr6n, serif;
font-weight: 300;
font-style: normal;
*/
/*Futura PT Cond Bold
font-family: futura-pt-condensed, sans-serif;
font-weight: 700;
font-style: normal;
*/

/*----------------------------------------------------
　
------------------------------------------------------*/
a#top{
	font-size:1px;
	line-height:1;
	visibility:hidden;
}
.pc{
	display:block;
}
.sp{
	display:none;
}
img.pc{
  display: inline;
}
img.sp{
	display:none;
}
@media screen and (max-width: 1280px) {
.pc{
	display:none;
}
.sp{
	display:block;
}
img.pc{
  display: none;
}
img.sp{
	display:inline;
}
}

/*
全体1920px
コンテンツ1680px(約88％)
フッターコンテンツ1272px
各コンテンツ間120px

スマホ　コンテンツ90％
フォント14px
*/

/*----------------------------------------------------
　header
------------------------------------------------------*/
header {
	position:relative;
	width: 100%;
	z-index: 999;
  min-height: 118px;
	background:#fff;
	padding:0 0;
}
header .container{
	position:relative;
	margin:0 auto;
	padding:0 !important;
}

header h1{
	font-size:93%;
	text-align:left;
  margin-top: 40px;
  margin-left: 3%;
	margin-bottom:1em;
	font-weight:normal;
}
header #logo {
	position:relative;
	float: left;
	width:17%;
	max-width:356px;
	z-index:9;
}
header #logo img{
	width:100%;
	max-width:356px;
}
header.fixed {
	background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 1680px) {
header #logo {
	width:15.8%;
}
}
@media screen and (max-width: 1360px) {
header {
  min-height: 94px;
}
header h1{
  margin-top: 25px;
  margin-left: 30px;
}
header #logo {
	width:18%;
}

}
@media screen and (max-width: 1280px) {
header {
	position: fixed;
	width: 100%;
  min-height: 65px;
  z-index: 999;
	background:#fff;
}
header #logo {
	float: none;
  width: 60%;
  margin-top: 1em;
  line-height:1.4;
}

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

/*
---------------------------------*/

.navigation.open {
	margin-top:64px;
	opacity: 0.9;
	visibility: visible !important;
	-moz-transition: opacity 0.9s;
	-o-transition: opacity 0.9s;
	-webkit-transition: opacity 0.9s;
	transition: opacity 0.9s;
}
.navigation {
	clear:both;
	overflow:hidden;
}
.navigation li {
	float:left;
  font-size: 18px;
}
.navigation a {
	color: #000;
	text-decoration:none;
}
@media screen and (max-width: 1920px) {
.navigation li {
  font-size: 17px;
}
}
@media screen and (max-width: 1760px) {
.navigation li {
	font-size: 16px;
}
}
@media screen and (max-width: 1680px) {
.navigation li {
  font-size: 15px;
}
header .pc .navigation ul.menu2 li.tel img {
    height: 1.4em;
}
}
@media screen and (max-width: 1510px) {
.navigation li {
  font-size: 14px;
}
}
@media screen and (max-width: 1350px) {
	header .pc .navigation ul.menu2 li a{
		font-size: 80%;
	}
}
/*
--------------*/
header .pc{
  float: right;
  margin: 0 3% 0 auto;
}
header .pc .navigation ul.menu{
  float: left;
  margin-right: 1em;
	min-height:118px;
  position: relative;
}
header .pc .navigation ul.menu li{
	float:left;
	margin-left:1.5em;
  padding: 45px 0 0 ;
}
header .pc .navigation ul.menu li:nth-child(1){
	margin-left:0;
}
header .pc .navigation ul.menu li.access{
  position: absolute;
  right: 0;
  top: 30px;
  padding: 0;
}
header .pc .navigation ul.menu li a:hover{
  position: relative;
  width: 100%;
  border-bottom: 2px solid #bbaf5b;
}
header .pc .navigation ul.menu li a:hover:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 50%;
  height: inherit;
  border-bottom: 2px solid #73588b;
}
header .pc .navigation ul.menu2{
  float: left;
  margin-right: 1em;
}
header .pc .navigation ul.menu2 li{
}
header .pc .navigation ul.menu2 li a{
display: block;
color: #fff;
font-size: 93%;
line-height: 21px;
}
header .pc .navigation ul.menu2 li img{
height: 1.4em;
margin-right: 0.2em;
vertical-align: text-bottom;
}
header .pc .navigation ul.menu2 li.tel img{
height: 1.8em;
}
header .pc .tel{
  float: left;
  max-width: 300px;
  padding: 55px 0 0;
  margin-right: 1em;
}
header .pc .navigation ul.menu2 li:nth-child(1){
}
header .pc .navigation ul.menu2 li:nth-child(1) a:hover img{
transition:0.3s;
opacity: 0.7;
}
header .pc .navigation ul.menu2 li:nth-child(2){
margin-right: 0.2em;
}
header .pc .navigation ul.menu2 li:nth-child(2),
header .pc .navigation ul.menu2 li:nth-child(3){
padding: 35px 0 0;
}
header .pc .navigation ul.menu2 li:nth-child(2) a,
header .pc .navigation ul.menu2 li:nth-child(3) a{
display: block;
padding: 0.9em;
background: #95823A;
border-radius: 0.4em;
}
header .pc .navigation ul.menu2 li:nth-child(2) a:hover,
header .pc .navigation ul.menu2 li:nth-child(3) a:hover{
background: #c9bf7c;
transition:0.3s;
}
header .pc .navigation ul.menu2 li:nth-child(3) br.sp1500{
display: none;
}

@media screen and (max-width: 1500px) {
header .pc .navigation ul.menu2 li:nth-child(2),
header .pc .navigation ul.menu2 li:nth-child(3){
padding: 12px 0 0;
}
header .pc .navigation ul.menu2 li:nth-child(2) a{
min-height: 42px;
line-height: 42px;
}
header .pc .navigation ul.menu2 li:nth-child(3) a{
min-height: 42px;
}
header .pc .navigation ul.menu2 li:nth-child(3) br.sp1500{
display: block;
}
}

@media screen and (max-width: 1360px) {
header .pc{
  margin: 0 3% 0 auto;
}
header .pc .navigation ul.menu{
  float: left;
  margin-right: 1em;
	min-height:94px;
  position: relative;
}
header .pc .navigation ul.menu li{
	float:left;
	margin-left:1em;
  padding: 45px 0 0 ;
}
header .pc .navigation ul.menu li.access{
  position: absolute;
  right: 0;
  top: 15px;
  padding: 0;
}
header .pc .navigation ul.menu2{

}
header .pc .navigation ul.menu2 li a{
}
header .pc .navigation ul.menu2 li.tel img{
height: 1.4em;
}
header .pc .tel{
  padding: 45px 0 0;
}
}


/*
--------------*/
.navigation a:hover, .navigation a.active {
	color: #000;
}
.nav-toggle {
	display: none;
	height: 46px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 15px;
	white-space: nowrap;
	width: 46px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
header.fixed .nav-toggle {
	top: 18px;
}
.nav-toggle:before, .nav-toggle:after {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-transition-property: -moz-transform;
	-o-transition-property: -o-transform;
	-webkit-transition-property: -webkit-transform;
	transition-property: transform;
}
.nav-toggle:before {
	background-color: #fff;
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.nav-toggle:after {
	background-color: #fff;
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
	-moz-transition-duration: 0s;
	-o-transition-duration: 0s;
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
}
.nav-toggle span {
	background-color: #999;
	bottom: auto;
	display: inline-block;
	height: 3px;
	left: 50%;
	position: absolute;
	right: auto;
	top: 50%;
	width: 28px;
	z-index: 10;
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
.nav-toggle span:before, .nav-toggle span:after {
	background-color: #999;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-transition: -moz-transform 0.3s;
	-o-transition: -o-transform 0.3s;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}
.nav-toggle span:before {
	-moz-transform: translateY(-6px) rotate(0deg);
	-ms-transform: translateY(-6px) rotate(0deg);
	-webkit-transform: translateY(-6px) rotate(0deg);
	transform: translateY(-6px) rotate(0deg);
}
.nav-toggle span:after {
	-moz-transform: translateY(6px) rotate(0deg);
	-ms-transform: translateY(6px) rotate(0deg);
	-webkit-transform: translateY(6px) rotate(0deg);
	transform: translateY(6px) rotate(0deg);
}
.nav-toggle.close-nav:before {
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
}
.nav-toggle.close-nav:after {
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
}
.nav-toggle.close-nav span {
	background-color: rgba(255, 255, 255, 0);
}
.nav-toggle.close-nav span:before, .nav-toggle.close-nav span:after {
	background-color: #999;
}
.nav-toggle.close-nav span:before {
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.nav-toggle.close-nav span:after {
	-moz-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
	-webkit-transform: translateY(0) rotate(-45deg);
	transform: translateY(0) rotate(-45deg);
}
.navigation .primary-nav {
	width:1000px;
	margin:0 auto;
	text-align:center;
}
.navigation .primary-nav a:hover{
	color:#fff !important;
	opacity:0.5;
}
.navigation li:nth-child(1){
}

@media screen and (max-width: 1280px) {
.nav-toggle {
	display: block;
}
.navigation {
	position: fixed;
	background:#fff;
	width: 90%;
	height: 100%;
  padding: 0 5%;
	top: 0;
	left: 0;
	z-index: 99999;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}
.navigation .primary-nav {
	position: relative;
	width:100%;
	top: 45%;
	-moz-transform: translateY(-45%);
	-ms-transform: translateY(-45%);
	-webkit-transform: translateY(-45%);
	transform: translateY(-45%);
}
.navigation li {
	float:none;
	display: block;
	width:100%;
  font-size: 14px;
	border:none;
	border-top:1px solid #ccc;
}
.navigation .menu2 li{
  color: #000;
  background: #95823A;
}
.navigation .menu2 li a{
  color: #fff;
}
.navigation .menu2 li.tel{
  color: #000;
  background: none;
}
.navigation .menu2 li.tel a{
  color: #000;
}
.navigation .primary-nav li:nth-child(1){
	float:none;
	display: block;
	width:100%;
	margin-bottom: 10px;
	border:none;
}
.navigation .primary-nav li:nth-child(7){
	float:none;
	display: block;	
	width:100%;
	margin-bottom: 10px;
	border:none;
}
.navigation li:before{
	content:"";
}
.navigation li:nth-child(1) span{
	display:block;
	font-size:81%;
}
.navigation a {
	display: block;
	font-size: 16px;
	margin: 0;
	padding:0.8em 0;
	color:#000;
	text-align: center;
}
.navigation .primary-nav a:hover{
	color:#000 !important;
}
}


@media screen and (max-width: 760px) {
.nav-toggle {
	height: 46px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 5px;
	white-space: nowrap;
	width: 46px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
}
@media screen and (max-width: 480px) {
.nav-toggle {
	height: 46px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 5px;
	white-space: nowrap;
	width: 46px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
}
@media screen and (max-width: 390px) {
.nav-toggle {
	height: 46px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 5px;
	white-space: nowrap;
	width: 46px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
}
@media screen and (max-width: 360px) {
.nav-toggle {
	height: 44px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 5px;
	white-space: nowrap;
	width: 44px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
header.fixed .nav-toggle {
	top: 8px;
}
.nav-toggle span {
	height:2px;
}
}
@media screen and (max-width: 320px) {
.nav-toggle {
	height: 38px;
	overflow: hidden;
	position: fixed;
	right: 5%;
	text-indent: 100%;
	top: 5px;
	white-space: nowrap;
	width: 38px;
	z-index: 99999;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
header.fixed .nav-toggle {
	top: 0;
}
.nav-toggle span {
	height:2px;
}
}





/*----------------------------------------------------
　main
------------------------------------------------------*/
html{height: 100%;}
body{height: 100%;}

#main{
overflow: hidden;
width: 100%;
min-height: 1000px;
background: url("img/main_body.jpg") no-repeat center top;
}
#main h2 {
position: relative;
background: none;
filter: drop-shadow(3px 3px 5px #1480C5);
}
#main h2 img{
max-width: 760px;
vertical-align: middle;
}

@media screen and (max-width: 1280px) {
#main{
min-height: 0;
background-image: url('img/main_body.jpg');
background-size: auto 110%;
padding-top: 50px;
}
#main h2 img{
width: 100%;
}
#main .price{
width: 90%;
margin: 0 auto 2em;
}
}
@media screen and (max-width: 640px) {
#main{
background-size: auto 130%;
}
#main h2 {
position: relative;
background: none;
filter: drop-shadow(3px 3px 8px #002f4c);
}
}

@media screen and (max-width: 480px) {
#main{
/*max-height:360px;*/
background-size: auto 130%;
}
#main h2 {
/*max-height:340px;
line-height: 340px;*/
box-sizing: inherit;
}

}
@media screen and (max-width: 390px) {
#main{
/*max-height:270px;*/
}
#main h2 {
/*max-height:270px;
line-height: 270px;*/
}
}



/*----------------------------------------------------
　
------------------------------------------------------*/


.title{
  clear: both;
  position: relative;
  margin: 0 0 38px;
  padding: 0 0 0.5em;
  font-size:30px;
  font-family: "Noto Serif JP", serif;
  font-weight:400;
  line-height: 1.2;
  text-align: left;
  border-bottom: 2px solid #fff;
}

.title:before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 90px;
  border-bottom: 2px solid #95823A;
}
.title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 45px;
  height: inherit;
  border-bottom: 2px solid #95823A;
}
.title .eng{
display: block;
color: #bbaf5b;
font-size:12px;
font-weight: normal;
font-family: "Noto Serif JP", serif;
}

.title{
text-align: center;
}
.title::before{
left: 50%;
margin-left: -45px;
}

.title::after{
left: 50%;
margin-left: -45px;
}


@media screen and (max-width: 1280px) {
.title{
font-size: 24px;
}
.title:before{
  width: 64px;
}
.title:after {
  width: 32px;
}
.title .eng{
font-size:6px;
}
.title::before{
left: 50%;
margin-left: -32px;
}

.title::after{
left: 50%;
margin-left: -32px;
}
}


@media screen and (max-width: 760px) {
.title{
font-size: 16px;
}
}



/*----------------------------------------------------
　#
------------------------------------------------------*/
#text01{
clear: both;
position: relative;
padding: 80px;
width: 100%;
box-sizing: border-box;
}

#text01 h3{
margin: 0 0 0.6em;
color: #95823A;
font-family: "Noto Serif JP", serif;
font-weight: 400;
font-size: 40px;
text-align: center;
}

#text01 .text{
font-size: 18px;
font-family: "Noto Serif JP", serif;
font-weight: 400;
line-height: 2;
}

#text01 .img{
width: 100%;
max-width: 1100px;
position: relative;
left: 50%;
bottom: -130px;
transform: translateX(-50%);
z-index: 2;
}



@media screen and (max-width: 1280px) {
#text01{
padding: 2em 5%;
}
#text01 .img{
bottom: -4em;
}

#text01 .text{
text-align:left;
}

#text01 .img img.pc{
display: inline;
}
#text01 .img img.sp{
display: none;
}
}

@media screen and (max-width: 800px) {
#text01{
padding: 2em 5% 0;
}
#text01 h3{
font-size: 28px;
}
#text01 .text{
font-size: 16px;
}
}

@media screen and (max-width: 760px) {
#text01 .img img.pc{
display: none;
}
#text01 .img img.sp{
display: inline;
}
}
@media screen and (max-width: 640px) {
#text01 h3{
font-size: 24px;
}
}
@media screen and (max-width: 480px) {
#text01 h3{
font-size: 20px;
}
}




/*----------------------------------------------------
　#
------------------------------------------------------*/
#text02{
clear: both;
position: relative;
padding: 150px 80px 80px;
width: 100%;
box-sizing: border-box;
background: #f8f6f1;
}

#text02 .title{
border-color: #f8f6f1;
}

#text02 ul{
width: 100%;
max-width: 1100px;
margin: 0 auto;
overflow: hidden;
}
#text02 ul li{
overflow: hidden;
float: left;
width: 46%;
margin: 0 8% 80px 0;
}
#text02 ul li:nth-child(2n){
margin-right: 0;
}
#text02 ul li .img{
margin: 0 0 1em;
}
#text02 ul li h3{
position: relative;
padding: 0 0 0 10px;
margin: 0;
font-size: 40px;
font-family: "Noto Serif JP", serif;
font-weight: 400;
line-height: 1;
vertical-align: top;
text-align: left;
border-left:1px solid #95823A;
}
#text02 ul li h3 .kana{
display: inline-block;
margin: 0 0 0 1em;
font-size: 50%;
line-height: 2;
}
#text02 ul li h3 .cat{
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
color: #fff;
display: inline-block;
padding: 0.5em 0.8em;
min-width: 5em;
font-size: 45%;
line-height: 1.1;
background: #95823A;
border:1px solid #95823A;
text-align: center;
}
#text02 ul li h3 .cat .small-tyui{
margin-top: 0.3em;
font-size: 75%;
display: block;
text-align: center;
}
#text02 ul li h3 .cat2{
position: absolute;
right: 0;
bottom: -140%;
transform: translateY(-50%);
color: #95823A;
display: inline-block;
padding: 0.5em 0.8em;
min-width: 5em;
font-size: 45%;
line-height: 1;
border:1px solid #95823A;
text-align: center;
}

#text02 ul li .text{
padding: 1em 0;
font-weight: 300;
text-align: left;
}
#text02 ul li h4{
position: relative;
font-size: 24px;
font-family: "Noto Serif JP", serif;
font-weight: 400;
vertical-align: top;
}

#text02 ul li .price{
clear: both;
overflow: hidden;
padding: 0 0;
font-weight: 400;
line-height: 1;
text-align: left;
}
#text02 ul li .price .txt{
display: inline-block;
padding: 0.5em 0.8em;
font-size: 93%;
line-height: 1;
border: 1px solid #8D8D8D;
vertical-align: text-bottom;
}
#text02 ul li .price .sub{
display: inline-block;
margin:0 0 0 1.5em;
color: #95823A;
}
#text02 ul li .price .no{
display: inline-block;
margin-left: 0.4em;
color: #95823A;
font-size: 48px;
}
#text02 ul li .price .en{
display: inline-block;
color: #95823A;
font-size: 20px;
}


#text02 .price-detail{
clear: both;
max-width: 1100px;
margin: 0 auto 2em;
padding: 1.5em;
background: #fff;
border: 1px solid #95823A;
border-radius: 0.4em;
box-sizing: border-box;
}



@media screen and (max-width: 1280px) {
#text02{
padding: 7em 5% 2em;
}
#text02 ul li .price .sub{
margin:0 0 0 1em;
}
#text02 ul li .price .no{
color: #95823A;
font-size: 40px;
}
#text02 ul li .price .en{
color: #95823A;
font-size: 100%;
}
#text02 .price-detail img.pc{
display: inline;
}
#text02 .price-detail img.sp{
display: none;
}
}

@media screen and (max-width: 810px) {
#text02 ul li h3 .cat,
#text02 ul li h3 .cat2{
font-size: 40%;
}
#text02 ul li h3 .cat2{
bottom: -120%;
}
}
@media screen and (max-width: 760px) {
#text02 ul li{
clear: both;
float: none;
width: 100%;
}
#text02 ul li .text{
padding: 1em 0 0.6em;
}
#text02 ul li h4{
font-size: 22px;
}
#text02 .price-detail{
padding: 1.5em 1em;
}
#text02 .price-detail img.pc{
display: none;
}
#text02 .price-detail img.sp{
display: inline;
}
}


@media screen and (max-width: 480px) {
#text02 ul li .text{
/*padding: 0.7em 0 0.6em;*/
}
}




/*----------------------------------------------------
　#
------------------------------------------------------*/
#text03{
clear: both;
position: relative;
padding: 100px 80px 80px;
width: 100%;
box-sizing: border-box;
background: #95823A;
}

#text03 .title{
color: #fff;
border-color: #95823A;
}
#text03 .title:before,
#text03 .title:after{
border-color: #fff;
}

#text03 .faq-list{
overflow: hidden;
max-width: 1100px;
margin: 0 auto;
}

#text03 .faq-list dl{
clear: both;
margin: 0 0 1.5em;
padding: 1em 2em;
overflow: hidden;
text-align: left;
background: #fff;
border-radius: 0.4em;
}
#text03 .faq-list dl dt{
padding: 0.5em 0.5em 0.6em 2em;
color: #95823A;
font-size: 24px;
font-family: "Noto Serif JP", serif;
font-weight: 400;
line-height: 1;
background: url("img/Q.svg") no-repeat center left;
background-size: 1.5em auto;
}
#text03 .faq-list dl dd{
font-size: 100%;
padding: 0.5em 0.5em 0.5em 48px;
background: url("img/A.svg") no-repeat top left;
background-size: 36px auto;
}



@media screen and (max-width: 1280px) {
#text03{
padding: 4em 5% 2em;
}
}


@media screen and (max-width: 760px) {
#text03 .faq-list dl dt{
font-size: 18px;
}
#text03 .faq-list dl dd{
font-size: 100%;
padding-left: 36px;
background-size: 27px auto;
}


}




/*----------------------------------------------------
　#
------------------------------------------------------*/
#text04{
clear: both;
position: relative;
padding: 100px 80px 80px;
width: 100%;
box-sizing: border-box;
}

#text04 .title{
}

#text04 .img{
max-width: 1100px;
margin: 0 auto 2em;
}
#text04 .img-list{
overflow: hidden;
max-width: 1100px;
margin: 0 auto;
}
#text04 .img-list li{
float: left;
width: 13.5%;
margin: 0 3.8% 0 0;
}
#text04 .img-list li img{
margin: 0 0 0.3em;
}
#text04 .img-list li:nth-child(6){
margin-right: 0;
}

@media screen and (max-width: 1280px) {
#text04{
padding: 4em 5% 2em;
}
}


@media screen and (max-width: 760px) {
#text04 .img-list li{
width: 48%;
margin: 0 4% 0.3em 0;
}
#text04 .img-list li:nth-child(2n){
margin-right: 0;
}

}








/*----------------------------------------------------
　#
------------------------------------------------------*/
#text05{
clear: both;
position: relative;
padding: 100px 80px 80px;
width: 100%;
box-sizing: border-box;
background: #f8f6f1;
}

#text05 .title{
border-color: #f8f6f1;
}

#text05 .container{
overflow: hidden;
max-width: 1100px;
margin: 0 auto;
}
#text05 #gmap{
float: left;
width: 57%;
}

#text05 #map{
float: right;
width: 40%;
}
#text05 .text1{
clear: both;
overflow: hidden;
padding: 1em 0;
font-size: 18px;
}

#text05 .text2{
clear: both;
overflow: hidden;
padding: 1em 0;
font-size: 18px;
border-top: 1px solid #95823A;
border-bottom: 1px solid #95823A;
}
#text05 .text2 li{
padding: 0 0 0 3.5em;
margin: 0 1em;
display: inline-block;
color: #95823A;
background: url("img/car.svg") no-repeat left center;
background-size: 3em auto;
}


@media screen and (max-width: 1280px) {
#text05{
padding: 4em 5% 2em;
}
#text05 #gmap{
float: none;
width: 100%;
max-width: 760px;
margin: 0 auto 1em;
}
#text05 #map{
float: none;
width: 100%;
max-width: 760px;
margin: 0 auto;
}
#text05 .text1,
#text05 .text2{
font-size: 100%;
}
}


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

#text05 #gmap{
float: none;
width: 100%;
margin: 0 0 1em;
}
#text05 #map{
float: none;
width: 100%;
}
}

@media screen and (max-width: 480px) {
#text05 #gmap iframe{
height: 330px;
}
}



/*----------------------------------------------------
　#
------------------------------------------------------*/
#text06{
clear: both;
position: relative;
padding: 100px 80px 80px;
width: 100%;
box-sizing: border-box;
}

#text06 .title{
}

#text06 .plan{
clear: both;
overflow: hidden;
max-width: 1100px;
padding: 2em;
margin: 0 auto 2em;
box-sizing: border-box;
}
#text06 .plan .img{
float: left;
width: 22%;
}
#text06 .plan .text{
float: right;
width: 73%;
text-align: left;
font-weight: 300;
}
#text06 .plan h3{
margin: 0 0 0.5em;
font-size:22px;
font-family: "Noto Serif JP", serif;
font-weight:400;
line-height: 1.2;
}
#text06 .plan .text .tyui{
margin-top: 1.5em;
font-size: 85%;
}

#text06 #plan1{
border: 1px solid #A86837;
}
#text06 #plan1 h3{
color: #A86837;
}

#text06 #plan2{
border: 1px solid #72832B;
}
#text06 #plan2 h3{
color: #72832B;
}


@media screen and (max-width: 1280px) {
#text06{
padding: 4em 5% 2em;
}
}


@media screen and (max-width: 760px) {
#text06 .plan .img{
float: none;
width: 100%;
max-width: 220px;
margin: 0 auto 1em;
}
#text06 .plan .text{
float: none;
width: 100%;
}

}







/*----------------------------------------------------
　#
------------------------------------------------------*/

#page-link{
clear: both;
/*width: 90%;*/
width:50%;
max-width: 1680px;
margin: 0 auto;
padding: 100px 0 50px;
font-size: 23px;
font-family: a-otf-futo-min-a101-pr6n, serif;
text-align: left;
}
#page-link ul{
overflow: hidden;
}
#page-link ul li{
float: left;
width: 49%;
margin-left: 1.3%;
text-align: center;
}
#page-link ul li:nth-child(1){
margin-left:0;
}
#page-link ul li a{
display: block;
text-align: center;
padding: 0.4em;
text-decoration: none;
}
#page-link ul li:nth-child(1) a{
color: #AE9A6C;
border: 1px solid #AE9A6C;
}
#page-link ul li:nth-child(2) a{
color: #73588B;
border: 1px solid #73588B;
}



@media screen and (max-width: 1280px) {
#page-link{
width:90%;
padding: 40px 0 40px;
font-size: 14px;
}
#page-link ul li{
float: none;
width: 100%;
margin: 0 0 0.5em;
}


}


/*----------------------------------------------------
　#
------------------------------------------------------*/

#contact1{
clear: both;
width: 90%;
max-width: 1680px;
margin: 0 auto;
padding: 50px 0;
text-align: center;
}
#contact1 .title{

}
#contact1 .cont{
max-width: 1280px;
margin: 0 auto;
text-align: center;
padding: 50px 0;
background: #f6f6f6;
}
#contact1 img{
width: 70%;
max-width: 490px;
vertical-align: text-bottom;

}
@media screen and (max-width: 1280px) {
#contact1{
padding: 25px 0;
}

}





/*----------------------------------------------------

------------------------------------------------------*/
#contact2{
clear: both;
overflow: hidden;
background: #95823A;
}
#contact2 .container{
clear: both;
width: 90%;
max-width: 1100px;
margin: 0 auto;
padding: 50px 0;
text-align: center;
}
#contact2 .title{
color: #fff;
border-color: #95823A;
}
#contact2 .title:before,
#contact2 .title:after{
border-color: #fff;
}
#contact2 .form-text{
color: #fff;
}

#main_contact table{
	border:none;
	margin:0 0 2em;
}
#main_contact table th{
	text-align:left;
	font-size:18px;
	font-weight:bold;
	padding:1em 1em 1.5em;
	width:250px;
  color: #fff;
  font-weight: 400;
  vertical-align: top;
}
#main_contact table th .koumoku{
float: left;
}
#main_contact table th .require{
float: right;
	color:#fff;
	background:#C64A34;
	border:0.5em;
	margin:0 5px 0 0;
	padding:0.5em;
  font-weight: 300;
  font-size: 85%;
  line-height: 1.2;
}
#main_contact table th .no_require{
float: right;
  color:#fff;
	background:#646464;
	border:0.5em;
	margin:0 5px 0 0;
	padding:0.5em;
  font-weight: 300;
  font-size: 85%;
  line-height: 1.2;
}
#main_contact table td{
	text-align:left;
	padding:0.5em;
  color:#fff;
	font-size:15px;
}
#main_contact table td.sentaku label{
	font-size:18px;
}
#main_contact table td .sub-text{
color: #fff;
}

#main_contact table td input[type=text],
#main_contact table td input[type=email],
#main_contact table td input[type=tel],
#main_contact table td textarea{
	width:90%;
	border:1px solid #999;
	border-radius:0.3em;
	padding:1em;
}


@media screen and (max-width: 1000px) {
#main_contact h2{
	font-size:20px;
}
#main_contact table th{
	text-align:left;
	font-size:14px;
	padding:0.5em;
	width:150px;
}
#main_contact table th .require{
	border:0;
	padding:0.3em 0.4em;
  font-size: 12px;
  line-height: 1;
}
#main_contact table th .no_require{
	border:0;
	padding:0.3em 0.4em;
  font-size: 12px;
  line-height: 1;
}
#main_contact table td{
	font-size:14px;
	padding:0.5em;
}
#main_contact table td input[type=text],
#main_contact table td input[type=email],
#main_contact table td input[type=tel],
#main_contact table td textarea{
	padding:0.4em;
}

}

@media screen and (max-width: 760px) {
#main_contact table td.sentaku label{
	font-size:16px;
}
}


@media screen and (max-width: 480px) {
#main_contact table th{
display: block;
width: 100%;
}
#main_contact table td{
display: block;
width: 100%;
padding-bottom: 1em;
}
#main_contact table th .require,
#main_contact table th .no_require{
float: none;
margin-left:1em;
}
}

.contact-btn a{
	display:block;
	width:90%;
	max-width:350px;
	margin:0 auto 1em;
	padding:1em !important;
	text-align:center;
	color:#fff;
	font-size:18px;
  font-weight:bold;
  background: #95823A;
	border-radius:0.4em;
	border:2px solid #fff;
}
.contact-btn input{
	display:block;
	width:90%;
	max-width:350px;
	margin:0 auto 1em;
	padding:1em !important;
	text-align:center;
	color:#fff;
	font-size:18px;
	font-weight:bold;
  background: #95823A;
	border-radius:0.4em;
	border:2px solid #fff;
}
.contact-btn .btn-back{
	display:block;
	width:90%;
	max-width:350px;
	margin:0 auto 1em;
	padding:1em !important;
	text-align:center;
	color:#fff;
	font-size:18px;
  font-weight:bold;
  font-weight:bold;
  background: #95823A;
	border-radius:0.4em;
	border:2px solid #fff;
}

@media screen and (max-width: 1280px) {
.contact-btn a,
.contact-btn input{
	font-size:18px;
}

}


#privacy{
	clear:both;
	overflow:hidden;
	overflow-y:auto;
	max-height:175px;
	border:1px solid #999;
	margin:0 0 1.5em;
  background: #fff;
}
#privacy .cont{
	padding:2.5em 1em;
	text-align:left;
	font-size:15px;
}

#privacy h3{
margin: 0 0 1em;
	font-weight:400;
	font-size:112%;
	text-align:center;
}

@media screen and (max-width: 1280px) {
#privacy .cont{
	font-size:12px;
}

}



#specifed{
	clear:both;
	overflow:hidden;
	margin:0 0 2.5em;
color: #fff;
}
#specifed a{
color: #fff;
}
#specifed input{
width: 1.2em;
height: 1.2em;
}
#specifed .sub{
font-size: 87%;
}






/*----------------------------------------------------
　
------------------------------------------------------*/








/*----------------------------------------------------
　#foot-contact
------------------------------------------------------*/
#foot-contact{
clear: both;
overflow: hidden;
text-align: center;
margin: 0 auto 50px;
padding: 50px 0 0;
border-top: 1px solid #bebebe;
}
#foot-contact h3{
margin: 0 0 20px;
color: #95823A;
font-size: 30px;
font-weight: 400;
font-family: a-otf-futo-min-a101-pr6n, serif;
}

#foot-contact .tel{
overflow: hidden;
max-width: 840px;
margin: 0 auto;
}
#foot-contact .tel img{
width: 100%;
max-width: 484px;
}
@media screen and (max-width: 1280px) {
#foot-contact{
width: 90%;
margin: 0 auto 50px;
}
#foot-contact h3{
font-size: 25px;
line-height: 1.4;
}
#foot-contact ul li{
float: none;
width: 100%;
margin: 0 0 1em;
text-align: center;
}
#foot-contact ul li:nth-child(1) img{
max-width: 80%;
}
#foot-contact ul li:nth-child(2) a{
line-height: 56px;
}
}

@media screen and (max-width: 1280px) {
#foot-contact h3{
font-size: 21px;
}
}

@media screen and (max-width: 760px) {
#foot-contact h3{
font-size: 18px;
}
}
/*----------------------------------------------------
　
------------------------------------------------------*/

footer{
clear: both;
overflow: hidden;
padding: 100px 0;
background: #f8f6f1;
}

footer .cont{
max-width: 1196px;
margin: 0 auto;
}

footer h2#foot-logo{
text-align: left;
margin: 0 0 1em;
}

footer .adder{
clear: both;
float: left;
overflow: hidden;
max-width: 1000px;
margin: 0 auto 1em;
text-align: left;
}
footer .adder dt{
margin:0 0 0.5em;
text-align: right;
}
footer .adder dt img{
width: 100%;
}
footer .adder dd{
font-size: 17px;
}


@media screen and (max-width: 1280px) {
footer{
padding: 50px 0;
}
footer .cont{
width: 90%;
max-width: 640px;
}
footer h2#foot-logo{
text-align: center;
}
footer .adder{
float: none;
max-width: 640px;
margin: 0 auto 1em;
text-align: center;
}
footer .adder dt{
float: none;
width: 100%;
max-width: 280px;
margin: 0 auto 10px;
}
footer .adder dd{
float: none;
width: 100%;
font-size: 14px;
}
}



footer a{
text-decoration: none;
}

footer nav.pc{
float: right;
width: 53%;
font-size: 19px;
}
footer nav.pc ul{
clear: both;
overflow: hidden;
text-align: right;
}
footer nav.pc ul li{
display: inline-block;
line-height: 1.1;
margin: 0 0 0 1.5em;
font-size: 15px;
text-align: right;
box-sizing: inherit;
}
footer nav.pc ul li:nth-child(3n){
}
footer nav.pc ul.contact{
float: right;
margin: 0 0 2em;
}
footer nav.pc ul.contact li{
width: auto;
margin-left: 1em;
}
footer nav.pc ul.contact li a{
display: block;
padding: 0.9em;
color: #fff;
text-align: center;
background: #95823A;
border-radius: 0.4em;
}
footer nav.pc ul.contact li img{
height: 1.4em;
margin-right: 0.2em;
vertical-align: text-bottom;
}


footer nav.sp ul{

}

@media screen and (max-width: 1280px) {
footer nav.sp{
overflow: hidden;
width: 100%;
font-size: 14px;
}
footer nav.sp ul{
margin: 0 0 1.5em;
border-top: 1px solid #95823A;
}
footer nav.sp ul:nth-child(1){

}
footer nav.sp ul:nth-child(2){

}
footer nav.sp ul li{
text-align: center;
border-bottom: 1px solid #95823A;
}
footer nav.sp ul:nth-child(2){
float: nene
}

footer nav.sp ul.contact{
margin: 0 0 2em;
}
footer nav.sp ul.contact li{
width: auto;
margin: 0 0 0.5em;
border: none;
}
footer nav.sp ul.contact li a{
display: block;
padding: 0.9em;
color: #fff;
text-align: center;
background: #95823A;
border-radius: 0.4em;
}
footer nav.sp ul.contact li img{
height: 1.4em;
margin-right: 0.2em;
vertical-align: text-bottom;
}



}



footer .group{
float: right;
width: 44%;
max-width: 518px;
text-align: center;
border: 1px solid #fff;
}
footer .group h3{
padding: 0.3em;
font-size: 20px;
font-weight: normal;
background: #392e48;
border-bottom: 1px solid #fff;}
footer .group .add{
font-size: 14px;
font-family: a-otf-futo-min-a101-pr6n, serif;
}

footer .group .add{
padding: 0.5em;
}
footer .group h3 a i{
margin-left: 1em;
font-size: 60%;
vertical-align: middle;
}
footer .group h3 a:hover{
opacity: 0.8;
border-bottom: 1px solid #aca5b5;
}

@media screen and (max-width: 1280px) {
footer .group{
clear: both;
float: none;
width: 100%;
max-width: 518px;
margin: 0 auto;
}
footer .group h3{
font-size: 17px;
}
footer .group .add{
font-size: 14px;
}

}

@media screen and (max-width: 480px) {
.sp-del{display:none;}
.sp-en{display: block;}
}

/*----------------------------------------------------
　
------------------------------------------------------*/
#copyright{
clear: both;
font-size: 14px;
position: relative;
}
#copyright .cont{
max-width: 1280px;
margin: 0 auto;
text-align: right;
position: relative;
}
#copyright .cont .privacylink{
display: inline-block;
margin-right: 2em;
}

#copyright .copyright-2{
display: block;
padding-top: 0.5em;
font-size: 75%;
}


@media screen and (max-width: 1280px) {
#copyright{
font-size: 12px;
}
#copyright .cont{
width: 90%;
margin: 0 auto;
padding: 2.5em 0 0;

line-height: 1.5;
}

#copyright .cont .privacylink{
left: 0;
top: 0.5em;
}


#copyright .pagetop{
display: none;
}
}


.text-typhoon{
	max-width: 80%;
  text-align: center;
  padding-top: 30px;
  margin: 0 auto;
  color: red;
  font-size: 22px;
}

@media screen and (max-width: 480px) {
.text-typhoon{
	max-width: 85%;
	font-size: 16px;
}
}

/* news addition */
#text07{
	clear: both;
	position: relative;
	padding: 100px 80px 80px;
	width: 100%;
	box-sizing: border-box;
	background: #95823A;
}
	
#text07 .title{
	color: #fff;
	border-color: #95823A;
}
#text07 .title:before,
#text07 .title:after{
	border-color: #fff;
}
	
#text07 .news-list{
	overflow: hidden;
	max-width: 1100px;
	margin: 0 auto;
}

#text07 .news-list dl{
	clear: both;
	margin: 0 0 1.5em;
	padding: 1em 2em;
	overflow: hidden;
	text-align: left;
	background: #fff;
	border-radius: 0.4em;
}
#text07 .news-list dl dt{
	padding: 0.5em 0.5em 0.6em 2em;
	color: #95823A;
	font-size: 24px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	line-height: 1;
	background: url("img/Q.svg") no-repeat center left;
	background-size: 1.5em auto;
}
#text07 .news-list dl dd{
	font-size: 100%;
	padding: 0.5em 0.5em 0.5em 48px;
	background: url("img/A.svg") no-repeat top left;
	background-size: 36px auto;
}	
	
@media screen and (max-width: 1280px) {
	#text07{
		padding: 4em 5% 2em;
	}
}
	
@media screen and (max-width: 760px) {
	#text07 .news-list dl dt{
		font-size: 18px;
	}
	#text07 .news-list dl dd{
		font-size: 100%;
		padding-left: 36px;
		background-size: 27px auto;
	}
}
.news__date{
	color: #95823A;
	/* margin-right: 40px; */
	flex-shrink: 0;
  }
.news__topic{
	color: #000;
	text-decoration: unset;
	flex-grow: 1;
	transition: all 0.25s ease;
}
.news__topic:hover{
	text-decoration: underline;
	opacity: 0.8;
}
.news-list dl dd{
	padding-left: 0 !important;
	background: unset !important;
	display: flex;
	gap: 40px;
}
@media only screen and (max-width:767px){
	.news-list dl dd{
	  flex-direction: column;
	  gap: 0;
	}
}

/* 20250715 added */
#text03 .faq-list dl .sub{
clear: both;
padding:1.5em 2em 2em;
margin-top: 1em;
font-size: 93%;
border: 1px solid #95823A;
border-radius: 0.4em;
}
#text03 .faq-list dl .sub h3{
margin-bottom: 1em;
color: #95823A;
font-family: "Noto Serif JP", serif;
font-weight: 400;
border-bottom: 1px solid #95823A;
}

