@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
/*
* fontawesomeセット
* content:'\○○○';
* font: var(--fa-font-solid);
*/
body{
  background: #fff3e3;
  color: #6f4815;
  font-family: 'Zen Maru Gothic', sans-serif;
}
.w106{
  max-width: 1100px;
  padding: 0 20px;
  margin: 0 auto;
}
.w126{
  max-width: 1300px;
  padding: 0 20px;
  margin: 0 auto;
}
.w152{
  max-width: 1560px;
  padding: 0 20px;
  margin: 0 auto;
}
.w100p{
  width: calc( 100% - 200px );
  margin: 0 auto;
}
a,a:visited{
	transition: ease all .4s;
}
a:hover{
	opacity: .7;
}
@media screen and (min-width:769px){
  .sp_only{
    display: none;
  }
}
@media screen and (max-width:768px){
  .pc_only{
    display: none;
  }
}
@media screen and (max-width:1260px){
  .w100p{
    width: calc( 100% - 40px );
  }
}
/*=====================================
*
*header
*
=======================================*/
header{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99;
  transition: ease all .4s;
}
header .header_inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-right: 100px;
  width: 100%;
  transition: ease all .4s;
}
header .header_inner .logo{
  transition: ease all .4s;
  width: 200px;
}
header .header_inner .menu{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 50px;
  transition: ease all .4s;
}
header .header_inner .menu ul{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header .header_inner .menu ul li{
  margin-right: 40px;
  display: flex;
  align-items: center;
}
header .header_inner .menu ul li a{
  color: #6f4815;
  font-size: 20px;
  font-weight: 500;
  transition: ease all .4s;
}
header .header_inner .menu .btn a{
  background: #fff;
  border: 2px solid #6f4815;
  padding: 10px 60px;
  border-radius: 500px;
  font-weight: 500;
  font-size: 20px;
  color: #6f4815;
  position: relative;
  display: block;
  transition: ease all .4s;
}
header .header_inner .menu .btn a:before{
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: url(../images/arrow.png)no-repeat left top;
}
header.nofront{
  background: #fff3e3;
}
header.active{
  box-shadow: 0 -5px 20px 0 #00000061;
  background: #fff3e3;
}
header.active .header_inner{
  align-items: center;
  padding: 0 100px;
}
header.nofront .header_inner{
	max-width: 1560px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
  align-items: center;
}
header.active .logo,
header.nofront .logo{
  width: 80px;
}
header.active .header_inner .menu,
header.nofront .header_inner .menu{
  padding-top: 0;
}
header.active .header_inner .menu ul li a,
header.active .header_inner .menu .btn a,
header.nofront .header_inner .menu ul li a,
header.nofront .header_inner .menu .btn a{
  font-size: 16px;
}
@media screen and (max-width:1260px){
  header .header_inner .logo{
    width: 160px;
  }
  header .header_inner{
    padding-right: 20px;
  }
  header .header_inner .menu ul li a,
  header .header_inner .menu .btn a{
    font-size: 18px;
  }
  header .header_inner .menu{
    padding-top: 30px;
  }
  header.active .header_inner,
	header.nofront .header_inner{
    padding: 0 20px;
  }
  header.active .header_inner .logo,
	header.nofront .header_inner .logo {
    width: 80px;
  }
}
@media screen and (max-width:968px){
  header .header_inner .logo {
    width: 100px;
  }
  header .header_inner .menu{
    padding-top: 10px;
  }
  header .header_inner .menu ul li{
    margin-right: 20px;
  }
  header .header_inner .menu ul li a{
    font-size: 16px;
  }
  header .header_inner .menu .btn a {
    font-size: 16px;
    padding: 5px 40px;
  }
  header .header_inner .menu .btn a:before {
    width: 20px;
    height: 20px;
    background-size: 100%;
  }
}
@media screen and (max-width:768px){
  header{
    background: #fff3e3;
  }
  .modal_bg{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 98;
    pointer-events: none;
    opacity: 0;
    transition: ease all .4s;
  }
  .modal_bg.active{
    pointer-events: auto;
    opacity: .3;
  }
  header .header_inner{
    align-items: center;
  }
  header .header_inner .hum{
    display: block;
    width: 40px;
    height: 40px;
  }
  header .header_inner .hum span{
    width: 100%;
    height: 4px;
    background: #6f4815;
    border-radius: 500px;
    margin-top: 8px;
    display: block;
  }
  header .header_inner .menu {
    padding: 20px;
    padding-top: 60px;
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    height: 100%;
    background: #fff3e3;
    width: 70%;
    max-width: 240px;
    transition: ease all .4s;
    transform: translateX(100%);
  }
  header .header_inner .menu.active{
    transform: translateX(0);
  }
  header.active .header_inner .menu,
	header.nofront .header_inner .menu{
    padding: 20px;
    padding-top: 60px;
  }
  header .header_inner .menu .close{
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 30px;
  }
  header .header_inner .menu ul{
    display: block;
  }
  header .header_inner .menu ul li{
    margin: 0;
  }
  header .header_inner .menu ul li a{
    padding: 10px 0;
    display: block;
    border-bottom: 1px solid #f3e2ca;
    width: 100%;
  }
  header .header_inner .menu ul li:last-child a{
    border-bottom: none;
  }
  header .header_inner .menu .btn{
    margin-top: 20px;
  }
}
@media screen and (max-width:568px){
  header .header_inner .logo,
  header.active .header_inner .logo,
  header.nofront .header_inner .logo {
    width: 60px;
  }
  header.active .header_inner,
  header.nofront .header_inner{
    padding-left: 0;
  }
  
}
/*=====================================
*
*front
*
=======================================*/
.front_title{
  font-size: 60px;
  font-weight: 500;
}
.front_title.center{
  text-align: center;
}
.front_btn.center a{
  margin: 0 auto;
}
.front_btn a{
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  max-width: 360px;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  background: #6f4815;
  border-radius: 500px;
  padding: 10px;
  text-align: center;
}
.front_btn a::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  width: 40px;
  height: 40px;
  background: url(../images/arrow03.png)no-repeat left top;
}
.center_text{
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width:1420px){
  .front_title{
    font-size: 40px;
  }
}
@media screen and (max-width:1260px){
  .front_title{
    font-size: 32px;
  }
}
@media screen and (max-width:968px){
  .front_title{
    font-size: 28px;
  }
}
@media screen and (max-width:568px){
  .front_title{
    font-size: 24px;
  }
}
/*=====================================
*mv
=======================================*/
.mv{
  margin-top: 120px;
  position: relative;
}
.mv .mv_inner .slider{
  width: calc(100% - 200px);
  position: relative;
  left: 100%;
  transform: translateX(-100%);
  border-radius: 40px 0 0 40px;
  overflow: hidden;
}
.mv .mv_inner .text{
  font-size: 40px;
  font-weight: 500;
  color: #fff;
  position: absolute;
  left: 100px;
  bottom: 30px;
}
.mv .mv_inner .text span{
  background: #a02900;
  border-radius: 10px;
  line-height: 2;
  padding: 0px 20px;
}
@media screen and (max-width:1260px){
  .mv .mv_inner .slider{
    width: calc(100% - 160px);
  }
  .mv .mv_inner .text {
    font-size: 30px;
    left: 40px;
  }
}
@media screen and (max-width:968px){
  .mv{
    margin-top: 80px;
  }
  .mv .mv_inner .slider {
    width: calc(100% - 100px);
  }
  .mv .mv_inner .text {
    font-size: 30px;
    left: 20px;
    bottom: -30px;
  }
}
@media screen and (max-width:768px){
  .mv {
    margin-top: 100px;
  }
  .mv .mv_inner .slider {
    width: calc(100% - 40px);
  }
  .mv .mv_inner .text {
    left: 20px;
    bottom: -30px;
    font-size: 20px;
  }
  .mv .mv_inner .text span{
    font-size: 1.8;
  }
}
@media screen and (max-width:568px){
  .mv {
    margin-top: 70px;
  }
  .mv .mv_inner .slider {
    width: calc(100% - 10px);
  }
  .mv .mv_inner .text{
    font-size: 18px;
    bottom: -50px;
  }
  .mv .mv_inner .text span{
    left: 10px;
    line-height: 1.8;
  }
}

