@charset "utf-8";
/* CSS Document */
*, *:before, *:after {
  box-sizing: border-box; }

html {
  font-size: 62.5%; 
}
  html:focus {
    outline: none; 
}

body {
  font-size: 16px;
  line-height: 1.6;
  color: #333333;
  background: #EBE7E0 url(../images/bg_flowthing.jpg)no-repeat;
  background-position: center;
  background-attachment: fixed;
  background-size: cover;
  background-blend-mode: multiply;
  margin: 0;
  font-family: 'Zen Old Mincho', serif;
  @media screen and (max-width: 768px) {
	background-attachment: scroll;
	background: #EBE7E0 url(../images/bg_flowthing_sp.jpg)no-repeat;
  }
}
main {
  display: block;
}

ul,
ol {
  margin: 0;
  padding: 0 0 0 15px; 
}

/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in .1s;
  max-width: 970px !important; 
}
  @media screen and (min-width: 1211px) {
    .container {
      max-width: 940px; 
	} 
	}
  @media screen and (min-width: 768px) and (max-width: 1210px) {
    .container {
      max-width: 940px;
      padding-left: 5%;
      padding-right: 5%; 
	} 
}
  @media screen and (max-width: 768px) {
    .container {
      max-width: 750px; 
	} 
}
/* ----------------------------------- */
/* リンク */
/* ----------------------------------- */
a {
  color: #000;
  text-decoration: none;
  transition: all ease .3s; }
  a:hover, a:focus {
    text-decoration: none;
    transition: all ease .3s; }
  a:focus, a:active, a:hover {
    outline: 0;
    text-decoration: none; }
  a img:hover {
    opacity: 0.8; }

/* ------------------------------------------ /
/ 表示非表示 /
/ ------------------------------------------ */
.pc {
  display: none !important; 
}

@media (min-width: 768px) {
  .pc {
    display: block !important; 
	} 
}
.sp {
  display: block !important; 
}

@media (min-width: 768px) {
  .sp {
    display: none !important; 
} 
}

/* ----------------------------------- */
/* clearfix
/* ----------------------------------- */
.clearfix:before, .clearfix:after, .container:before, .container:after {
  content: " ";
  display: table;
}

.clearfix:after, .container:after {
  clear: both;
 }

/* ---------------------------------------------*/
/* 共通 */
/* ---------------------------------------------*/
.box:nth-of-type(n + 2) {
  margin-top: 80px; 
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  margin: 0 0 20px;
 }

/*スライド画像の横幅可変*/
img {
  max-width: 100%;
  height: auto; 
}

/* ---------------------------------------------------------------- */
/* header02 */
/* ---------------------------------------------------------------- */
#header {
	position: fixed;
	top: 30px;
	width: 100%;
	margin: 0 auto;
	z-index: 99; 
	transition: ease-in .1s;
    width: 100%;
}
#header #headerCnt {
    display: flex;
	display: -webkit-flex;
    align-items: center;
	-webkit-align-items: center;
    width: 100%;
	max-width: 940px;
    height: 72px;
    margin: 0 auto;
	padding: 10px 40px;
	background: #988263;
	border-radius: 36px;
	font-family: "Sorts Mill Goudy", serif;
}
#header #headerCnt #logoArea {
    flex-basis: 100px;
    width: 100px;
    align-self: center; 
	margin-right: 40px;
}
#header #headerCnt #logoArea a{
   font-size: 42px;
   font-weight: 400;
   font-family: "Sorts Mill Goudy", system-ui;
   color: #fff;
}
#header #headerCnt #headerContact{
	display: inline-flex;
	margin-left: auto;
	height: 100%;
    align-items: center;
}
#header #headerCnt #headerContact #mainaviArea{
	height: 100%;
    display: flex;
	display: -webkit-flex;
    align-items: center;
	-webkit-align-items: center;
}
#header #headerCnt #headerContact #mainNaviArea ul {
     list-style: none;
     padding: 0;
	 margin: 0;
	 display: flex;
	 display: -webkit-flex;
}
#header #headerCnt #headerContact #mainNaviArea ul li {
    margin-right: 20px; 
}
#header #headerCnt #headerContact #mainNaviArea ul li a {
   color: #fff;
   font-size: 16px;
   font-weight: 400;
   text-decoration: none;
}
#header #headerCnt #headerContact #contactArea{
	width: 110px;
	height: 35px;
	background: #fff;
	border-radius: 20px;
}
#header #headerCnt #headerContact #contactArea a{
	width: 100%;
	height: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}
#header-overlay {
	display: none;
	transition: all .5s;
}
@media screen and (max-width: 900px) {
	#header #headerCnt #headerContact #mainNaviArea ul li{
		 margin-right: 10px; 
	}
	#header #headerCnt #headerContact #mainNaviArea ul li a{
		font-size: 12px;
	}
}
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #header #headerCnt{
      max-width: 970px;
      padding-left: 15px !important;
      padding-right: 15px !important; 
	}
}
  @media screen and (max-width: 768px) {
     #header #headerCnt {
        max-width: 750px;
        padding-left: 15px !important;
        padding-right: 15px !important; 
	 }
     #header #headerCnt #logoArea {
         width: 1310px;
         flex-basis: 132px;
         height: auto;
         padding-bottom: 0px;
         padding-top: 5px; 
		 margin-right: 20px;
	 }
	#header #headerCnt #headerContact #mainNaviArea{
     	display: none; 
	} 
}
@media screen and (max-width: 768px) {
	#header{
		top: 20px;
		z-index: 99; 
	}
	#header #headerCnt{
		height: 50px;
	}
	#header #headerCnt #logoArea a {
		font-size: 30px;
	 }
	#header #headerCnt #headerContact #contactArea{
		display: none;
	}
	#header #drawerNaviWrap{
		display: block;
	}
}
/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.openSpNavi {
	width: 100%;
	height: 100%;
}
.openSpNavi #header::before{
	display: block;
}
#header::before{
	display: none;
	position: absolute;
	top: -20px;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	height: 70px;
	width: 100%;
	content: "";
	z-index: -1;
}
/* ----------------------------------- */
/* ハンバーガーメニュー */
/* ----------------------------------- */
.admin-bar #navi_contents.navi_contents-on {
	padding-top: 46px !important; 
}
  
