@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
html,body {
	margin:0;
	padding:0;
	scroll-behavior: smooth;
	font-size: 62.5%; /*フォントサイズの規定値を１０pxに*/
	font-family: 'Noto Serif JP';
}
body {
margin: 0;
font-family: 'Noto Sans JP';
 font-size: 1.5rem;
 font-weight: 400;
 font-style: normal;
 color: #333;
 position: relative;
}
.main-print{
display: none
}

/*===============================================
●PC設定
===============================================*/
@media print, screen and  (min-width: 651px){
.esc-pc{
	display:none;
}
body{
font-size: clamp(0.9rem, 1.1vw, 1.7rem);
}
a{
	color: #444;
	text-decoration: none;
}
img { 
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
a img  {
	border:none;
}

ul {
	list-style:none;
	margin:0;
	padding:0;
}
li{
	margin-left:0;
}
table{
 border-collapse: collapse;
 width: 100%;
}
.ie7 body{
	overflow:hidden;
}
.img_right{
	float:right;
	margin-left:10px;
}
.clear{
	clear: both;
}
.clearfix:after { /*floatの解除*/
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	content:".";
}
.box_flex2{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
/*均等配置3列ーーーーーーーーーーーーーーーーーー*/
.box_flex3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box_flex3::after{
  content:"";
  display: block;
  width:31%;
}
.box_flex3 .inner{
width: 31%;
padding: 1%;
margin-bottom: 20px;
}
/*均等配置４列ーーーーーーーーーーーーーーーーーー*/
.box_flex4{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box_flex4::before{
  content:"";
  display: block;
  width:22%;
  order:1;
}
.box_flex4::after{
  content:"";
  display: block;
  width:22%;
}
.box_flex4 .inner{
width: 22%;
padding: 1%;
margin-bottom: 20px;
}

.inner img{
width: 100%;
}
.document {
	width:1100px;
	margin-left:auto;
	margin-right:auto;
	max-width:95%;
}

a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
}
h1 {
  width:250px;
  max-width: 22%;
  margin: 0;
  padding-top: 30px;
  padding-left:40px;
  position: fixed;
  z-index: 9996;
}
h1 img{
width: 100%;
}



header {
  /* headerを画面上部に固定する */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* スクロールしても他のコンテンツの下にならないようにする */
  z-index: 10;
 padding: 10px 0 20px 0;
  /* アニメーションの変化時間 */
  transition: 0.5s;
}

.box_nav{
  width: 1200px;
  max-width: 70%;
  margin-left: auto;
  margin-right: 3%; 
  padding-top: 35px
}
/* ナビゲーションのリンクを横並びにする */
nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}


/* ナビゲーションのリンクのスタイル調整 */
nav a {
  display: inline-block;
  margin-left: 12px;
  color: #333!important;
  font-size: clamp(1.2rem ,1.2vw, 2.2rem);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 1.5px;
  /* アニメーションの変化時間 */
  transition: 0.5s;
  font-family: 'Noto Serif JP';
  letter-spacing: 0.09rem;
  text-align: center;
  line-height: 110%
}
nav a .en_nav{
 font-size: clamp(1.0rem ,0.9vw, 2.0rem);
   font-family: 'Noto Sans JP';
   font-weight: 300
}
nav a:hover{
text-decoration: underline
}
nav a i{
 font-size: clamp(1.6rem ,2.0vw,4.0rem);
}
nav a img{
width: 7.0vw;
margin-top: -20px
}

/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
header.scroll-nav {
  height: 100px;
  /* 背景を白にする */
  background-color: rgba(255,255,255,0.7);
  /* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
header.scroll-nav a {
  color: #036!important
}
.titleimage{
position: relative
}
.titleimage img{
width: 100%
}

.titleimage .page_title{
position: absolute;
top:50%;
transform: translateY(-50%);
left: 15%;
font-size: 2.2vw;
font-weight: 500;
color: #333;
z-index: 9999;
font-family: 'Noto Serif JP';
letter-spacing: 0.5vw
}
.titleimage .page_title .en{
font-size: 1.2vw;
letter-spacing: 0.2vw
}
.pager{
text-align: center;
font-size: 2.2rem;
font-weight: 600
}
.pager a{
display: inline-block;
background-color: #81512c;
color: #FFF;
padding: 2px 5px;
margin: 0 2px
}
.pager .current{
display: inline-block;
background-color: #4ab281;
color: #FFF;
padding: 2px 5px;
margin: 0 2px
}
.bt_back{
padding-top: 50px
}
.bt_back a{
display: block;
background-color: #81512c;
color: #FFF;
width: 350px;
max-width: 80%;
margin: 0 auto;
border-radius: 25px;
padding: 10px 0;
font-size: 2.2rem;
font-weight: 400;
text-align: center;
}
/*パンくずリスト　ー--------------------------------------------------------------------------*/
.breadcrumbs {
	margin-left:auto;
	margin-right:auto;
	position: absolute;
	top:350px;
    left: 0;
    right: 0;
     margin: auto;
	width: 950px;
	height: 30px;
	font-weight: 300;
	color: #999;
}
.breadcrumbs a{
 color: #999;
}
/*フッター--------------------------------------------------------------------------*/

#footer {
background-color: #ffffbf;
padding-top: 100px;
font-weight: 500;
position: relative
}
#footer img{
width: 100%
}
.flex_footer{
width: 1265px;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.flex_footer .left{
width: 33%
}
.flex_footer .left .logo{
margin-bottom: 40px
}
.flex_footer .left .logo img{
width: 100%
}
.flex_footer .left .add{
font-size: clamp(1.3rem,1.2vw,2.2rem);
font-weight: 400;
letter-spacing: 0.1rem;
line-height: 200%
}
.flex_footer .right{
width: 62%
}
.flex_footer .right .flex_tel{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 50px
}
.flex_footer .right .flex_tel .tel{
font-size: clamp(1.6rem,2.5vw,4.7rem);
font-weight: 600;
font-family: 'Noto Serif JP';
letter-spacing: 0.5rem;
color: #81512c;
width: 55%
}
.flex_footer .right .flex_tel .tel .text_tel{
font-size: 2.6rem;
font-family: 'Noto Serif JP';
letter-spacing: 0.2rem;
}
.flex_footer .right .flex_tel .bt{
max-width: 100%;
width: 42%
}
.flex_footer .right .flex_tel .bt a{
display: block;
background-color: #81512c;
color: #FFF;
text-align: center;
padding: 13px 0;
font-size: clamp(1.2rem,1.5vw,2.2rem);
font-weight:500;
transition: 0.5s;
border-radius: 45px;
letter-spacing: 0.3rem;
}
.flex_footer .right .flex_tel  .bt a:hover{
background-color:#6f431f 
}
.flex_footer .right .sitemap{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.flex_footer .right .sitemap::after{
  content:"";
  display: block;
  width:24.5%;
}
.flex_footer .right .sitemap a {
  display: block;
  color: #333!important;
  font-size: clamp(1.2rem ,1.2vw, 2.2rem);
  font-weight: 600;
  text-decoration: none;
  width: 24.5%;
  font-family: 'Noto Serif JP';
  margin-bottom: 40px;
  color: #555
}
.flex_footer .right .sitemap .en_nav{
 font-size: clamp(1.0rem ,0.9vw, 2.0rem);
   font-family: 'Noto Sans JP';
   font-weight: 400
}
.flex_footer .right .sitemap:hover{
text-decoration: underline
}
.flex_footer .right .bunner img{
width: 100%
}
#footer .copy{
position: absolute;
font-size: 1.5rem;
color:#FFF;
bottom: 20px;
left: 20px;
font-weight: 400;
letter-spacing: 0.2rem
}
}
/*===============================================
●スマホ設定 画面の横幅が650px以下
===============================================*/
@media screen and  (max-width: 650px){
.esc-sp{
	display:none;
}
body{
font-size: 1.5rem;
line-height: 220%;
letter-spacing: 0.1em;
}
a{
	color: #444;
	text-decoration: none;
}
img { 
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
a img  {
	border:none;
}

ul {
	list-style:none;
	margin:0;
	padding:0;
}
li{
	margin-left:0;
}
table{
 border-collapse: collapse;
 width: 100%;
}
.ie7 body{
	overflow:hidden;
}
.img_right{
	float:right;
	margin-left:10px;
}
.clear{
	clear: both;
}
.clearfix:after { /*floatの解除*/
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	content:".";
}
/*均等配置3列ーーーーーーーーーーーーーーーーーー*/
.box_flex3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box_flex3::after{
  content:"";
  display: block;
  width:31%;
}
.box_flex3 .inner{
width: 31%;
padding: 1%;
margin-bottom: 20px;
}
/*均等配置４列ーーーーーーーーーーーーーーーーーー*/
.box_flex4{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box_flex4::before{
  content:"";
  display: block;
  width:22%;
  order:1;
}
.box_flex4::after{
  content:"";
  display: block;
  width:22%;
}
.box_flex4 .inner{
width: 22%;
padding: 1%;
margin-bottom: 20px;
}

.inner img{
width: 100%;
}
.document {
	width:1100px;
	margin-left:auto;
	margin-right:auto;
	max-width:95%;
}

a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
}
h2 {
  border-bottom: solid 3px #6d5b2f;
  position: relative;
  color: #6d5b2f;
  margin-top: 50px;
  margin-bottom: 25px;
  font-weight: 600;
  margin: 50px auto 25px auto
}

h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ffc778;
  bottom: -3px;
  width: 30%;
}

#header {

}
h1 {
  width:120px;
  max-width: 70%;
  margin: 0;
  position: absolute;
  left: 2%;
  top: 10px;
  z-index: 9995
}
h1 img{
width: 100%;
}
/*ナビゲーション---------------------------------------*/
nav.globalMenuSp {
	position:fixed;
	color: #069;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
	height: 100vh;
	z-index:15;
	background-color: #fefac4;
    z-index: 9998
	}
nav.globalMenuSp .box_nav1{
	padding-top: 80px;
	position: relative;
	overflow: hidden
	}
nav.globalMenuSp .box_nav1 a{
  display: block;
  text-align: center;
 margin:0 auto 20px auto;
 font-size: 2.2rem;
  line-height: 120%;
  font-weight: 600;
  font-family: 'Noto Serif JP';
  position: relative;
  transition: 0.5s
 }
nav.globalMenuSp .box_nav1 a .en_nav{
 font-size: 1.8rem;
 font-family: 'Noto Sans JP';
}
nav.globalMenuSp .box_nav1 a img{
width: 30%;
}
nav.globalMenuSp .box_nav1 .logo{
position: absolute;
top:20px;
left: 20px;
width: 30%;
}
nav.globalMenuSp .box_nav1 .logo img{
width: 100%
}


/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
 
nav.globalMenuSp ul li a {
    display: block;
}
nav.globalMenuSp ul li img{
	width:7px;
	padding-right:10px;
	margin-top:-10px;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}
nav.globalMenuSp ul li ul{
	margin-top:-20px;
	padding-bottom:5px;
}
nav.globalMenuSp ul li ul li{
	height:28px;
	padding-bottom:0;
	border:none;
	font-weight:normal;
}
/*ハンバーガー---------*/
.navToggle {
    display: block;
    position: fixed;  
    right: 13px;
    top: 2%;
	right: 2.7%;
    width: 50px;
    height: 48px;
    cursor: pointer;
    z-index: 9999;
   /*  background: #666;*/
    text-align: center;
	z-index:9999;
	background-color: rgba(255,255,255,0.6);
	border-radius: 5px;
}
 
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 35px;
    border-bottom: solid 3px #333;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 8px;
}
 
