@charset "UTF-8";

/* about lead
---------------------------------------------------------------------------*/
.about-lead {
	display: flex;
	width: 1080px;
	margin: 0 auto 100px;
	position: relative;
}
.about-lead h1 {
	margin-bottom: 60px;
	position: relative;
	display: inline-block;
}
.about-lead h1 div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.about-lead h1 strong {
	margin-bottom: 20px;
}
.about-lead h1 i {
	width: 96px;
	height: 97px;
	display: block;
	position: absolute;
	right: -122px;
	top: 34px;
	transform: rotate(24deg);
}
.about-lead h1 i img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.about-lead h2 {
	color: #006C3E;
	font-size: 33px;
	margin-bottom: 20px;
	line-height: 1.3;
	letter-spacing: 0.08em;
	position: relative;
}
.about-lead h2::before {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/share/tomato.png) no-repeat;
	background-size: 30px 30px;
	width: 30px;
	height: 30px;
	left: -45px;
	top: 8px;
}
.about-lead h2 + p {
	font-size: 16px;
	letter-spacing: 0.05em;
	transform: translateX(2px);
}


.p-block {
	padding-left: 45px;
	margin-bottom: 45px;
}
.p-block:last-of-type {
	margin-bottom: 0;
}
.takashima-map {
	position: absolute;
	top: 112px;
	right: 0;
}
.parts {
	position: absolute;
}

/* slider
---------------------------------------------------------------------------*/

.slider-about .inner img {
	width: 445px;
	height: auto;
	margin-right: 7px;
}
.about-common {
	margin: 0 auto 270px;
}

/* about farm
---------------------------------------------------------------------------*/

.about-farm {
	width: 930px;
	margin: 100px auto 130px;
}
.about-farm h3,
.benefit dt {
	color: #006C3E;
}
.about-farm .wide {
	position: relative;
	background: url(../img/share/border-wave-green.svg) repeat-x border-box -8px bottom;
	padding: 0 20px 60px;
	box-sizing: border-box;
	background-size: 27px 6px;
}
.about-farm .wide .parts{
	bottom: 51px;
	right: 5px;
}
.about-farm .wide p {
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.04em;
}
.about-farm h3 {
	font-size: 33px;
	letter-spacing: 0.04em;
	margin-bottom: 27px;
}
.about-farm .wide h3 {
	transform: translateX(-2px);
}


.benefit {
	display: flex;
	padding: 65px 10px 0 16px;
}
.benefit > div {
	padding: 55px 0 10px 38px;
	position: relative;	
}
.benefit dt {
	font-size: 31px;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
	transform: translateX(-2px);
}
.benefit dt .parts {
	position: absolute;
}
.benefit dd {
	display: flex;
}
.benefit p {
	text-align: justify;
	font-size: 13px;
	letter-spacing: 0.04em;
}
.benefit .inner {
	position: absolute;
}
.benefit .inner img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.taiken {
	width: 545px;
	padding-left: 0 !important;
	position: relative;
}
.taiken::after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 257px;
	background: url(../img/share/border-dashed-v.svg) repeat-y;
	background-size: 2px 7px;
	right: 0;
	bottom: 0;
}
.taiken dt .parts {
	top: -65px;
	left: 0;
}
.taiken dd p {
	width: 215px;
}
.taiken dd .inner {
	right: 30px;
	bottom: 7px;
}
.tsushin {
	border-right: none;
	width: 460px;
}
.tsushin dt .parts {
	top: -54px;
	left: 0;
}
.tsushin dd .inner {
	right: 17px;
	bottom: 4px;
}
.tsushin dd p {
	width: 160px;
}


.important {
	position: relative;
	width: 930px;
	margin: 80px auto 0;
	padding: 0 0 85px;
}
.important > h3 {
	position: relative;
	margin-bottom: 35px;
	text-align: center;
}

.important::before,
.important > h3::before {
	display: block;
	content: '';
	position: absolute;
	top: 55px;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 30px;
	z-index: 1;
}

.important::after,
.important > h3::after {
	display: block;
	content: '';
	position: absolute;
	top: 34px;
	left: 0;
	box-sizing: border-box;
	background: #FFFFFF;
/*
	border-image: url(../img/share/border-dot.svg) 26 round;
	border-style: solid;
	border-width: 25px;
*/
	border: 2px dashed #006C3E;
	border-radius: 20px 20px 0 0;
	width: 100%;
	height: 23px;
	z-index: 0;
}

.important > h3::after {
	border-bottom: none;
}

.important::after {
	border-top: none;
	border-radius: 0 0 20px 20px;
}

.important::before {
	top: auto;
	bottom: 42px;
}

.important::after {
	top: auto;
	bottom: 19px;
} 