#drawerNaviWrap {
	position: absolute;
	top: 0;
    right: 0;
	font-weight: 400; 
}
#drawerNaviWrap .drawerNaviBtnWrap {
	width: 40px;
	height: 40px;
	position: relative;
	cursor: pointer;
	background: #FFFFFF;
	border-radius: 50%; 
}
#drawerNaviWrap .drawerNaviBtn {
	display: block;
	position: absolute;
	top: 12px;
	left: 50%;
	width: 20px;
	margin-left: -10px;
	height: 15px;
	transition: all .5s;
	z-index: 3; 
}
#drawerNaviWrap .drawerNaviBtn span {
	display: block;
	position: absolute;
	left: 0;
	width: 20px;
	height: 1px;
	background-color: #988263;
	border-radius: 2px;
	transition: all .5s; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
	top: 0; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
	top: 7px; 
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(3) {
	bottom: 0; 
}
#drawerNaviWrap .drawer-nav {
	display: block;
	position: fixed;
	top: 70px;
	right: -375px;
	bottom: 0;
	width: 390px;
	background: #fff;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: 1000;
	opacity: 0; 
}
#drawerNaviWrap .drawer-nav .drawerInner {
	padding: 60px 0 0 40px
}
#drawerNaviWrap .drawer-nav ul {
	margin: 0;
	padding: 0;
	width: 100%;
	list-style: none;
	margin-bottom: 38px; 
}
#drawerNaviWrap .drawer-nav ul li {
	margin: 0;
	list-style: none;
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	align-items: center;
	-webkit-align-items: center;
	padding-bottom: 15px;
}
#drawerNaviWrap .drawer-nav ul li a {
	width: 100%;
	text-decoration: none;
	display: block;
	color: #988263;
	font-size: 26px;
	transition-duration: 0.2s;
	font-weight: 400; 
}
#drawerNaviWrap .drawer-nav ul li .fa-external-link {
	padding-left: 5px; 
}
#drawerNaviWrap.open #drawerNaviWrap {
	position: relative;
	right: 0; 
}
#drawerNaviWrap.open .drawerNaviBtnWrap {
	border: none;
	z-index: 10;
	width: 40px;
	height: 40px;
}
#drawerNaviWrap.open .drawerNaviBtn {
	top: 10px;
	left: 10px;
	margin-left: 0;
	position: relative;
}
#drawerNaviWrap.open .drawerNaviBtn span{
	display: none;
}
#drawerNaviWrap.open .drawerNaviBtn::before{
	position: absolute;
	content: "×";
	right: 0; 
	color: #988263;
	font-size: 40px;
	display: block;
	top: -22px;
}
#drawerNaviWrap.open .drawer-nav {
	right: 0;
	opacity: 1;
	background: #fff;
	padding: 0 15px; 
}
  
#drawerNaviWrap {
	display: none; 
}
  
@media screen and (max-width: 768px) {
	#drawerNaviWrap {
	  display: block !important; 
	} 
}
#drawerNaviWrap {
    position: relative;
    z-index: 10000; /* headerよりも高く設定 */
}