/*=====================================
*cta
=======================================*/
.cta{
  margin: 120px auto;
  position: relative;
}
.cta .btn{
    max-width: 720px;
    margin: 0 auto;
}
.cta .btn a{
  background: linear-gradient(to bottom,#fb6901,#ff8e3e);
  color: #fff;
  font-size: 42px;
  font-weight: 500;
  position: relative;
  display: block;
  border-radius: 500px;
  text-align: center;
  padding: 20px;
  padding-top: 50px;
  border: 3px solid #d55900;
}
.cta .btn a::before{
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  background: url(../images/arrow02.png)no-repeat left top;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}
.cta .btn a .image{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -80px;
}
.cta .btn a .text{
  
}
@media screen and (max-width:1260px){
  .cta .btn a {
    font-size: 32px;
    padding: 15px;
    padding-top: 60px;
  }
}
@media screen and (max-width:768px){
  .cta .btn a::before{
    width: 30px;
    height: 30px;
    right: 20px;
    background-size: 100%;
  }
  .cta .btn a {
    padding-top: 25px;
  }
}
@media screen and (max-width:568px){
  .cta{
    margin: 120px auto 0;
  }
  .cta .btn a .image{
    top: -40px;
  }
  .cta .btn a{
    font-size: 22px;
  }
}
/*=====================================
*section1
=======================================*/
.sec01{
  margin: 120px auto;
}
.sec01 .sec01_flex{
  margin: 80px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sec01 .sec01_flex.re{
  flex-flow: row-reverse;
}
.sec01 .sec01_flex .image{
  width: 50%;
  max-width: 800px;
  overflow: hidden;
  border-radius: 10px;
}
.sec01 .sec01_flex .text{
  width: 45%;
}
.sec01 .sec01_flex .text p{
  margin: 40px auto;
  font-size: 20px;
  line-height: 2;
}
@media screen and (max-width:1420px){
  .sec01 .sec01_flex .text{
    width: 47%;
  }
  .sec01 .sec01_flex .text p{
    font-size: 18px;
  }
}
@media screen and (max-width:1260px){
  .sec01 .sec01_flex .text p br{
    display: none;
  }
}
@media screen and (max-width:968px){
  .sec01 .sec01_flex .text p {
    font-size: 16px;
    margin: 20px auto;
  }
}
@media screen and (max-width:768px){
  .sec01 .sec01_flex,
  .sec01 .sec01_flex.re{
    flex-flow: column;
    gap: 20px;
  }
  .sec01 .sec01_flex .image,
  .sec01 .sec01_flex .text{
    width: 100%;
  }
  .sec01 .front_btn a{
    margin: 0 auto;
  }
}
@media screen and (max-width:568px){
  .sec01 {
    margin: 40px auto;
  }
}

/*=====================================
*blog
=======================================*/
.blog{
  padding: 80px 0;
  background: #fff;
}
.blog .blog_list{
  margin: 40px auto;
}
.blog .blog_list ol{
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.blog .blog_list ol li{
  width: 32%;
  margin-bottom: 30px;
}
.blog .blog_list ol li a{
  color: #6f4815;
}
.blog .blog_list ol li a .image{
  overflow: hidden;
  border-radius: 10px;
}
.blog .blog_list ol li a .text{
  margin-top: 10px;
}
.blog .blog_list ol li a .text .date{
  font-size: 14px;
}
.blog .blog_list ol li a .text h3{
  font-size: 16px;
  font-weight: 500;
}
.blog .blog_list .front_btn{
  margin-top: 40px;
}
@media screen and (max-width:968px){
  .blog{
    padding: 40px 0;
  }
}
@media screen and (max-width:568px){
  .blog .blog_list ol li{
    width: 100%;
  }
}

/*=====================================
*maps
=======================================*/
.maps{
  background: #6f4815;
  color: #fff;
  padding: 80px 0;
}
.maps .map_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.maps .map_flex .map{
  width: 48%;
  overflow: hidden;
  border-radius: 10px;
  height: 400px;
}
.maps .map_flex .text{
  width: 48%;
  line-height: 2;
}
.maps .map_flex .text p{
  margin: 20px auto;
  font-size: 24px;
}
@media screen and (max-width:1260px){
  .maps .map_flex .map{
    height: 320px;
  }
  .maps .map_flex .text p{
    font-size: 20px;
  }
}
@media screen and (max-width:968px){
  .maps{
    padding: 40px 0;
  }
  .maps .map_flex .map {
    height: 220px;
  }
  .maps .map_flex .text p {
    font-size: 16px;
  }
}
@media screen and (max-width:768px){
  .maps .map_flex{
    flex-flow: column;
    gap: 20px;
  }
  .maps .map_flex .map{
    width: 100%;
  }
  .maps .map_flex .text{
    width: 100%;
  }
}

/*=====================================
*section2
=======================================*/

/*=====================================
*section3
=======================================*/

/*=====================================
*section4
=======================================*/

/*=====================================
*section5
=======================================*/

/*=====================================
*section6
=======================================*/

/*=====================================
*section7
=======================================*/

/*=====================================
*section8
=======================================*/

/*=====================================
*section9
=======================================*/

/*=====================================
*section10
=======================================*/


/*=====================================
*
*single
*
=======================================*/
#single{
	margin-top: 80px;
}
#single .single_image{
	height: 320px;
    overflow: hidden;
    position: relative;
	border-radius: 10px;
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
}
#single .single_image img{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#single .maincontents{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1560px;
	padding: 0 20px;
	margin: 0 auto 80px;
}
#single .maincontents .contents{
	width: 70%;
}
#single .maincontents .contents h1{
	font-size: 40px;
	font-weight: 500;
	margin: 40px auto;
}
#single .maincontents .contents h2{
	font-size: 30px;
	font-weight: 500;
	margin: 40px auto 20px;
	border-bottom: 2px solid #6F4B3D;
	padding: 10px;
}
#single .maincontents .contents h3{
	font-size: 26px;
	font-weight: 500;
	margin: 40px auto 20px;
	border-left: 5px solid #6F4B3D;
	padding: 10px;
}
#single .maincontents .contents p{
	margin: 20px auto;
    font-size: 16px;
    line-height: 2;
}
.sidenav{
	width: 25%;
}
.sidenav .wp-block-heading{
	background: #6F4815;
    color: #fff;
    padding: 15px 20px;
    font-size: 20px;
    font-weight: 500;
    border-radius: 10px 10px 0 0;
	margin-top: 40px;
}
.sidenav .side_list{
	background: #fff;
	border-radius: 0 0 10px 10px;
	padding: 0 20px;
}
.sidenav .side_list li a{
	padding: 15px 10px;
    display: block;
    color: #6F4815;
    border-bottom: 1px dashed #6F4815;
    font-weight: 500;
}
.sidenav .side_list li:last-child a{
	border-bottom: none;
}
@media screen and (max-width: 1260px){
	#single .maincontents .contents h1 {
        font-size: 34px;
    }
	#single .maincontents .contents h2 {
        font-size: 28px;
    }
	#single .maincontents .contents h3 {
        font-size: 26px;
    }
}
@media screen and (max-width: 968px){
	#single .maincontents .contents h1 {
        font-size: 30px;
    }
	#single .maincontents .contents h2 {
        font-size: 24px;
    }
	#single .maincontents .contents h3 {
        font-size: 22px;
    }
}
@media screen and (max-width: 768px) {
	#single .maincontents .contents h1 {
        font-size: 28px;
    }
	#single .maincontents .contents h2 {
        font-size: 22px;
    }
	#single .maincontents .contents h3 {
        font-size: 20px;
    }
	.sidenav .wp-block-heading{
		padding: 10px 10px;
		font-size: 16px;
	}
	.sidenav .side_list li a{
		padding: 10px 5px;
		font-size: 14px;
	}
	.sidenav .side_list{
		padding: 0 10px;
	}
}
@media screen and (max-width: 568px){
	#single .maincontents{
		flex-flow: column;
	}
	#single .maincontents .contents{
		width: 100%;
	}
	.sidenav{
		width: 100%;
	}
}