.important > h3 span {
	position: relative;
	display: inline-block;
	background-color: #FFFFFF;
	padding: 0 0 0 10px;
	z-index: 2;
}
.important dl {
	padding-left: 320px;
}
.important dl dt {
	margin-bottom: 7px;
}
.important dl div {
	margin-bottom: 26px;
}
.important dl div:last-of-type {
	margin-bottom: 0;
}
.important dl dd {
	font-size: 15px;
	letter-spacing: 0.03em;
	padding-left: 47px;
}
.important .parts {
	left: 40px;
	top: 150px;
}

/* about takashima
---------------------------------------------------------------------------*/

.about-takashima {
	width: 1020px;
}
.title-center {
	padding-bottom: 48px;
	border-bottom: 4px solid #006c3e;
	text-align: center;
	margin-bottom: 100px;
}
.title-center .inner {
	display: inline-block;
	position: relative;
}
.title-center .inner::after{
	content: "";
	position: absolute;
	display: block;
	background: url(../img/about/txt-shima-sub.svg) no-repeat;
	height: 96px;
	width: 260px;
	right: -269px;
	bottom: 0;
}
.about-takashima h3 {
	display: inline-block;
	position: relative;
	padding: 21px 32px 22px;
}
.title-center h3:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -50px;
	left: 50%;
	background: #006c3e;
	width: 4px;
	height: 50px;
	margin-left: -2px;
}
.title-center h3:after {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 5px;
	background: #006c3e;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.title-center + strong {
	display: block;
	text-align: center;
	margin-bottom: 95px;
}
.inner-section h4 {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	margin: 16px 0 50px;
}
.inner-section h4::before {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/share/tomato-face.png) no-repeat;
	width: 110px;
	height: 124px;
	background-size: 110px 124px;
	top: -100px;
	left: 50%;
	margin-left: -55px;
}
.inner-section h4 i {
	display: inline-block;
	margin-bottom: 15px;
	position: relative;
}
.inner-section > div {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.ocean > div {
	justify-content: space-between;
}
.ocean figure.head-img img {
	border-radius: 18px;
}
.camp figure,
.therapy figure {
	display: flex;
	justify-content: space-between;
}
.camp figure img,
.therapy figure img {
	border-radius: 12px;
}
.figure-block {
	display: flex;
	justify-content: space-between;
}

.inner-section .figure-block img {
	border-radius: 11px;
}
.ocean .p-block {
	width: 345px;
}
.camp .p-block {
	display: inline-block;
	width: 410px;
	margin-right: 60px;
	padding-left: 70px;
}

.therapy h4 {
	margin-bottom: 45px;
}
.therapy .p-block {
	display: inline-block;
	width: 420px;
	margin-right: 60px;
	padding-left: 110px;
}
.p-block p {
	letter-spacing: -0.01em;
	text-align: justify;
}
.p-block strong {
	display: inline-block;
	color: #006C3E;
	font-size: 1.05em;
	letter-spacing: 0.03em;
	margin: 18px 0 26px;
}
.more-btn {
	display: inline-block;
	padding: 9px 10px 11px 13px;
	color: #006C3E;
	border: solid 2px #006C3E;
	border-radius: 5px;
	font-size: 15px;
	letter-spacing: 0.03em;
}
.more-btn span {
	padding-right: 32px;
	background: url(../img/share/ico-arrow.svg) no-repeat right 3px;
	background-size: 19px 16px;
}
.figure-block {
	width: 560px;
}
.figure-block figure {
	width: 270px;
}
.figure-block figcaption {
	margin-top: 10px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: justify;
}
.box-block {
	display: flex;
	justify-content: space-between;
	transform: translateY(5px);
}
.box-block .box-green {
	text-align: left;
	padding: 16px 19px 18px 21px;
}
.box-block .box-green:first-of-type {
	margin-right: 25px;
}
.box-block .box-green span {
	font-size: 18px;
	color: #006C3E;
	line-height: 1.5;
	letter-spacing: 0.07em;
}
.camp {
	margin-top: 237px;
}
.ocean .figure-block {
	position: relative;
}
.ocean .figure-block figure {
	transform: translateY(4px);
}

.camp .box-block {
	position: relative;
}
.therapy {
	margin-top: 140px;
}

.object1 {
	top: 148px;
	left: -329px;
	z-index: -1;
}
.object2 {
	bottom: -321px;
	right: -248px;
}
.object3 {
	bottom: -237px;
	right: 84px;
}
.object4 {
	bottom: -263px;
	right: 233px;
	z-index: -1;
}
.object5 {
	bottom: -284px;
	right: 48px;
}
.map-area {
	width: 732px;
	height: 857px;
	overflow: hidden;
	margin: 113px auto 0;
}

/* history
---------------------------------------------------------------------------*/

.history {
	width: 1015px;
	padding: 50px 75px 70px;
	margin: 0 auto;
	position: relative;
	background: #FFFEEE;
	border-radius: 13px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}
.history-txt {
	width: 305px;
}
.history-txt h3 {
	display: flex;
	position: absolute;
	top: -75px;
	left: -5px;
}
.history-txt h3 i {
	width: 93px;
	height: 105px;
	display: block;
}
.history-txt h3 i img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.history-txt h3 i + img {
	position: absolute;
	left: 94px;
	top: -32px;
}
.history-txt strong {
	font-size: 32px;
	color: #fff;
	margin-bottom: 25px;
	display: inline-block;
	position: relative;
}
.history-txt strong .parts {
	right: -91px;
	top: -22px;
}
.history-txt strong span {
	background: #006C3E;
	padding: 0px 6px 4px 14px;
	letter-spacing: 0.13em;
	line-height: 2;
}
.history-txt strong + p {
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 1.95;
	padding-left: 3px;
}


.tanko-flow {
	margin-top: 60px;
}
.tanko-flow span:first-of-type {
	font-size: 19px;
	background: #fff;
	color: #006C3E;
	padding: 0px 6px 2px;
	border: solid 3px;
	letter-spacing: 0.05em;
}
.tanko-flow ol {
	margin-top: 30px;
}
.tanko-flow ol b {
	display: inline-block;
	font-size: 20px;
	color: #006C3E;
	line-height: 1.52;
	letter-spacing: 0.01em;
	margin-bottom: 10px;
}
.tanko-flow ol p {
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 1.7;
	text-align: justify;
	margin-bottom: 7px;
}
.tanko-flow ol p:last-of-type{
	margin-bottom: 0 !important;
}
.tanko-flow li {
	position: relative;
}
.tanko-flow li:first-of-type {
	margin-bottom: 35px;
}
.tanko-flow li:nth-of-type(2) {
	margin-bottom: 67px;
}
.tanko-flow li:nth-of-type(-n+2)::after {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/share/ico-arrow-green.svg);
	width: 36px;
	height: 17px;
	bottom: -41px;
	right: 117px;
}