/* ---------------------------------------------------------------- */
/* #page */
/* ---------------------------------------------------------------- */
#page02,#page03,#page04,#page05,#page06,#page07,#page08,#page09,#page10{
	height: 1px;
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}
/* ---------------------------------------------------------------- */
/* footer */
/* ---------------------------------------------------------------- */
#footer{
	padding: 80px 0 90px;
	background: #988263;
	color: #fff;
	position: relative;
}
#footer .footerinner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	display: -webkit-flex;
	-webkit-justify-content:  space-between;
}
#footer .footerinner .footerlogoArea{
	max-width: 250px;
	flex-basis: 250px;
}
#footer .footerinner .footerlogoArea .logo{
	margin:  0 0 30px;
}
#footer .footerinner .footerlogoArea .logo a{
	font-size: 70px;
	font-weight: 400;
	color: #fff;
	line-height: 1;
}
#footer .footerinner .footeogoArea .copyright p{
	font-size: 14px;
	font-weight: 400;
	margin: 0;
}
#footer .footerinner .footer_Content{
	max-width: calc(100% - 250px);
	flex-basis: calc(100% - 250px);
	display: flex;
	justify-content: flex-end;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
}
#footer .footerinner .footer_Content ul{
	list-style: none;
	padding: 0;
	margin: 0 50px 0 0;
}
footer .footerinner .footer_Content ul:nth-child(2){
	margin: 0;
}
#footer .footerinner .footer_Content ul li{
	padding-bottom: 10px;
}
#footer .footerinner .footer_Content ul li a{
	font-size: 16px;
	font-weight: 400;
	color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1150px) {
}
@media screen and (max-width: 768px) {
	#footer{
		padding: 60px 0 120px;
	}
	#footer .scroll-list-box{
		bottom: 40px;
	}
	#footer .scroll-list li{
		line-height: 1;
	}
	#footer .footerinner .footerlogoArea{
		max-width: 100%;
		flex-basis: 100%;
		margin-bottom: 20px;
	}
	#footer .footerinner .copyright{
		width: 100%;
	}
	#footer .footerinner .copyright p{
		text-align: center;
	}
	#footer .footerinner .footer_Content{
		max-width: 100%;
		flex-basis: 100%;
		display: flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		margin-bottom: 50px;
	}
	#footer .footerinner .footer_Content ul:first-child{
		margin-right: 60px;
	}
}
/* ---------------------------------------------------------------- */
/* #mainvisual */
/* ---------------------------------------------------------------- */
#mainvisual{
	padding: 182px 0 160px;
	overflow: hidden;
}
#mainvisual h2{
	font-size: 56px;
	font-weight: 400;
	margin: 0 0 30px;
	color: #333333;
}
#mainvisual p{
	font-size: 18px;
	font-weight: 400;
	margin: 0 0 60px;
	color: #333333;
}
#mainvisual .mainvisual_imgbox img{
	margin-left: 5%;
	display: -webkit-flex;
	display: flex;
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
	overflow: hidden;
	width: 100%;
}
.mainvisual_inner{
	margin-left: 5%;
	display: flex;
	display: -webkit-flex;
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
}
@media screen and (max-width: 1100px) {
	#mainvisual img{
		margin-left: 50px;
	}
}
@media screen and (max-width: 768px) {
	#mainvisual{
		padding: 130px 0 100px;
	}
	#mainvisual h2{
		font-size: 32px;
		margin: 0 0 20px;
	}
	#mainvisual p{
		font-size: 16px;
	}
	.mainvisual_inner{
		padding-right: 15px;
		padding-left: 15px;
		margin: 0;
	}
	#mainvisual .mainvisual_imgbox{
		position: relative;
		width: 100%;
		overflow: hidden;
		padding-bottom: 248px;
		margin-left: 15px;
		margin-right: 0;
		display: block;
	}
	#mainvisual .mainvisual_imgbox img{
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
		margin-left: 0;
	}
}
/* ---------------------------------------------------------------- */
/* #scroll_wrapper */
/* ---------------------------------------------------------------- */
#scroll_wrapper{
	display: block;
	position: absolute;
	top: 373px;
	right: 50px;
	width: 245px;
	height: 245px;
	overflow: hidden;
}
#scroll_wrapper::before{
	position: absolute;
	content: "";
	background: url("../images/down_arrow.svg") no-repeat;
	background-size: 10px;
	background-position: center center;
	width: 10px;
	height: 57px;
	top: 50%;
	left: 50%;
	display: block;
	transform: translateX(-50%);
	transform: translateY(-50%);
}
#scroll_wrapper img{
	-webkit-animation: rotation 10s infinite linear;
    animation: rotation 10s infinite linear;
	width: 245px;
	height: 245px;
	border-radius: 50%;
}
@keyframes rotation{
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}
@media screen and (max-width: 768px) {
	#scroll_wrapper{
		display: none !important;
	}
}
/* ---------------------------------------------------------------- */
/* fixedBtn */
/* ---------------------------------------------------------------- */
#fixedBtn{
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: #988263;
	position: fixed;
	right: 15px;
	bottom: 15px;
	display: flex;
	display: -webkit-flex;
    justify-content: center;
	-webkit-justify-content: center;
    align-items: center;
	-webkit-align-items: center;
	box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.16);
	opacity: 0;
	z-index: 999;
	overflow: hidden;
}
#fixedBtn a{
	font-size: 18px;
	font-weight: 700;
	font-family: "Zen Kaku Gothic New", sans-serif; 
	color: #fff;
	display: block;
	text-align: center;
}
#fixedBtn a span.big{
	font-size: 48px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	line-height: .8;
}
#fixedBtn a span.small{
	font-size: 14px;
}
.fixed{
	position: fixed !important;
	opacity: 1 !important;
    transition: .6s !important;
}
@media screen and (max-width: 768px) {
	#fixedBtn{
		display: none;
	}
}
/* ---------------------------------------------------------------- */
/* fixedBtnArea*/
/* ---------------------------------------------------------------- */
#fixedBtnArea{
	background: #988263;
	width: 100%;
	height: 45px;
	z-index: 4;
	position: fixed;
    bottom: -45px;
	transition: .6s;
	opacity: 0;
	display: none;
	overflow: hidden;
}
.fixedsp{
	position: fixed !important;
	opacity: 1 !important;
    transition: .6s !important;
    bottom: 0 !important;
	left: 0;
}
#fixedBtnArea a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	display: -webkit-flex;
    -webkit-align-items: center;
    -webkit-justify-content: center;
    cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
 }
 #fixedBtnArea a span{
	font-size: 38px;
	font-weight: 500;
	font-family: "Zen Old Mincho", serif;
	line-height: 1;
	padding: 0 5px 15px;
 }
 #fixedBtnArea a img{
	margin-left: 9px;
 }