/*=====================================
*
*page
*
=======================================*/
.page_header{
	margin: 0 auto;
	margin-top:80px;
	max-width: 1560px;
	padding: 0 20px;
	height: 360px;
	overflow: hidden;
	position: relative;
}
.page_header .image{
	border-radius: 10px;
    height: 100%;
    overflow: hidden;
}
.page_header h1{
	position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 40px;
    background: #a02900;
    max-width: 560px;
    width: 100%;
    border-radius: 10px;
    text-align: center;
    padding: 10px;
}
#page h2{
	font-size: 60px;
}
h2.page_title{
	text-align: center;
	font-weight: 500;
	color: #6f4815;
	margin: 80px auto;
	padding-bottom: 20px;
	position: relative;
}
h2.page_title::before{
	content: '';
    display: block;
    width: 268px;
    height: 7px;
    background: url(../images/page-title.png) no-repeat left top;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.page_flex{
	display: flex;
	justify-content: space-between;
	flex-flow: row-reverse;
	align-items: center;
	margin: 80px auto;
}
.page_flex.re{
	flex-flow: nowrap;
}
.page_flex .image{
	width: 45%;
	border-radius: 10px;
    overflow: hidden;
}
.page_flex .text{
	width: 52%;
	padding: 20px;
	display: flex;
    justify-content: center;
	position: relative;
}
.page_flex .text::before{
	content: '';
	display: block;
	width: 100%;
	max-width: 574px;
	height: 100%;
	max-height: 467px;
	background: url(../images/page-bg.png)no-repeat center center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform:translate(-50%,-50%);
	background-size: contain;
}
.page_flex .text h3{
	font-size: 36px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 40px;
	position: relative;
}
.page_flex .text p{
	font-size: 20px;
	line-height: 2;
	position: relative;
}
.page_flex02{
	background: #fff;
    border-radius: 10px;
    padding: 60px;
    margin: 120px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: row-reverse;
}
.page_flex02 .image{
	width: 45%;
	border-radius: 10px;
	overflow: hidden;
}
.page_flex02 .text{
	width: 52%;
}
.page_flex02 .text h2{
	text-align: left;
	font-size: 60px;
    font-weight: 500;
    color: #6f4815;
	margin-bottom: 40px;
    position: relative;
}
.page_flex02 .text p{
	font-size: 20px;
	line-height: 2;
}
.about{
	background: #6f4815;
	color:#fff;
	overflow: hidden;
}
.about .page_title{
	color: #fff;
}
.about .about_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10%;
	max-width: 1300px;
	padding: 0 20px;
	margin: 0 auto 60px;
}
.about .about_flex .member{
	width: 45%;
}
.about .about_flex .member .all{
	font-size: 30px;
    font-weight: 600;
    background: #fff;
    border-radius: 500px;
    padding: 10px;
    color: #6f4815;
    text-align: center;
	width: 90%;
    margin: 0 auto 40px;
}
.about .about_flex .member ol{
	display: flex;
	justify-content: space-between;
}
.about .about_flex .member .age{
	text-align: center;
	font-size: 20px;
	font-weight: 500;
}
.about .about_flex .member .age span{
	font-size: 26px;
	font-weight: 500;
}
.about .about_flex .member .age .age_title{
	font-size: 20px;
	font-weight: 500;
	background: #fff;
	padding: 5px 25px 10px;
	line-height: 1;
	border-radius: 500px;
	margin-bottom: 5px;
	color: #6f4815;
}
.about .about_flex .member .age .age_title span{
	font-size: 26px;
	font-weight: 500;
}
.about .about_flex .text{
	width: 35%;
	font-size: 20px;
	line-height: 1.8;
}
.about .about_flex .text strong{
	width: 90px;
    display: inline-block;
}
.map{
	margin: 120px auto;
	height: 520px;
	overflow: hidden;
    border-radius: 10px;
}
.message{
	margin: 120px auto;
    background: #fff;
    overflow: hidden;
	padding: 80px 0;
	position: relative;
	border-radius: 10px;
}
.message .pin img:nth-child(1){
	position: absolute;
	left: 20px;
	top: 20px;
}
.message .pin img:nth-child(2){
	position: absolute;
	right: 20px;
	top: 20px;
}
.message .pin img:nth-child(3){
	position: absolute;
	left: 20px;
	bottom: 20px;
}
.message .pin img:nth-child(4){
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.message h2{
	text-align: center;
    font-size: 60px;
    font-weight: 500;
    color: #6f4815;
    margin: 0 auto;
	margin-bottom: 50px;
	border-radius: 10px;
    position: relative;
}
.message .text{
	display: flex;
	justify-content: center;
	font-size: 20px;
	line-height: 2.3;
    position: relative;
}
.message .text .right{
	text-align: right;
    display: block;
    font-weight: 500;
    font-size: 24px;
}
.about_bottom{
	display: flex;
	justify-content: space-between;
	margin: 120px auto;
}
.about_bottom .about_bottom_inner{
	width: 49%;
	max-width: 600px;
	background: #fff;
	border-radius: 10px;
	position: relative;
	padding: 0 40px;
}
#page .about_bottom .about_bottom_inner h2{
	background: linear-gradient(to bottom,#fb6901,#ff8e3e);
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	padding: 20px;
	text-align: center;
	width: 70%;
	border-radius: 10px;
	margin: 0 auto;
	position: relative;
	transform:translateY(-50%);
}
.about_bottom .about_bottom_inner ol{
	padding-bottom: 40px;
}
.about_bottom .about_bottom_inner ol li a{
	color: #6f4815;
    padding: 15px;
	font-weight: 500;
    display: block;
	border-bottom: dashed 1px #d4c8b8;
}
.about_bottom .about_bottom_inner ol li:last-child a{
	border-bottom: none;
}
.about_bottom .about_bottom_inner h3{
	font-size: 18px;
	font-weight: 500;
	margin-top: 40px;
}
.about_bottom .about_bottom_inner .bottom_dot{
	display: flex;
	justify-content: flex-start;
	margin: 40px auto;
}
.about_bottom .about_bottom_inner .bottom_dot h3{
	margin-top: 0;
	width: 150px;
}
.about_bottom .about_bottom_inner .bottom_dot .dot{
	margin: 0 20px;
}
.about_bottom .about_bottom_inner .bottom_dot .text{
	font-size: 12px;
}
.about_bottom .about_bottom_inner .bottom_dot .text span{
	font-weight: 500;
	font-size: 16px;
}
.about_bottom .about_bottom_inner .bg{
	background: #fff3e3;
	text-align: center;
	padding: 10px;
	border-radius: 500px;
	margin: 20px auto;
	font-size: 18px;
	font-weight: 500;
}
.about_bottom .about_bottom_inner .btn a{
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  max-width: 360px;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  background: #6f4815;
  border-radius: 500px;
  padding: 10px;
  text-align: center;
	margin: 40px auto;
}
.about_bottom .about_bottom_inner .btn a::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  width: 40px;
  height: 40px;
  background: url(../images/arrow03.png)no-repeat left top;
}
#page .left_text{
	margin: 60px auto;
	display: flex;
	justify-content: center;
	line-height: 3;
    font-size: 20px;
}
.sc_wrapper{
	margin: 80px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sc_wrapper .sc_inner{
	width: 48%;
	background: #fff;
	border-radius: 10px;
	padding: 40px;
	margin-bottom: 4%;
	position: relative;
}
.sc_wrapper .sc_inner .pin img:nth-child(1){
	position: absolute;
	left: 20px;
	top: 20px;
}
.sc_wrapper .sc_inner .pin img:nth-child(2){
	position: absolute;
	right: 20px;
	top: 20px;
}
.sc_wrapper .sc_inner .pin img:nth-child(3){
	position: absolute;
	left: 20px;
	bottom: 20px;
}
.sc_wrapper .sc_inner .pin img:nth-child(4){
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.sc_wrapper .sc_inner h3{
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}
.sc_wrapper .sc_inner h3 span{
	font-size: 30px;
}
.sc_wrapper .sc_inner ol{
	margin-top: 20px;
}
.sc_wrapper .sc_inner ol li{
	border-bottom: 1px dashed #d4c8b8;
    padding: 20px;
    font-size: 20px;
    font-weight: 500;
}
.sc_wrapper .sc_inner ol li:last-child{
	border-bottom: none;
}
.sc_note{
	margin-top: -120px;
}
.imaeg_flow{
	margin: 20px auto;
}
.imaeg_flow ol{
	display: flex;
	justify-content: space-between;
}
.imaeg_flow ol li{
	border-radius: 10px;
	overflow: hidden;
}
.flow_table{
	margin:40px auto;
}
.flow_table .flow_title_wrapper{
	display: flex;
	justify-content: space-between;
}
.flow_table .flow_title_wrapper .title_inner{
	width: 48%;
	border-radius: 500px;
	color: #fff;
	text-align: center;
	font-size: 30px;
	font-weight: 500;
	background: #6f4815;
	padding: 5px;
}
.flow_table .flow_time{
	display: flex;
	justify-content: space-between;
	margin: 20px auto;
}
.flow_table .flow_time .cont{
	background: #fff;
	border-radius: 500px;
	padding: 15px 5px;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	width: 30%;
}
.flow_table .flow_time .time{
	border-radius: 500px;
	padding: 5px;
	text-align: center;
	font-size: 34px;
	font-weight: 500;
	width: 38%;
	background: #333;
	color: #fff;
	position: relative;
}
.flow_table .flow_time .time::before{
	content: '';
	width: 30px;
	height: 30px;
	background: url(../images/clock.png)no-repeat left top;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translatey(-50%);
}
.flow_table .flow_time .time.orange01{background: #fdae77;}
.flow_table .flow_time .time.orange02{background: #fda96e;}
.flow_table .flow_time .time.orange03{background: #fca263;}
.flow_table .flow_time .time.orange04{background: #fc9d5a;}
.flow_table .flow_time .time.orange05{background: #fe9952;}
.flow_table .flow_time .time.orange06{background: #fe954b;}
.flow_table .flow_time .time.orange07{background: #fd8e40;}
.flow_table .flow_time .time.orange08{background: #fd8937;}
.flow_table .flow_time .time.orange09{background: #fe832c;}
.flow_table .flow_time .time.orange10{background: #fd7d22;}
.flow_table .flow_time .time.orange11{background: #fe7818;}
.flow_table .flow_time .time.orange12{background: #ff720d;}
.flow_table .flow_time .time.orange13{background: #fb6901;}
.lunch{
	margin: 120px auto;
}
.lunch .lunch_flex{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.lunch .lunch_flex .image{
	overflow: hidden;
	border-radius: 10px;
	width: 30%;
}
.lunch .lunch_flex .text{
	width: 35%;
	display: flex;
	justify-content: center;
}
.lunch .lunch_flex .text .text_inner h2{
	text-align: center;
    font-size: 60px;
    font-weight: 500;
    color: #6f4815;
    margin: 0 auto 20px;
    position: relative;
}
.lunch .lunch_flex .text .text_inner p{
	font-size: 20px;
	line-height: 2.5;
}
.contact{
    max-width: 800px;
    margin: 80px auto;
    padding: 0 20px;
}
.contact .contact_inner{
    border-radius: 10px;
    padding: 20px;
    background: #fff;
}
.contact .contact_table{
	width: 100%;
}
.contact .contact_table th{
	text-align: left;
	vertical-align: top;
	padding: 10px;
	font-weight: 500;
    font-size: 16px;
}
.contact .contact_table td{
	padding: 10px;
}
.contact .contact_table td input,
.contact .contact_table td textarea{
    width: 100%;
    display: block;
    padding: 8px 5px;
    border-radius: 5px;
    border: 1px solid #cccc;
}
.contact .contact_table td input:focus,
.contact .contact_table td textarea:focus{
	border: 1px solid #6f4815;
	outline: none;
}
.contact .submit_btn{
	text-align: center;
}
.contact .submit_btn input{
	max-width: 320px;
    width: 100%;
    margin: 0 auto;
    background: linear-gradient(to bottom, #fb6901, #ff8e3e);
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    display: block;
    border-radius: 10px;
    text-align: center;
    padding: 10px;
    border: none;
    margin-top: 20px;
}
.thanks_cont{
	text-align: center;
    margin: 80px auto;
    font-size: 20px;
    line-height: 2;
}
.privacy{
	margin-top: 80px;
}
.privacy h1{
	font-size: 40px;
	text-align: center;
    margin-bottom: 40px;
	font-weight: 500;
}
.privacy ol,
.privacy ul{
	margin: 40px auto;
    border-radius: 10px;
    background: #ffffff70;
    padding: 20px;
    display: flex;
    flex-flow: column;
    gap: 10px;
}
.privacy ol li,
.privacy ul li{
	list-style: disc;
    list-style-position: inside;
}
.privacy p{
	margin: 20px auto;
	line-height: 2;
}
#page .privacy h2 {
	font-size: 24px;
	font-weight: 500;
}
@media screen and (max-width:1420px){
	.page_header h1,
	.privacy h1{
		font-size: 30px;
	}
	#page h2{
		font-size: 40px;
	}
	.page_flex .text h3{
		font-size: 26px;
	}
	.page_flex .text p,
	.page_flex02 .text p{
		font-size: 18px;
	}
	.map{
		height: 320px;
	}
	#page .left_text{
		font-size: 18px;
	}
	.lunch .lunch_flex .text .text_inner p{
		font-size: 18px;
	}
	.imaeg_flow ol li{
		width: 24%;
	}
}
@media screen and (max-width:1260px){
	#page h2{
		font-size: 32px;
	}
	.page_flex .text h3 {
        font-size: 22px;
    }
	.page_flex .text p,
	.page_flex02 .text p {
        font-size: 16px;
    }
	.page_flex02{
		padding: 20px;
	}
	.page_flex02 .image{
		width: 42%;
	}
	.page_flex02 .text {
		width: 55%;
	}
	.page_flex02 .text h2{
		margin-bottom: 20px;
	}
	.about .about_flex{
		gap: 4%;
	}
	.about .about_flex .member {
        width: 55%;
    }
	.about .about_flex .text {
    	width: 40%;
	}
	.about .about_flex .member .all{
		font-size: 24px;
    	margin: 0 auto 20px;
	}
	.about .about_flex .member .age .age_title,
	.about .about_flex .member .age{
		font-size: 16px;
	}
	.about .about_flex .member .age .age_title span,
	.about .about_flex .member .age span{
		font-size: 20px;
	}
	.about .about_flex .text{
		font-size: 18px;
	}
	.message .text{
		font-size: 18px;
	}
	.about_bottom .about_bottom_inner{
		padding: 0 20px;
	}
	#page .about_bottom .about_bottom_inner h2{
		width: 90%;
		font-size: 24px;
	}
	.about_bottom .about_bottom_inner h3 {
		font-size: 16px;
	}
	.about_bottom .about_bottom_inner .bottom_dot h3 {
		width: 140px;
	}
	.about_bottom .about_bottom_inner .bottom_dot .dot {
		margin: 0 10px;
	}
	.about_bottom .about_bottom_inner .bottom_dot .text span {
		font-size: 14px;
	}
	.sc_note {
		margin-top: -100px;
	}
	.lunch .lunch_flex .text .text_inner p {
        font-size: 16px;
    }
	.lunch .lunch_flex .text .text_inner p br{
		display: none;
	}
}
@media screen and (max-width:968px){
	#page h2,
	.privacy h1{
		font-size: 28px;
	}
	.page_header{
		height: 260px;
	}
	.page_flex .text h3 {
        font-size: 18px;
		margin-bottom: 20px;
    }
	.page_flex .text p br{
		display: none;
	}
	.about .about_flex {
        gap: 40px;
        flex-flow: column;
    }
	.about .about_flex .member {
        width: 100%;
        max-width: 520px;
    }
	.about .about_flex .text {
        font-size: 18px;
		width: 100%;
        max-width: 520px;
    }
	.message .text {
        font-size: 16px;
    }
	.about_bottom {
		flex-flow: column;
		gap: 80px;
	}
	.about_bottom .about_bottom_inner {
		width: 100%;
		max-width: 100%;
	}
	.about_bottom .about_bottom_inner .bottom_dot h3 {
		width: 150px;
	}
	.about_bottom .about_bottom_inner .bottom_dot .dot {
        margin: 0 20px;
    }
	.about_bottom .about_bottom_inner .bottom_dot .text span {
		font-size: 16px;
	}
	.sc_wrapper .sc_inner h3{
		font-size: 20px;
	}
	.sc_wrapper .sc_inner h3 span {
		font-size: 24px;
	}
	.flow_table .flow_title_wrapper .title_inner{
		font-size: 24px;
	}
	.flow_table .flow_time .time{
		font-size: 24px;
	}
	.flow_table .flow_time .cont{
		font-size: 18px;
	}
	.sc_wrapper .sc_inner ol li {
		padding: 15px;
		font-size: 18px;
	}
	.thanks_cont{
		margin: 40px auto;
		font-size: 18px;
	}
}
@media screen and (max-width:768px){
	h2.page_title{
		margin: 40px auto;
	}
	.page_header {
        height: 180px;
    }
	.page_header h1 {
        font-size: 24px;
        max-width: 320px;
    }
	.page_flex,
	.page_flex.re,
	.page_flex02{
		flex-flow: column;
    	gap: 20px;
		margin: 40px auto;
	}
	.page_flex .image,
	.page_flex .text,
	.page_flex02 .image,
	.page_flex02 .text{
		width: 100%;
	}
	.page_flex .text{
		padding: 0;
	}
	.page_flex02 .text p .pc{
		display: none;
	}
	.map{
		margin: 40px auto;
	}
	.message{
		margin: 40px auto;
	}
	.message .text{
		padding: 0 20px;
	}
	.message .text br{
		display: none;
	}
	.about_bottom{
		margin: 80px auto 40px;
	}
	.about_bottom .about_bottom_inner .bottom_dot h3 {
        width: 130px;
    }
	.about_bottom .about_bottom_inner .bottom_dot .dot {
        margin: 0 10px;
    }
	.about_bottom .about_bottom_inner .bottom_dot .text span {
        font-size: 14px;
    }
	#page .left_text {
        font-size: 16px;
        line-height: 2;
		margin: 40px auto;
    }
	.sc_wrapper{
		flex-flow: column;
		margin: 40px auto;
	}
	.sc_wrapper .sc_inner{
		width: 100%;
	}
	.sc_note {
        margin-top: -90px;
    }
	.flow_table .flow_time{
		position: relative;
		margin-top: 30px;
	}
	.flow_table .flow_title_wrapper .title_inner {
        font-size: 18px;
    }
	.flow_table .flow_time .cont {
		font-size: 14px;
        width: 48%;
    }
	.flow_table .flow_time .time {
        font-size: 16px;
		width: 50%;
		max-width: 150px;
		line-height: 1.2;
		position: absolute;
        left: 50%;
        top: 0;
        transform: translate(-50%, -50%);
    }
	.flow_table .flow_time .time::before{
		width: 20px;
    	height: 20px;
		left: 5px;
		background-size: 100%;
	}
	.lunch{
		margin: 40px auto;
	}
	.lunch .lunch_flex{
		flex-flow: column;
		gap: 20px;
	}
	.lunch .lunch_flex .image{
		width: 100%;
		max-width: 460px;
	}
	.lunch .lunch_flex .text{
		width: 100%;
	}
	.contact{
		margin: 40px auto;
	}
	.contact .contact_table th{
		display: block;
		padding-bottom: 0;
	}
	.contact .contact_table td{
		display: block;
	}
}
@media screen and (max-width: 568px) {
    #page h2 {
        font-size: 24px;
    }
	#page .privacy h2{
		font-size: 18px;
	}
	.page_header {
        height: 140px;
    }
	.page_header h1 {
        font-size: 18px;
        max-width: 180px;
    }
	.page_flex02 .text p {
        font-size: 15px;
    }
	.about .about_flex .member ol{
		flex-wrap: wrap;
	}
	.about .about_flex .member .age{
		width: 32%;
		margin-bottom: 10px;
	}
	.about .about_flex .text{
		font-size: 16px;
	}
	.map {
        height: 200px;
    }
	.message{
		padding: 40px 0;
	}
	.message h2{
		margin-bottom: 20px;
	}
	.about_bottom .about_bottom_inner .bottom_dot{
		flex-flow: column;
		gap: 10px;
	}
	.about_bottom .about_bottom_inner .bottom_dot .dot {
        display: none;
    }
	.sc_note {
        font-size: 12px;
    }
	.contact .contact_table th{
		display: block;
		padding: 0;
		padding-top: 20px;
	}
	.contact .contact_table td{
		display: block;
		padding: 0;
		padding-top: 10px;
	}
}
/*=====================================
*
*archive
*
=======================================*/
#archive{
	margin-top: 80px;
}
#archive .maincontents{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1560px;
	padding: 0 20px;
	margin: 0 auto 80px;
}
#archive .maincontents .contents{
	width: 70%;
}
#archive .maincontents .contents h1{
	font-size: 40px;
    font-weight: 500;
    margin: 40px auto;
}
.looplist ol{
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.looplist ol li{
  width: 32%;
  margin-bottom: 30px;
}
.looplist ol li a{
  color: #6f4815;
}
.looplist ol li a .image{
  overflow: hidden;
  border-radius: 10px;
}
.looplist ol li a .text .date{
  font-size: 14px;
}
.looplist ol li a .text h2{
  font-size: 16px;
  font-weight: 500;
}
.looplist ol li .taglist{
	margin-top: 5px;
}
.looplist ol li .taglist li{
	margin-bottom: 5px;
}
.looplist ol li .taglist li a{
	background: #fff;
    border-radius: 500px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 500;
}
.page-numbers{
	display: flex;
    justify-content: flex-end;
    align-items: center;
	gap: 20px;
}
.page-numbers li a{
	color: #6f4815;
}
.page-numbers li span{
	width: 30px;
    height: 30px;
    background: #6f4815;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 1260px){
	#archive .maincontents .contents h1 {
        font-size: 34px;
    }
}
@media screen and (max-width: 968px){
	#archive .maincontents .contents h1 {
        font-size: 30px;
    }
}
@media screen and (max-width: 768px) {
	#archive .maincontents .contents h1 {
        font-size: 28px;
    }
}
@media screen and (max-width:568px){
	.looplist ol li{
		width: 100%;
	}
	#archive .maincontents{
		flex-flow: column;
	}
	#archive .maincontents .contents{
		width: 100%;
	}
}
/*=====================================
*
*breadcrumb
*
=======================================*/

/*=====================================
*
*toc
*
=======================================*/

/*=====================================
*
*footer
*
=======================================*/
.footer_inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer_inner .footer_logo{
  width: 140px;
}
.footer_inner .footer_menu{
  display: flex;
  justify-content: flex-end;  
}
.footer_inner .footer_menu ol{
  display: flex;
  justify-content: flex-end;  
}
.footer_inner .footer_menu ol li {
  margin-right: 40px;
  display: flex;
  align-items: center;
}
.footer_inner .footer_menu ol li a{
  color: #6f4815;
  font-size: 20px;
  font-weight: 500;
}
.footer_inner .footer_menu .btn a{
  background: #fff;
  border: 2px solid #6f4815;
  padding: 10px 60px;
  border-radius: 500px;
  font-weight: 500;
  font-size: 20px;
  color: #6f4815;
  position: relative;
  display: block;
}
.footer_inner .footer_menu .btn a:before{
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: url(../images/arrow.png)no-repeat left top;
}
.footer_inner .copyright{
  font-size: 14px;
  text-align: right;
  margin-top: 10px;
}
@media screen and (max-width:1260px){
  .footer_inner .footer_menu .btn a{
    font-size: 16px;
  }
  .footer_inner .footer_menu ol li a{
    font-size: 16px;
  }
}
@media screen and (max-width:968px){
  .footer_inner{
    padding: 20px 0 10px;
  }
  .footer_inner .footer_logo {
    width: 80px;
  }
  .footer_inner .footer_menu ol li{
    margin-right: 20px;
  }
  .footer_inner .footer_menu .btn a {
    font-size: 16px;
    padding: 5px 40px;
  }
  .footer_inner .footer_menu .btn a:before {
    width: 20px;
    height: 20px;
    background-size: 100%;
  }
}
@media screen and (max-width:768px){
  .footer_inner .footer_menu{
    flex-flow: column;
  }
  .footer_inner .footer_menu ol li {
    margin-left: 20px;
    margin-right: 0;
  }
  .footer_inner .footer_menu .btn{
    margin-top: 10px;
    text-align: right;
  }
  .footer_inner .footer_menu .btn a{
    display: inline-block;
  }
}
@media screen and (max-width:568px){
  .footer_inner .footer_logo {
    width: 60px;
  }
  .footer_inner .footer_menu ol li a {
    font-size: 13px;
  }
}

/*=====================================
*
*sidenav
*
=======================================*/

/*=====================================
*
*pc&tablet&spのnone処理
*
=======================================*/
/*=====================================
*pcのみ
=======================================*/
@media screen and (min-width: 1025px){
  .pcnone{
    display: none;
  }
}
/*=====================================
*tablet用
=======================================*/
@media screen and (max-width: 1024px) and (min-width: 415px){
  .tabnone{
    display: none;
  }
}
/*=====================================
*sp用
=======================================*/
@media screen and (max-width:414px){
  .spnone{
    display: none;
  }
}