.tanko-flow li:first-of-type::after {
	bottom: -25px;
}
.tanko-flow li:last-of-type {
	margin-bottom: 0;
}
.history-img {
	position: absolute;
}
.history-img figcaption {
	padding-top: 16px;
	font-size: 15px;
	letter-spacing: 0.01em;
}
.figure01 {
	top: -628px;
	right: -548px;
}
.figure02 {
	top: -316px;
	right: -652px;
}
.figure03 {
	top: -424px;
	right: -298px;
}
.figure04 {
	bottom: -9px;
	left: 472px;
}
.figure05 {
	bottom: 28px;
	right: -555px;
}
.figure06 {
	bottom: -33px;
	right: -316px;
}
.figure05 figcaption,
.figure06 figcaption {
	padding-top: 6px;
}
.figure05 figcaption {
	text-align: right;
}
.history-img .box-green {
	padding: 0;
	display: inline-block;
}
body.pc figcaption span.pc_view {
	display: inline !important;
	background: none;
	font-size: 15px;
	color: #000;
	border: none;
	padding: 16px 0 0 0;
	font-size: 15px;
	letter-spacing: 0.01em;
}


.history-spot {
	width: 100%;
	text-align: center;
	margin-top: 115px;
}
.spot-list {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}
.spot-list li {
	box-sizing: border-box;
	background: #FFFFFF;
/*
	border-image: url(../img/share/border-dot.svg) 26 round;
	border-style: solid;
	border-width: 25px;
*/
	border: 2px dashed #006C3E;
	border-radius: 20px;
	padding: 25px;
	text-align: left;
}
/*
.spot-list figure {
	padding-top: 8px;
}
*/
.spot-list figure img {
	border-radius: 6px;
}
.spot-list figcaption {
	max-width: 215px;
	padding: 0 7px 7px;
	box-sizing: border-box;
}
.spot-list figcaption b {
	color: #006C3E;
	font-size: 19px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	margin-top: 23px;
	display: inline-block;
}
.spot-list figcaption p {
	margin-top: 15px;
	font-size: 15px;
	text-align: justify;
	letter-spacing: 0.02em;
	line-height: 1.6;
}


.more-takashima {
	margin-top: 55px;
}
.more-takashima p {
	font-size: 20px;
	color: #006C3E;
}
.more-takashima .btn-round {
	background: #006C3E;
	color: #fff;
	font-size: 24px;
	display: inline-block;
	border-radius: 26px;
	padding: 12px 27px 14px;
	letter-spacing: 0.08em;
	margin-top: 10px;
	transform: translateX(-5px);
}