@media screen and (max-width: 768px) {
	#fixedBtnArea{
		display: block;
	}
}
/* ---------------------------------------------------------------- */
/* tllbox */
/* ---------------------------------------------------------------- */
.tllbox{
	margin-bottom: 60px;
	position: relative;
	overflow: hidden;
}
.tllbox::before{
	position: relative;
	content: "";
	width: 100vw;
	height: 1px;
	background: #988263;
	display: block;
	top: 160px;
}
.tllbox span{
	font-size: 130px;
	font-weight: 400;
	color: #988263;
	font-family: "Sorts Mill Goudy", system-ui;
	line-height: 1.2;
}
.tllbox h2{
	font-size: 18px;
	font-weight: 400;
	padding-top: 20px;
	margin: 0;
}
@media screen and (max-width: 768px) {
	.tllbox{
		margin-bottom: 40px;
	}
	.tllbox::before{
		top: 85px;
	}
	.tllbox span{
		font-size: 64px;
	}
	.tllbox h2{
		font-size: 16px;
	}
}
/* ---------------------------------------------------------------- */
/* content01 */
/* ---------------------------------------------------------------- */
#content01{
	padding-bottom: 130px;
	position: relative;
	overflow: hidden;
}
#content01::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: url(../images/cobtent01_bg.png)no-repeat;
	background-size: cover;
	background-position: center;
	left: 50%;
	transform: translateX(-50%);
	bottom: 50px;
	z-index: -1;
}
#content01 .content01_inner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	display: -webkit-flex;
    -webkit-justify-content: space-between;
	padding: 0 50px;
}
#content01 .content01_inner ul{
	list-style: none;
	padding-left: 30px;
}
#content01 .content01_inner ul li{
	position: relative;
	padding-bottom: 35px;
}
#content01 .content01_inner ul li::before{
	position: absolute;
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: url(../images/check.svg)no-repeat;
	background-size: 13px;
	background-position: center;
	left: -20px;
	top: 5px;
}
@media screen and (max-width: 768px) {
	#content01 .content01_inner{
		padding: 0;
	}
	#content01::after{
		bottom: 0;
		background: #EBE7E0 url(../images/cobtent01_bg.png)no-repeat;
		background-size: cover;
		background-position: center;
	}
	#content01 .content01_inner ul li{
		padding-bottom: 20px;
	}
}
/* ---------------------------------------------------------------- */
/* content02 */
/* ---------------------------------------------------------------- */
#content02{
	padding: 20px 0 80px;
	overflow: hidden;
}
.content02tllbox{
	text-align: center;
	margin-bottom: 30px;
}
#content02 .content02tllbox h2{
	font-size: 42px;
	font-weight: 900;
	text-align: center;
	border-bottom:double 5px #333;  
	display: inline-block; 
	margin: 0 auto 10px;
}
#content02 .content02tllbox h2 span{
	font-size:50px;
	color: #988263;
}
#content02 .content02tllbox p{
	font-size: 18px;
	font-weight: 400;
	margin: 0;
}
.content02_inner{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 20px;
	grid-row-gap: 0px;
}
.content02box{
	background: #F5F2EF;
	padding: 30px;
}
.content02area{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
}
.content02box img{
	margin: 0 auto 12px;
	text-align: center;
	display: block;
}
.content02box h3{
	font-size: 18px;
	font-weight: 400;
	padding-bottom: 15px;
	border-bottom: #797365 solid 1px;
	margin: 0 0 15px;
	text-align: center;
}
.content02area ul{
	max-width: 46%;
	flex-basis:46%;
}
.content02area.content02area02 ul{
	max-width: 100%;
	flex-basis:100%;
}
.content02area ul li{
	font-size: 14px;
}
.swiper-pagination {
    position: absolute;
    bottom: 10px; /* ページネーションの位置を調整 */
    width: 100%;
    text-align: center;
}
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #ccc;
    display: inline-block;
    border-radius: 50%;
    margin: 0 5px;
    transition: background-color 0.3s;
}

.swiper-pagination-bullet-active {
    background-color: #007bff; /* アクティブなページネーションの色 */
}