.navToggle span:nth-child(1) {
    top: 12px;
}
 
.navToggle span:nth-child(2) {
    top: 24px;
}
 
.navToggle span:nth-child(3) {
    top: 35px;
}
 
.navToggle span:nth-child(4) {
    border: none;
    color:  #069;
    font-size: 0.9rem;
    font-weight: bold;
    top: 34px;
}
/*タップ後のXボタン---------*/
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 20px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	border-bottom: solid 3px #333;
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 20px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	border-bottom: solid 3px #333;
}
.titleimage{
position: relative
}
.titleimage img{
width: 100%;
margin: 0
}

.titleimage .page_title{
position: absolute;
top:50%;
transform: translateY(-50%);
left: 7%;
font-size: 6.0vw;
font-weight: 600;
color: #333;
font-family: 'Noto Serif JP';
letter-spacing: 0.5vw;
line-height: 120%
}
.titleimage .page_title .en{
font-size: 3.5vw;
letter-spacing: 0.2vw
}
.pager{
text-align: center;
font-size: 2.2rem;
font-weight: 600
}
.pager a{
display: inline-block;
background-color: #81512c;
color: #FFF;
padding: 2px 5px;
margin: 0 2px
}
.pager .current{
display: inline-block;
background-color: #4ab281;
color: #FFF;
padding: 2px 5px;
margin: 0 2px
}
.bt_back{
padding-top: 50px
}
.bt_back a{
display: block;
background-color: #81512c;
color: #FFF;
width: 80%;
margin: 0 auto;
border-radius: 25px;
padding: 10px 0;
font-size: 1.8rem;
font-weight: 400;
text-align: center;
}
/*パンくずリスト　ー--------------------------------------------------------------------------*/
.breadcrumbs {
	margin-left:auto;
	margin-right:auto;
	position: absolute;
	top:350px;
    left: 0;
    right: 0;
     margin: auto;
	width: 950px;
	height: 30px;
	font-weight: 300;
	color: #999;
}
.breadcrumbs a{
 color: #999;
}
/*フッター--------------------------------------------------------------------------*/

