@charset "UTF-8";

/* ----------------------------------------------- CSS Information
 Style Info:     トップページ
 Notes:          
--------------------------------------------------------------- */

/* 共通 */
h1.main-title {
	margin: 0 auto 10%;
	font-size: 3.5em;
	color: #646464;
	font-weight: 700;
	text-align: center;
}
h1.main-title rt {
	font-size: 30% !important;
  text-align: center !important;
  line-height: 0 !important;
}
h1.title {
	font-size: 2.2em;
	font-weight: 700;
}
/* section 1 */
.sec01 {
	padding: 10% 0;
	border-bottom: 3px solid #50b464;
  border-top: 0;
  border-right: 0;
  border-left: 0;
	border-image: linear-gradient(to right, #50b46400 0, #50b464 50%, #50b46400 100%);
	border-image-slice: 1;
}
.sec01 .content {
	width: 80%;
  max-width: 870px;
  margin: 0 auto;
}
.sec01 .wrap01 {
	margin: 0 auto 10%;
	display: flex;
}
.sec01 .wrap01:nth-child(1) h1.title::after {
	content: '';
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	bottom: 0;
	left: 50%;
  transform: translateY(0) translateX(-50%);
  -webkit- transform: translateY(0) translateX(-50%);
	background: #f5b2b2;
	z-index: -1;
}
.sec01 .wrap01:nth-child(2) h1.title::after {
	content: '';
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	bottom: 0;
	left: 50%;
  transform: translateY(0) translateX(-50%);
  -webkit- transform: translateY(0) translateX(-50%);
	background: #a1d8e6;
	z-index: -1;
}
.sec01 .wrap01:nth-child(3) h1.title::after {
	content: '';
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	bottom: 0;
	left: 50%;
  transform: translateY(0) translateX(-50%);
  -webkit- transform: translateY(0) translateX(-50%);
	background: #c1db81;
	z-index: -1;
}
.sec01 .wrap01 .box01 {
	width: 20%;
	text-align: center;
}
.sec01 .wrap01 h1.title {
	margin: 0;
	padding: 0 0 1em;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	text-align: center;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.sec01 .wrap01:nth-child(even) .box01 {
	order: 2;
}
.sec01 .wrap01 .box02 {
	width: 80%;
	margin: 5% 0 0;
}
.sec01 .wrap01:nth-child(even) .box02 {
	order: 1;
}
.sec01 .wrap01 .txt01 {
	margin: 0 0 1em;
}
.sec01 .wrap01:nth-child(1) .txt01 {
	width: 80%;
}
.sec01 .wrap01:nth-child(2) .txt01 {
	width: 60%;
}
.sec01 .wrap01:nth-child(3) .txt01 {
	width: 95%;
}
.sec01 .wrap01:nth-child(even) .txt01 {
	margin: 0 0 1em auto;
}
.sec01 .wrap01 .photo {
	width: 60%;
}
.sec01 .wrap01:nth-child(odd) .photo {
	margin: 0 7% 0 auto;
}
.sec01 .wrap01:nth-child(even) .photo {
	margin: 0 auto 0 7%;
}
.sec01 .color01 {
	color: #50b464;
	font-weight: 700;
}
.sec01 .content:last-child {
	text-align: center;
}
.sec01 h1.title {
	margin: 0 auto 5%;
}
.sec01 h3.txt {
	margin: 0 auto 1%;
	font-size: 1.3em;
	font-weight: 700;
}
.sec01 div.txt01 {
	margin: 0 auto 3%;
}
.sec01 .content:last-child .wrap02 {
	display: flex;
	justify-content: space-between;
}
.sec01 .content:last-child .photo {
	width: 33%
}
/* section 2 */
.sec02 {
	padding: 10% 0;
}
.sec02 .content {
	width: 80%;
  max-width: 870px;
  margin: 0 auto;
}
.sec02 .wrap01 {
	text-align: center;
}
.sec02 .wrap01 h1.title {
	margin: 0 auto 5%;
}
.sec02 h3.txt {
	margin: 0 auto 5%;
	font-size: 1.3em;
	font-weight: 700;
}
.sec02 .txt01 {
	margin: 0 auto 10%;
}
.sec02 .color01 {
	color: #50b464;
	font-weight: 700;
}
.sec02 .color02 {
	color: #f5b2b2;
}
.sec02 .color03 {
	color: #a1d8e6;
}
.sec02 .wrap02 {
	margin: 0 auto 15%;
	position: relative;
}
.sec02 .wrap02 h1.title {
	position: absolute;
  text-align: center;
	letter-spacing: 0.1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	z-index: 2;
}
.sec02 .wrap02:nth-child(1) h1.title {
	top: -1.2em;
  right: 3.5em;
	font-size: 2.5em;
	color: #fff;
}
.sec02 .wrap02:nth-child(2) h1.title {
  top: -1.2em;
  left: 3.5em;
	font-size: 2.5em;
	color: #fff;
}
.sec02 .wrap02 .photo {
  width: 95%
}
.sec02 .wrap02:nth-child(1) .photo {
	margin: 0 0 3% auto;
}
.sec02 .wrap02:nth-child(1) .photo::after {
	content: '';
	width: 40%;
	height: 10em;
	position: absolute;
	bottom: -5em;
	left: -5%;
	background-color: #f5b2b2;
	z-index: -1;
}
.sec02 .wrap02:nth-child(2) .photo {
  margin: 0 auto 3% 0;
}
.sec02 .wrap02:nth-child(2) .photo::after {
	content: '';
	width: 40%;
	height: 10em;
	position: absolute;
	bottom: -4em;
  right: -5%;
	background-color: #a1d8e6;
	z-index: -1;
}
.sec02 .wrap02:nth-child(1) .txt {
	width: 30%;
	margin: 0 0 0 3%
}
.sec02 .wrap02:nth-child(2) .txt {
	margin: 0 5% 0 auto;
	display: table;
}
.sec02 .wrap03 {
	display: flex;
	flex-wrap: wrap;
}
.sec02 .wrap03 .box {
	width: 31.3%;
	position: relative;
}
.sec02 .wrap03 .box:nth-child(1) {
	margin: 0 1%;
}
.sec02 .wrap03 .box:nth-child(2) {
	margin: 5% 1% 0;
}
.sec02 .wrap03 .box:nth-child(3) {
	margin: 10% 1% 0;
}
.sec02 .wrap03 .box:nth-child(4) {
	margin: 0 1%;
}
.sec02 .wrap03 .box:nth-child(5) {
	margin: 5% 1% 0;
}
.sec02 .wrap03 .box:nth-child(6) {
	margin: 10% 1% 0;
}
.sec02 .wrap03 .box:nth-child(7) {
	margin: 0 1%;
}
.sec02 .wrap03 .box:nth-child(8) {
	margin: 5% 1% 0;
}
.sec02 .wrap03 .box:nth-child(9) {
	margin: 10% 1% 0;
}
.sec02 .wrap03 .photo {
	margin: 0 auto 3%;
	line-height: 0;
	box-shadow: 0.5em 0.5em 0 #c1db81;
}
.sec02 .wrap03 h1.title {
	font-size: 2em;
}
.sec02 .wrap03:last-child {
	margin: 0 auto 15%;
}
.sec02 .wrap04 {
	text-align: center;
}
.sec02 .wrap04 .txt01 {
	margin: 0 auto;
}
/* section 3 */
.sec03 {
	padding: 5% 0;
	background: #e6e6e6;
}
.sec03 .content {
	width: 90%;
  max-width: 1400px;
  margin: 0 auto;
}
.sec03 h1.title {
	margin: 0 auto 5%;
	text-align: center;
}
.sec03 .wrap01 {
	margin: 0 auto 3%;
	padding: 5% 10%;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	background: #fff;
}
.sec03 .wrap01:last-child {
	margin: 0 auto;
}
.sec03 .wrap01 .box01 {
	width: 43%;
}
.sec03 .wrap01 .box02 {
	width: 54%;
}
.sec03 .wrap01:nth-child(even) .box01 {
	order: 2;
}
.sec03 .wrap01 .box02 {
	order: 1;
}
.sec03 .name {
	margin: 0 auto 2%;
	text-align: center;
}
.sec03 .name h3.txt {
	margin: 0 auto 1%;
	font-size: 1.1em;
	font-weight: 700;
}
.sec03 .name h1.name {
	margin: 0 auto 1%;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.3;
}
.sec03 .txt01 {
	max-width: 90%;
	margin: 0 auto 5%;
	display: table;
	line-height: 1.8;
}
.sec03 .btn {
  width: 10em;
  margin: 0 auto 3%;
  display: table;
  cursor: pointer;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.2em;
  text-align: center;
  text-decoration: inherit;
  background: #fff;
	border: 0.13em solid #000;
  box-shadow: 6px 6px 0 #000;
  transition: color .3s, background .3s, box-shadow .3s, transform 0.3s;
}
.sec03 .btn a {
  padding: 3% 0;
  display: block;
  font-size: 14px;
}
.sec03 .btn:hover {
	background: #fff;
	box-shadow: 3px 3px 0 #000;
	transform: translate(3px,1px);
}
.sec03 .btn:active {
	background: #fff;
	box-shadow: 0 0 0 #000;
	transform: translate(4px,2px);
	transition-duration: .1s;
}
/* section 4 */
.sec04 {
	padding: 5% 0;
}
.sec04 .wrap {
	max-width: 2000px;
  margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 0.4em solid #c1db81;
	border-bottom: 0.4em solid #a1d8e6;
}
.sec04 .wrap .box01 {
	width: 50%;
	line-height: 0;
}
.sec04 .wrap .box02 {
	width: 50%;
	text-align: center;
}
.sec04 h1.title {
	font-family: 'Noto Serif', serif;
	font-size: 3.5em;
	line-height: 1;
}
.sec04 .color01 {
	color: #f5b2b2;
}
.sec04 .color02 {
	color: #a1d8e6;
}
.sec04 .color03 {
	color: #c1db81;
}
.sec04 .subtitle {
	letter-spacing: 0.2em;
	text-indent: 0.2em;
}
.sec04 .btn a {
	margin: 0 auto;
	padding: 0 2em;
	display: table;
	border: 1px solid #000;
}

/* ================= smartphone ================= */
@media only screen and (max-width:699px) {
h1.main-title {
  font-size: 35px;
}
/* section 1 */
.sec01 .content {
  width: 90%;
}
.sec01 .wrap01 {
  display: block;
}
.sec01 .wrap01 .box01 {
  width: 100%;
}
.sec01 .wrap01 .box02 {
  width: 100%;
}
.sec01 .wrap01 h1.title {
	padding: 0;
	display: table;
  text-align: left;
  -ms-writing-mode: unset;
  writing-mode: unset;
}
.sec01 .wrap01:nth-child(1) h1.title::after {
  content: '';
  top: 50%;
  left: 100%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.sec01 .wrap01:nth-child(2) h1.title::after {
  content: '';
  top: 50%;
  left: 100%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.sec01 .wrap01:nth-child(3) h1.title::after {
  content: '';
  top: 50%;
  left: 100%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.sec01 .wrap01:nth-child(1) .txt01 {
  width: 100%;
  text-align: justify;
}
.sec01 .wrap01:nth-child(2) .txt01 {
  width: 100%;
  text-align: justify;
}
.sec01 .wrap01:nth-child(3) .txt01 {
  width: 100%;
  text-align: justify;
}
.sec01 .wrap01 .photo {
  width: 80%;
}
.sec01 .wrap01:nth-child(odd) .photo {
  margin: 0 auto;
}
.sec01 .wrap01:nth-child(even) .photo {
  margin: 0 auto;
}
.sec01 h3.txt {
  font-size: 16px;
}
.sec01 .content:last-child .wrap02 {
  display: block;
}
.sec01 .content:last-child .photo {
  width: 90%;
  margin: 0 auto;
}

/* section 2 */
.sec02 .content {
  width: 90%;
}
.sec02 h3.txt {
  font-size: 16px;
}
.sec02 .txt01 {
	margin: 0 auto 15%;
	text-align: left
}
.sec02 .wrap02:nth-child(1) .photo::after {
  content: '';
  width: 80%;
	bottom: -3.6em;
}
.sec02 .wrap02:nth-child(1) .txt {
  width: 70%;
}
.sec02 .wrap02:nth-child(1) h1.title {
  right: 2em;
  font-size: 25px !important;
}
.sec02 .wrap02:nth-child(2) h1.title {
  left: 1.5em;
  font-size: 25px !important;
}
.sec02 .wrap02:nth-child(2) .photo::after {
  content: '';
  width: 50%;
  bottom: -2.8em;
}
.sec02 .wrap03:last-child {
  margin: 0 auto 15%;
}
.sec02 .wrap03 .box {
  width: 44%;
}
.sec02 .wrap03 .box:nth-child(1) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(2) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(3) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(4) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(5) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(6) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(7) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(8) {
  margin: 0 3%;
}
.sec02 .wrap03 .box:nth-child(9) {
  margin: 0 3%;
}
.sec02 .wrap03 h1.title {
	margin: 10% 0 0;
  font-size: 17px !important;
}
.sec02 .wrap03 .txt {
  margin: 0 auto 15%;
}
/* section 3 */
.sec03 .wrap01 {
  display: block;
	padding: 5%;
}
.sec03 .name {
  margin: 0 auto 2%;
  text-align: center;
}
.sec03 .wrap01 .box01 {
  width: 100%;
}
.sec03 .wrap01 .box02 {
  width: 100%;
}
.sec03 .name h1.name {
  font-size: 20px;
}
.sec03 .name h3.txt {
  font-size: 14px;
}
.sec03 .txt01 {
  max-width: 100%;
	text-align: left;
}

/* section 4 */
.sec04 {
  padding: 0;
}
.sec04 .wrap {
  display: block;
  justify-content: space-between;
  align-items: center;
  border-top: 0.4em solid #c1db81;
  border-bottom: 0.4em solid #a1d8e6;
  max-width: 2000px;
  margin: 0 auto;
}
.sec04 h1.title {
  font-size: 35px !important;
	margin: 0 auto;
}
.sec04 .subtitle {
  font-size: 13px;
	margin: 0 auto 5%;
}
.sec04 .wrap .box01 {
  width: 100%;
  line-height: 0;
}
.sec04 .wrap .box02 {
  width: 90%;
	margin: 0 auto;
	padding: 5% 0;
}
}