@media screen and (min-width: 768px) and (max-width: 1150px) {
	.content02_inner{
		grid-template-columns: repeat(2, 1fr);
		grid-row-gap: 20px;
	}
}
@media screen and (max-width: 768px) {
	#content02{
		padding: 20px 0 80px;
	}
	#content02 .content02tllbox h2{
		font-size: 28px;
	}
	#content02 .content02tllbox h2 span{
		font-size: 40px;
	}
	#content02 .content02tllbox p{
		font-size: 16px;
	}
	.content02-fvSwiper .swiper-wrapper .swiper-slide{
		height: auto;
	}
	.content02-fvSwiper .swiper-wrapper .swiper-slide .content02box{
		height: 100%;
	}
	.content02-fvSwiper{
		padding-bottom: 50px !important;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
		background: #fff;
		opacity: 1;
	}
	.swiper-pagination-bullet-active{
		background: #988263 !important;
	}
}
/* ---------------------------------------------------------------- */
/* content03 */
/* ---------------------------------------------------------------- */
#content03{
	padding: 80px 0;
	overflow: hidden;
}
.content03_inner{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.content03_inner.last{
	margin-bottom: 0;
}
.content03imgbox{
	max-width: 430px;
	flex-basis: 430px;
	position: relative;
	overflow: hidden;
	padding-bottom: 40%;
}
.content03imgbox img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.content03txtbox{
	max-width: calc(100% - 490px);
	flex-basis: calc(100% - 490px);
}
.content03txtbox .content03txtbox_tll{
	margin: 0 0 5px;
}
.content03txtbox span{
	font-family: "Cardo", serif;
	font-size: 120px;
	font-weight: 400;
	color: #CABFAE;
	line-height: 1;
}
.content03txtbox h3{
	font-size: 28px;
	font-weight: 400;
	margin: 0 0 40px;
}
.content03txtbox .content03txt{
	margin:  0 0 30px;
	font-size: 12px;
	font-weight: 400;
}
.content03txtbox p{
	font-size: 16px;
	font-weight: 400;
	margin: 0;
	text-align: justify;
}
@media screen and (max-width: 768px) {
	#content03{
		padding: 50px 0;
	}
	.content03imgbox{
		max-width: 100%;
		flex-basis: 100%;
		order: 2;
		padding-bottom: 90%;
	}
	.content03txtbox{
		max-width: 100%;
		flex-basis: 100%;
		order: 1;
		margin-bottom: 40px;
	}
	.content03txtbox span{
		font-size: 100px;
	}
	.content03txtbox h3{
		font-size: 26px;
		margin: 0 0 30px;
	}
}
/* ---------------------------------------------------------------- */
/* contactbox */
/* ---------------------------------------------------------------- */
#contactbox{
	padding: 80px 0;
	overflow: hidden;
}
.contact_inner{
	background: #988263;
	width: 100%;
	height: 272px;
}
.contact_inner a{
	padding: 60px 90px 60px 60px;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	flex-wrap: wrap;
	color: #fff;
	width: 100%;
	height: 100%;
	position: relative;
}
.contact_inner a::after{
	content: "";
	position: absolute;
	width: 110px;
	height: 10px;
	display: block;
	background: url(../images/arrow.svg)no-repeat;
	background-position: center;
	background-size: 106px;
	top: 50%;
	transform: translateY(-50%);
	right: 128px;
	transition: .6s;
}
.contact_inner a:hover::after{
	right: 20px;
	transition: .6s;
}
.contact_inner a .contact_left{
	max-width: clac(100% - 92px);
	flex-basis: clac(100% - 92px);
}
.contact_inner a .contact_left h2{
	font-size: 100px;
	font-weight: 400;
	margin: 0;
	font-family: "Sorts Mill Goudy", system-ui;
	line-height: 1;
}
.contact_inner a .contact_left p{
	font-size: 20px;
	margin: 0;
}
.contact_inner a .contact_right{
	max-width: 92px;
	flex-basis: 92px;
	width: 92px;
	height: 92px;
	border-radius: 50%;
	border: #fff solid 1px;
}
@media screen and (max-width: 768px) {
	#contactbox{
		padding: 50px 0;
	}
	.contact_inner{
		height: 257px;
	}
	.contact_inner a{
		padding: 20px 30px 20px 20px;
	}
	.contact_inner a .contact_left{
		max-width: 100%;
		flex-basis: 100%;
		margin-bottom: 20px;
	}
	.contact_inner a .contact_right{
		max-width: 60px;
		flex-basis: 100%;
		width: 60px;
		height: 60px;
		margin-left: auto;
        margin-right: 0;
	}
	.contact_inner a .contact_left h2{
		font-size: 70px;
	}
	.contact_inner a .contact_left p{
		font-size: 18px;
	}
	.contact_inner a::after{
		top: auto;
		bottom: 48px;
		right: 48px;
		transform: translateY(0%);
	}
	.contact_inner a:hover::after{
		top: auto;
		bottom: 48px;
		right: 48px;
		transform: translateY(0%);
	}
}
/* ---------------------------------------------------------------- */
/* content04 */
/* ---------------------------------------------------------------- */
#content04{
	padding: 80px 0 340px;
	position: relative;
}
.scroll-list-box{
	align-items: center;
	color: #fff;
	display: flex;
	display: -webkit-flex;
	overflow: hidden;
	width: 100%;
	white-space:nowrap;
	z-index: 1;
	position: absolute;
	bottom: 0;
}
.scroll-list-box02{
	bottom: 140px;
}
.scroll-list {
	animation: flowing 50s linear infinite;
	font-size: 20px;
	transform: translateX(100%);
	margin: 0;
	padding: 0;
}
.scroll-list li{
	font-size: 140px;
	font-weight: 400;
	font-family: "Sorts Mill Goudy", system-ui;
	color: rgba(199, 190, 158,.2);
	margin: 0;
	line-height: 1;
	display: inline-block;
	padding-right: 20px;
}
@keyframes flowing {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* リストの内容が2倍になった分だけ左へ */
    }
}
.content04_inner{
	padding: 0 0 30px;
}
.content04tllbox{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.content04tllbox .en{
	font-size: 20px;
	font-family: "Cardo", serif;
	font-weight: 400;
	max-width: 110px;
	flex-basis: 110px;
}
.content04tllbox .en span{
	font-size: 40px;
	line-height: 1;
}
.content04tllbox .border{
	width: 100%;
	height: 1px;
	background: #BDB187;
	max-width: calc(100% - 140px);
	flex-basis: calc(100% - 140px);
}
.content04box{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
}
.content04imgbox{
	max-width: 180px;
	flex-basis: 180px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
}
.content04txtbox{
	max-width: calc(100% - 180px);
	flex-basis: calc(100% - 180px);
}
.content04txtbox p{
	font-size: 20px;
	max-width: 0 0 10px;
	font-weight: 400;
}
.content04txtbox h3{
	font-size: 38px;
	font-weight: 500;
	max-width: 0 0 10px;
}
.content04txtbox .content04txt{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	font-size: 14px;
	font-weight: 400;
}
.content04txtbox .content04txt span{
	background: #988263;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	width: 76px;
	height: 30px;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	margin-right: 10px;
}
.main-content-wrapper{
	position: relative;
}
.section{
	position: sticky;
	top: 135px;
	background: #EBE7E0 url(../images/bg_flowthing.jpg) no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    background-blend-mode: multiply;
	overflow: hidden;
	padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
	#content04{
		padding: 50px 0 100px;
	}
	.scroll-list-box02{
		bottom: 80px;
	}
	.scroll-list li{
		font-size: 80px;
	}
	.content04tllbox{
		margin-bottom: 10px;
	}
	.content04tllbox .en{
		font-size: 18px;
		max-width: 100px;
		flex-basis: 100px;
	}
	.content04tllbox .en span{
		font-size: 30px;
	}
	.content04tllbox .border{
		max-width: calc(100% - 110px);
		flex-basis: calc(100% - 110px);
	}
	.content04imgbox{
		max-width: 85px;
		flex-basis: 85px;
		display: flex;
		display: -webkit-flex;
		justify-content: center;
		-webkit-justify-content: center;
		align-items: center;
		-webkit-align-items: center;
	}
	.content04txtbox{
		max-width: calc(100% - 85px);
		flex-basis: calc(100% - 85px);
	}
	.content04txtbox p{
		font-size: 14px;
		max-width: 0 0 5px;
	}
	.content04txtbox h3{
		font-size: 26px;
		max-width: 0 0 20px;
	}
	.content04txtbox .content04txt span{
		height: 36px;
		font-size: 12px;
		line-height: 1;
	}
	.content04_inner02{
		margin-bottom: 80px;
	}
	.scroll-list02{
		bottom: 0;
	}
}
/* ---------------------------------------------------------------- */
/* content05 */
/* ---------------------------------------------------------------- */
#content05{
	padding: 80px 0;
	overflow: hidden;
}
.content05_inner{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 20px;
	grid-row-gap: 0px;
}
.content05box{
	position: relative;
}
.content05box span{
	position: absolute;
	font-size: 48px;
	color: #988263;
	left: 50%;
	transform: translateX(-50%);
	top: -40px;
	font-weight: 400;
	font-family: "Cardo", serif;
	z-index: 2;
}
.content05box:nth-child(2){
	padding-top: 40px;
}
.content05box:nth-child(2) span{
	top: 0;
}
.content05box:nth-child(3){
	padding-top: 80px;
}
.content05box:nth-child(3) span{
	top: 40px;
}
.content05box:nth-child(4){
	padding-top: 120px;
}
.content05box:nth-child(4) span{
	top: 80px;
}
.content05box .content05imgbox{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-bottom: 150px !important;
}
.content05box .content05imgbox img{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.content05box .content05txtbox{
	background:#fff;
	padding: 15px;
	height: 230px;
}
.content05box .content05txtbox h3{
	font-size: 18px;
	color: #988263;
	margin: 0 0 5px;
	font-weight: 400;
}
.content05box .content05txtbox p{
	font-size: 14px;
	font-weight: 400;
	margin: 0;
}
@media screen and (min-width: 768px) and (max-width: 1150px) {
	.content05_inner{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 10px;
		grid-row-gap: 20px;
	}
}
@media screen and (max-width: 768px) {
	#content05{
		padding: 50px 0;
	}
	.content05_inner{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 10px;
		grid-row-gap: 30px;
	}
	.content05box .content05imgbox{
		padding-bottom: 100px;
	}
	.content05box .content05txtbox{
		padding: 10px;
	}
	.content05box .content05txtbox h3{
		font-size: 16px;
	}
	.content05box .content05txtbox{
		height: 137px;
	}
	.content05box:nth-child(2) .content05txtbox{
		height: 245px;
	}
	.content05box:nth-child(3){
		padding-top: 40px;
	}
	.content05box:nth-child(4){
		padding-top: 85px;
	}
	.content05box:nth-child(3) span {
		top: 5px;
	}
	.content05box:nth-child(4) span {
		top: 45px;
	}
}
/* ---------------------------------------------------------------- */
/* content06 */
/* ---------------------------------------------------------------- */
#content06{
	padding: 80px 0;
	overflow: hidden;
}
.content06_inner{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.content06box{
	padding: 40px 30px;
	border-right: #D9D9D9 solid 1px;
	border-bottom: #D9D9D9 solid 1px;
}
.content06box:nth-child(7),.content06box:nth-child(8),.content06box:nth-child(9){
	border-bottom: none;
}
.content06box:nth-of-type(3n){
	border-right: none;
}
.content06box img{
	margin: 0 auto 15px;
	display: block;
	text-align: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
}
.content06box h3{
	font-size: 20px;
	font-weight: 400;
	color: #797365;
	padding-bottom: 5px;
	border-bottom: #988263 solid 1px;
	margin: 0 0 10px;
	text-align: center;
}
.content06box p{
	font-size: 14px;
	font-weight: 400;
	margin: 0;
	text-align: center;
}
.content06box p.content06txt{
	margin: 0 0 15px;
}
.content06txtbox{
	background: #988263;
	padding: 5px 10px;
}
.content06txtbox02{
	height: 50px;
	justify-content: center;
	-webkit-justify-content: center;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
}
.content06txtbox p{
	font-size: 12px;
	font-weight: 400;
	color: #fff;
}
.content06txtbox p span{
	font-size: 14px;
}
@media screen and (max-width: 768px) {
	#content06{
		padding: 50px 0;
	}
	.content06_inner{
		grid-template-columns: repeat(2, 1fr);
	}
	.content06box{
		padding: 30px 3px;
		border-right: none;
	}
	.content06box h3{
		font-size: 18px;
	}
	.content06box p{
		font-size: 12px;
	}
	.content06txtbox{
		padding: 5px;
	}
	.content06txtbox p{
		font-size: 12px;
	}
	.content06box:nth-child(7),.content06box:nth-child(8){
		border-bottom: #D9D9D9 solid 1px;
	}
	.content06box:nth-child(9){
		border-bottom: none;
	}
	.content06txtbox .content06txt02{
		font-size: 10px;
	}
	.content06box p.content06txt03{
		margin: 0 0 54px;
	}
}
/* ---------------------------------------------------------------- */
/* content07 */
/* ---------------------------------------------------------------- */
#content07{
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}
#content07::before{
	position: absolute;
	top: 330px;
	content: "Mission";
	display: block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 120px;
	font-weight: 400;
	font-family: "Sorts Mill Goudy", system-ui;
	color: rgba(217, 178, 109,0.15);
	left: 10%;
	line-height: 1;
}
#content07 h3{
	font-size: 40px;
	font-weight: 400;
	max-width: 0 0 60px;
}
.content07_inner table{
	margin-left: auto;
	margin-right: 0;
	display: block;
	max-width: 640px;
	border-collapse:  collapse;  
}
.content07_inner table tbody{
	margin-left: auto;
	margin-right: 0;
	display: block;
}
.content07_inner table tr{
	border-bottom: #797365 solid 1px;
	margin-left: auto;
	margin-right: 0;
	display: block;
}
.content07_inner table th{
	font-size: 16px;
	font-weight: 400;
	width: 130px;
	padding: 20px;
}
.content07_inner table td {
	padding: 20px;
	width: auto;
}
.comimg{
	margin-top: 10px;
	max-width: 300px;
}
@media screen and (max-width: 768px) {
	#content07{
		padding: 50px 0;
	}
	#content07::before{
		top: 209px;
		left: 0;
	}
	#content07 h3{
		font-size: 24px;
		max-width: 0 0 40px;
	}
	.content07_inner table{
		max-width: 100%;
	}
	.content07_inner table th,td {
		padding: 15px 0;
		width: auto;
	}
	.content07_inner table th{
		width: 90px;
		text-align: left;
	}
}
/* ---------------------------------------------------------------- */
/* content08 */
/* ---------------------------------------------------------------- */
#content08{
	margin: 80px 0;
	padding: 100px 90px;
	background: #988263;
	margin-right: 80px;
	overflow: hidden;
}
.content08_inner{
	display: flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}
