@charset "UTF-8";
/*========================================
common
========================================*/
.title_h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
  font-size: 2rem;
}
.title_h3:before, .title_h3:after {
  content: "";
  width: 30px;
  border-top: 5px solid #65c121;
}
.title_h3:before {
  margin-right: 1rem;
}
.title_h3:after {
  bottom: -20px;
  margin-left: 1rem;
}
a:hover {
  cursor: pointer;
  opacity: 0.7;
}
.breadcrumb {
  background: #ecebd6;
}
.breadcrumb ul {
  display: flex;
  list-style: none;
  padding: 10px 0;
}
.breadcrumb ul li:not(:first-child):before {
  content: ">";
  margin: 0 5px;
}
.page-title_ar {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 180px;
  margin: 0 auto 50px;
}
.page-title_text {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 100;
  text-align: center;
}
.page-title_text span {
  margin-top: 15px;
  font-size: 2rem;
}
.gl-imgbox {
  width: 100%;
  height: 300px;
  margin-bottom: 50px;
  background: #ccc;
}
.activity-page p, .supporter-page p, .contact-page p {
  margin-bottom: 10px;
  line-height: 1.3;
}
.activity-top_text, .supporter-top_text, .contact-top_text {
  margin-bottom: 40px!important;
}
.gl-flexbox {
  display: flex;
  justify-content: space-between;
}
.flex-reverse {
  flex-direction: row-reverse;
}
.flex-width47 {
  width: 47%;
}
.flex-width57 {
  width: 57%;
}
.flex-width40 {
  width: 40%;
}

@media (max-width:767px) {
.gl-flexbox {
  flex-direction: column-reverse;
}
.flex-width47, .flex-width57, .flex-width40 {
  width: 100%;
}
.title_h3 {
  font-size: 1.8rem;
}
}
/*========================================
top-page
========================================*/

.top-keyvisual_ar {
  margin: 0 auto 50px;
  background-color: #ecebd6;
  background-image: url("../img/bg-yellowgreen-1.png"), url("../img/bg-yellowgreen-2.png");
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, right top;
  background-size: auto 30%, auto 30%;
}
.top-keyvisual_ar .main-wrapper {
  height: 320px;
  background: url(../img/top-hero.png) right 70px bottom / 300px auto no-repeat;
}
.top-keyvisual_text {
  margin-left: 80px;
  padding: 50px 0;
  font-weight: bold;
}
.top-keyvisual_text p {
  margin-bottom: 2%;
  font-size: 2.5rem;
  color: #000;
}
.top-keyvisual_text p:nth-child(2) {
  margin: 0 0 0 50px;
}
.top-keyvisual_text h2 span {
  font-size: 1.5rem;
  text-shadow: none;
}
.top-keyvisual_text h2 {
  font-size: 4rem;
  font-weight: bold;
  text-shadow: 3px 3px 0px #fff;
}
.top-main-cont {
  margin-bottom: 50px;
}
.top-main-cont .main-wrapper {
  display: flex;
}
.top-main_ar {
  width: calc(100% - 300px);
  margin-right: 25px;
}
.top-side_ar {
  width: 275px;
}
.top-blog_ar {
  padding: 20px;
  margin-bottom: 10px;
  border: 1px solid #65c121;
}
.top-blog_box {
  height: 200px;
  overflow-y: auto;
}
.top-blog_box li {
  display: flex;
  padding: 20px;
}
.top-blog_box li:nth-child(odd) {
  background: #f9f9f3;
}
.top-blog_box dt {
  width: calc(25% - 15px);
  margin-right: 15px;
}
.top-blog_box dd {
  width: 75%;
  line-height: 1.2;
}
.top-blog_box dd a {
  color: #555;
}
.top-blog_btn {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 50px;
}
.top-blog_btn p {
  padding: 8px 15px;
  background: #65c121;
  color: #fff;
}
.ishin_facebook {
  margin-bottom: 20px;
}
.ishin_facebook iframe {
  width: 100%;
}
.ishin_bnr {
  margin-bottom: 10px;
}
.top-img_box .main-wrapper {
  display: flex;
  padding-bottom: 50px;
}
.top-img_box p {
  width: 30%;
  text-align: center;
}
.top-img_box p:not(:last-child) {
  margin-right: 5%;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
.top-keyvisual_ar .main-wrapper {
  height: 320px;
  background: url(../img/top-hero.png) right 20px bottom / 300px auto no-repeat;
}
.top-keyvisual_text p:nth-child(1) {
  margin-bottom: 2%;
  font-size: 1.5rem;
}
.top-keyvisual_text p:nth-child(2) {
  margin-bottom: 5%;
  font-size: 1.5rem;
}
.top-keyvisual_text h2 {
  font-size: 3rem;
}
}