#footer {
background-color: #ffffbf;
padding-top: 50px;
font-weight: 500;
position: relative
}
#footer img{
width: 100%
}
.flex_footer{
width: 85%;
margin: 0 auto;
}
.flex_footer .left{

}
.flex_footer .left .logo{
width: 80%;
margin: 0 auto 30px auto
}
.flex_footer .left .logo img{
width: 100%
}
.flex_footer .left .add{
font-size: 1.6rem;
font-weight: 400;
letter-spacing: 0.1rem;
line-height: 200%;
text-align: center
}
.flex_footer .right{
padding-top: 40px
}
.flex_footer .right .flex_tel{
margin-bottom: 50px
}
.flex_footer .right .flex_tel .tel{
font-size:3.0rem;
font-weight: 600;
font-family: 'Noto Serif JP';
letter-spacing: 0.5rem;
color: #81512c;
}
.flex_footer .right .flex_tel .tel a{
text-decoration: none
}
.flex_footer .right .flex_tel .tel .text_tel{
font-size: 2.0rem;
font-family: 'Noto Serif JP';
letter-spacing: 0.2rem;
}
.flex_footer .right .flex_tel .bt{
width: 70%;
max-width: 100%;
margin: 50px auto 0 auto
}
.flex_footer .right .flex_tel .bt a{
display: block;
background-color: #81512c;
color: #FFF;
text-align: center;
padding: 5px 0;
font-size: 1.6rem;
font-weight:500;
transition: 0.5s;
border-radius: 45px;
letter-spacing: 0.3rem
}
.flex_footer .right .sitemap{
display: none
}
.flex_footer .right .bunner img{
width: 100%
}
#footer .copy{
text-align: center;
padding-top: 30px;
padding-bottom: 30px;
font-size: 1.3rem;
font-weight: 400;
}
}
/*ページトップ--------------------------------------*/

#page-top {
	position: fixed;
	bottom: 1vh;
	right:2%;
	z-index: 9999;
}
#page-top a {
	text-decoration: none;
	color: #9C1846;
	padding: 0;
	font-weight:bold;
	font-size:4.0rem;
	text-align: center;
	display: block;
	border-radius: 300px;
	background-color: rgba(255,255,255,0.7)
}
#page-top a:hover {
	text-decoration: none;
	opacity: 0.7;
}