.content08left{
	max-width: calc(100% - 330px);
	flex-basis:  calc(100% - 330px);
}
.content08left h2{
	color: #fff;
	font-size: 24px;
	font-weight: 400;
	margin: 0 0 30px;
}
.content08left p{
	font-size: 16px;
	font-weight: 400;
	margin: 0;
	color: #fff;
}
.content08right{
	max-width: 300px;
	flex-basis: 300px;
}
@media screen and (max-width: 768px) {
	#content08{
		margin: 50px 0;
		padding: 40px 15px;
		margin-right: 15px;
	}
	.content08left{
		max-width: 100%;
		flex-basis: 100%;
		order: 2;
	}
	.content08left h2{
		font-size: 22px;
		margin: 0 0 15px;
	}
	.content08right{
		max-width: 100%;
		flex-basis: 100%;
		order: 1;
		margin-bottom: 20px;
	}
	.content08right img{
		max-width: 220px;
		margin: 0 auto;
		display: block;
	}
}
/* ---------------------------------------------------------------- */
/* content10 */
/* ---------------------------------------------------------------- */
#content10{
	padding: 80px 0;
	overflow: hidden;
}
#content10 h3{
	font-size: 28px;
    font-weight: 400;
    margin: 0 0 20px;
}
#content10 .cont10_inr{
	margin: 0 0 40px;
}
#content10 h4{
	font-size: 24px;
    font-weight: 400;
    color: #797365;
    padding-bottom: 5px;
    border-bottom: #988263 solid 1px;
    margin: 0 0 8px;
    text-align: left;
}
#content10 p{
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	#content10{
		padding: 50px 0;
	}
	#content10 h3{
		font-size: 26px;
	}
	#content10 h4{
		font-size: 22px;
	}
}
/* ---------------------------------------------------------------- */
/* content09 */
/* ---------------------------------------------------------------- */
#content09{
	padding: 80px 0;
	overflow: hidden;
}
.content09_inner{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 40px;
	grid-row-gap: 0px;
}
.content09left h3{
	font-size: 28px;
	font-weight: 400;
	margin: 0 0 20px;
}
.content09left p{
	font-size: 14px;
	font-weight: 400;
	margin: 0;
}
.content09right table{
	border-collapse:  collapse;
	width: 100%;
}
.content09right table tr{
	display: block;
	margin-bottom: 10px;
}
.content09right table tr th{
	width: 100%;
	display: block;
	padding: 5px 0;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
}
.content09right table tr td{
	width: 100%;
	display: block;
	padding: 5px 0;
}
.att{
	font-size: 12px;
	color: #797365;
	margin-left: 10px;
	font-weight: 400;
}
[type="text"],
input[type="email"],
input[type="number"],
textarea {
	padding: 8px .5em 8px 10px;
	margin: 0 ;
	background: #fff;
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
	border: 1px solid #988263;
	resize: none;
	overflow-y: scroll;
	overflow-x: hidden;
	border-radius: 4px;
}
[type="text"],
input[type="email"],
input[type="number"],
textarea:focus {
	background:  #fff;
	outline: 1px solid #988263;
}
[type="text"],
input[type="email"],
input[type="number"],
textarea:hover {
	background:  #fff;
}
[type="text"],
input[type="email"],
input[type="number"],
textarea+input {
	background:  #fff;
}