@media (max-width:767px) {
.top-keyvisual_ar {
  background-position: left -80px bottom, right -80px top;
}
.top-keyvisual_ar .main-wrapper {
  height: 270px;
  background: url(../img/sp_top-hero.png) right -30px bottom / 200px auto no-repeat;
}
.top-keyvisual_text {
  width: 70%;
  margin-left: 0px;
}
.top-keyvisual_text h2 {
  margin-top: 15px;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.2;
}
.top-keyvisual_text h2 span {
  font-size: 1rem;
}
.top-keyvisual_text p:nth-child(1) {
  margin-bottom: 2%;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: bold;
}
.top-keyvisual_text p:nth-child(2) {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: bold;
}
.top-main-cont .main-wrapper {
  display: block;
}
.top-main_ar {
  width: 100%;
  margin-right: 0;
}
.top-side_ar {
  width: 100%;
}
.top-bnr_ar aside {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.ishin_bnr {
  width: 35%;
}
.facebook {
  width: 60px;
  margin-bottom: 10px;
}
.top-img_box .main-wrapper {
  display: block;
  margin-bottom: 50px;
}
.top-img_box p {
  width: 100%;
  margin-bottom: 10px;
}
.top-img_box img {
  width: 80%;
  height: auto;
}
.top-blog_box li {
  padding: 10px;
}
.top-blog_box dt {
  width: calc(40% - 15px);
  margin-right: 15px;
}
.top-blog_box dd {
  width: 60%;
}
}
.facebook-link {
	display: flex;
	justify-content: center;
	border: 4px solid #4a68ad;
	border-radius: 10px;
}
.facebook-link p a {
	display: flex;
	align-items: center;
	padding: 15px 0;
	color: #4a68ad;
	font-size: 1.2rem;
	font-weight: bold;
}
.facebook-link img {
	width: 25px;
	margin: 0 10px 0 0;
}
@media (max-width:374px) {
.top-keyvisual_ar .main-wrapper {
  background: url(../img/sp_top-hero.png) right -60px bottom / 200px auto no-repeat;
}
.top-keyvisual_text h2 {
  margin-top: 15px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
}
.top-keyvisual_text p:nth-child(2) {
  margin: 0 0 0 30px;
}
.facebook {
  width: 50px;
  margin-bottom: 10px;
}
}
/*========================================
activity
========================================*/
/*.activity-page .page-title_ar {
  background-image: url(../img/bg-green-1.png), url(../img/bg-green-2.png), url(../img/activity-hero.jpg);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left bottom, right top, center;
  background-size: auto 30%, auto 30%, cover;
}*/
.activity-sectionbox {
  padding: 40px;
  margin-bottom: 50px;
  border: 1px solid #65c121;
}
.activity-sectionbox h3 {
  line-height: 1.2;
}
.activity-sectionbox p {
  line-height: 1.7;
}
.activity-sectionbox:nth-of-type(2) {
  margin-bottom: 70px;
}
.activity-page h4 {
  margin-bottom: 20px;
  padding: 10px;
  background: #65c121;
  color: #fff;
}
.activity-page h5 {
  margin-bottom: 10px;
  color: #65c121;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.2;
}
.activity-policy {
  width: 630px;
  margin: 0 auto;
}
.activity-policy article {
  display: flex;
  align-items: flex-end;
  margin-bottom: 50px;
}
.activity-policy article:nth-of-type(even) {
  flex-direction: row-reverse;
}
.activity-policy_text {
  width: calc(100% - 240px);
}
.activity-policy_text p {
  margin-bottom: 0;
  line-height: 1.7;
}
.under-yellow {
  background: linear-gradient(transparent 65%, #fff893 0%);
}
.activity-policy article figure {
  width: 200px;
  margin: 20px;
}

@media (max-width:767px) {
.gl-flexbox {
  flex-direction: column-reverse;
}
.flex-width47, .flex-width57, .flex-width40 {
  width: 100%;
}
.activity-sectionbox {
  padding: 40px 15px 10px;
}
.activity-sectionbox h3 {
  font-size: 1.2rem;
}
.activity-policy {
  width: 95%;
  margin: 0 auto;
}
.activity-policy article {
  display: block;
}
.activity-policy_text {
  width: 100%;
}
.activity-policy article figure {
  margin: 20px auto;
}
}
/*========================================
supporter
========================================*/
.supporter-page section {
  margin-bottom: 50px;
}
.support-text p {
  line-height: 1.7;
  margin-bottom: 30px;
}
.support-text ul {
  list-style: none;
  margin-bottom: 30px;
}
.support-text ul li {
  margin-bottom: 10px;
  line-height: 1.7;
}

@media (max-width:767px) {
.supporter-page .title_h3 {
  font-size: 1.25rem;
  font-weight: bold;
}
.supporter-page section p {
  margin-left: 5px;
  margin-right: 5px;
}
}
/*========================================
profile
========================================*/
/*.profile-page .page-title_ar {
  background-image: url(../img/bg-green-1.png), url(../img/bg-green-2.png), url(../img/profile-hero.jpg);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left bottom, right top, center;
  background-size: auto 30%, auto 30%, cover;
}*/

.profile-greeting_ar article {
  box-sizing: border-box;
  width: 100%;
  padding: 0 50px 20px 50px;
}
.profile-greeting_ar article h4 {
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.profile-greeting_ar article p {
  margin-bottom: 20px;
  line-height: 1.5;
}
.profile-img {
  position: relative;
  width: 250px;
  margin: 0 auto;
}
.profile-img_sub {
  position: absolute;
  top: -30px;
  right: -100px;
  width: 100px;
}
.profile-text_ar {
  margin-top: 10px;
  padding-bottom: 5px;
  border-bottom: 2px solid #aaa;
  font-weight: bold;
  text-align: center;
}
.profile-table_ar {
  display: flex;
  align-items: flex-end;
}
.profile-box {
  width: calc(100% - 321px);
  margin-right: 100px;
}
.profile-box dl {
  display: flex;
  align-items: center;
  border-bottom: 2px solid #65c121;
}
.profile-box dt {
  display: flex;
  align-items: center;
  width: 25%;
  padding: 30px;
}
.profile-box dd {
  display: flex;
  align-items: center;
  width: 75%;
  padding: 30px;
  line-height: 1.2;
}
.profile-box dl:last-child dd {
  border-bottom: none;
}
.profile-box ul {
  list-style: none;
}
.profile-box ul li:not(:last-child) {
  margin-bottom: 10px;
}
.mt-fuji {
  width: 221px;
}

@media (max-width:767px) {
.profile-greeting_ar {
  display: block;
}
.profile-greeting_ar article {
  width: 100%;
  padding: 0;
}
.profile-greeting_ar article h4 {
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.profile-greeting_ar article p {
  margin-bottom: 20px;
  line-height: 1.5;
}
.profile-img {
  margin: 0 auto;
}
.profile-img_sub {
  position: absolute;
  top: 0px;
  right: -40px;
}
.profile-table_ar {
  display: block;
}
.profile-box {
  width: 100%;
  margin: 0 0 30px 0;
}
.profile-box dl {
  flex-direction: column;
  border-bottom: none;
}
.profile-box dt, .profile-box dd {
  width: 100%;
  box-sizing: border-box;
}
.profile-box dt {
  border-right: none;
  padding: 10px 20px;
  background: #eee;
}
.profile-box dd {
  border: none;
}
.mt-fuji {
  margin: 0 auto;
}
}

@media screen and (min-width: 768px) and (max-width: 960px) {
.profile-box dt {
  width: 21%;
}
.profile-box dd {
  width: 79%;
}
}
/*========================================
contact
========================================*/
.contact-page .page-title_ar, .profile-page .page-title_ar, .activity-page .page-title_ar, .supporter-page .page-title_ar {
  background-color: #65c121;
  background-image: url(../img/bg-green-1.png), url(../img/bg-green-2.png);
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, right top;
  background-size: auto 30%, auto 30%;
}
input {
  font-size: 1rem;
}
.contact-page form dl {
  display: flex;
  justify-content: space-between;
}
.contact-page form dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 20%;
  min-width: 180px;
  padding: 25px;
  background: #f8f7e2;
}
.contact-page form dt span {
  padding: 3px;
  background: #de4200;
  color: #fff;
  font-size: 0.7rem;
}
.contact-page form dd {
  width: 100%;
  padding: 25px;
}
.contact-page form dd p {
  margin-bottom: 0;
}
textarea {
  font-size: 16px;
}
input[type="text"], input[type="mail"], textarea {
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #aaa;
}
input[type="submit"] {
  margin-top: 70px;
  padding: 10px 40px;
  background: #2c9215;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 100;
}
input[type="submit"]:hover {
  cursor: pointer;
  opacity: 0.7;
}
.contact_btn {
  display: flex;
  justify-content: center;
}
.contact_wd50 {
  width: 50%;
}
.contact_wd60 {
  width: 60%;
}
.contact_wd80 {
  width: 80%;
  height: 250px;
}
.contact-page form dl {
  border-top: 1px solid #777;
}
.contact-page form dl:last-of-type {
  border-bottom: 1px solid #777;
}
.contact-btn_box {
  display: flex;
  justify-content: center;
  margin-top: 70px;
  margin-bottom: 100px;
}
.confirm-btn1, .confirm-btn2 {
  margin-bottom: 0;
  text-align: center;
}
.confirm-btn1 {
  margin-right: 50px;
  border: 1px solid #aaa;
}
.confirm-btn1 a, .confirm-btn2 a {
  display: block;
  padding: 10px 50px;
  width: 200px;
  font-size: 1.3rem;
}
.confirm-btn1 a {
  color: #555;
}
.confirm-btn2 {
  border: 1px solid #2c9215;
}
.confirm-btn2 a {
  background: #2c9215;
  color: #fff;
}
p.error-txt {
  clear: both;
  height: 0;
  padding: 0;
  line-height: 1;
}
.error {
  position: relative;
  top: -2em;
  left: 0;
  padding: .5em 1em .4em;
  border: 1px solid #de4200;
  border-radius: 5px;
  background-color: #de4200;
  color: #fff;
  font-size: 1rem;
}
.error:after, .error:before {
  content: '';
  position: absolute;
  top: 100%;
  left: 15px;
  border: solid transparent;
}
.error:before {
  border-top-color: #de4200;
  border-width: 8px;
}
.error:after {
  margin-left: 1px;
  border-top-color: #de4200;
  border-width: 7px;
}
.form-btn_error {
  background: #ffe8e8!important;
  border: 2px solid #f00!important;
}
.contact-end_text {
  text-align: center;
}

@media (max-width:767px) {
.contact-page .page-title_text, .profile-page .page-title_text, .activity-page .page-title_text, .supporter-page .page-title_text {
  font-size: 2rem;
}
.contact-page form dl {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
}
.contact-page form dt, .contact-page form dd {
  box-sizing: border-box;
  width: 100%;
  padding: 15px;
}
.contact-page form dt {
  justify-content: normal;
  padding: 10px;
}
.contact-page form dt span {
  margin-left: 10px;
}
input[type="submit"] {
  margin-top: 40px;
  margin-bottom: 70px;
}
.contact-page form dl, .contact-page form dl:last-of-type {
  border: none;
}
.contact_wd50, .contact_wd60, .contact_wd80 {
  width: 100%;
}
.contact_border_t {
  border-top: none;
}
.contact_border_b {
  border-bottom: none;
}
.contact-btn_box {
  flex-direction: column-reverse;
}
.confirm-btn1, .confirm-btn2 {
  margin: 30px auto;
}
.contact-page form dd, .contact-page form dd p {
  width: 100%;
}
.error {
  top: -4.5em;
}
.contact-page form dd {
  width: 100%;
  padding: 10px;
}
.confirm-btn1 a, .confirm-btn2 a {
  padding: 10px 20px;
}
.contact-end_text {
  padding: 0 10px;
  text-align: left;
}
}