input[type="checkbox"] {
	border: 1px solid #988263;
	vertical-align: -6px;
	-webkit-appearance: none;
	position: relative;
	margin-right: 10px;
	-webkit-box-sizing: border-box;
	width: 18px;
	height: 18px;
	background: #FFFFFF;
}
.checkbox{
	margin: 0 0 60px;
	text-align: center;
}
input[type="checkbox"]:checked {
	/*Other Browser*/
	background: #988263;
	/*For Old WebKit*/
	border: 1px solid #988263;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	left: -1px;
    top: 13px;
	display: block;
	content: "";
	width: 10px;
	height: 2px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}
input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 9px;
    top: 12px;
	content: "";
	width: 16px;
	height: 2px;
	background: #fff;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}
.privacypolicy_link{
	font-size: 16px;
	text-decoration: underline;
	color: #988263;
}
input[type="submit"]{
	background: #988263;
	color: #fff;
	width: 224px;
	height: 43px;
	border-radius: 4px;
	border-color: #988263;
	margin: 0 auto 10px;
    display: block;
	cursor:pointer;
	border: none;
}
input[type="button"]{
	background: #988263;
	color: #fff;
	width: 224px;
	height: 43px;
	border-radius: 4px;
	border-color: #988263;
	margin: 0 auto 10px;
    display: block;
	cursor:pointer;
	border: none;
}
#formWrap{
	padding: 150px 0;
}
#formWrap h2{
	text-align: center;
}
#formWrap table{
	margin: 0 auto;
}
#formWrap table tr th{
   text-align: left;
}
#formWrap table th, td{
	padding: 20px 40px;
}
@media screen and (max-width: 768px) {
	#content09{
		padding: 50px 0;
	}
	.content09_inner{
		grid-template-columns: repeat(1, 1fr);
		grid-row-gap: 20px;
	}
	.content09right table tr td{
		padding: 5px 0 0;
	}
}

/* ---------------------------------------------------------------- */
/* プライバシーポリシー */
/* ---------------------------------------------------------------- */
.open {
	cursor:pointer; 
	color: #988263;
	border-bottom: #988263 solid 1px;
}
#popup {
	display: none;
	overflow: hidden;
}
.overlay {
	display: none;
}
#popup:checked + .overlay {
	display: block;
	background-color: rgba(0,0,0,.4);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 1000;
}
.window {
	width: calc(100% - 10vw);
	max-width: 940px;
	height: 600px;
	background-color: #fff;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	position: fixed;
	padding: 60px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
}

.text {
	font-size: 25px;
	margin: 0;
	color: #fcfff9;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 30px;
	right: 30px;
}
.scroll_policy{
	overflow-x: hidden;
	overflow-y: scroll;
	height: 480px;
	text-align: left;
}
.scroll_policy h2{
	font-size: 26px;
	font-weight: 400;
	margin: 0 0 20px;
}
.scroll_policy h3{
	font-size: 20px;
	font-weight: 400;
	margin: 0 0 12px;
}
.scroll_policy .scroll_policy_txt{
	font-size: 14px;
	font-weight: 400;
	margin: 0 0 40px;
}
.scroll_policy .scroll_policy_txt02{
	font-size: 14px;
	font-weight: 400;
	margin: 0 0 30px;
}
.scroll_policy ul{
	margin: 0 0 30px 30px;
}
.scroll_policy .scroll_policy_txt03{
	font-size: 14px;
	font-weight: 400;
	margin: 0 0 10px;
}
.scroll_policy .scroll_policy_txt04{
	font-size: 14px;
	font-weight: 400;
	margin: 0 0 50px;
}
.scroll_policy::-webkit-scrollbar{
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1210px) {
	.window {
		padding: 30px;
	}
}
@media screen and (max-width: 768px) {
	.window {
		padding: 30px;
	}
	.close {
		top: 20px;
		right: 20px;
	}
}
/* ---------------------------------------------------------------- */
/* 送信完了ページ */
/* ---------------------------------------------------------------- */
#thanksPage{
	padding: 200px 0;
}
#thanksPage h2{
	text-align: center;
}
#thanksPage p{
	text-align: center;
	margin:  0 0 60px;
}
.btn{
	background: #988263;
	color: #fff;
	width: 224px;
	height: 43px;
	border-radius: 4px;
	border-color: #988263;
	margin: 0 auto 10px;
    display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	cursor:pointer;
}
/* ---------------------------------------------------------------- */
/* 20260312追加（注意喚起画像） */
/* ---------------------------------------------------------------- */
#caution{
	margin: 0 auto 3rem;
    display: flex;
    justify-content: center;
}
