@charset "utf-8";

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * メイン
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* -------------------------------------------------------------------------------------------------
   * セクショニング
/* ---------------------------------------------------------------------------------------------- */

#main {}

#main-contents {}

#main-contents div.body {
  max-width: 1040px;
  padding:0 20px;
  margin: 0 auto;
  overflow: hidden;
}

#main-contents .column ~ .column {
  margin-top: 40px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {

 #main-contents div.body {
   max-width: 100%;
   padding:0 20px;
   margin: 0 auto;
   overflow: hidden;
   }
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {

#main-contents > .section {
  padding-top: 30px;
  padding-bottom: 30px;
}

#main-contents div.body {
  max-width: 100%;
  padding:0 20px;
  margin: 0 auto;
  overflow: hidden;
}

#main-contents .column ~ .column {
  margin-top: 20px;
}

}

/* ****************************************************************************************************
   * ビジュアル
**************************************************************************************************** */

.support .visual .bg .inner {
    position: relative;
    width: 700px;
    height: 100%;
    margin-right: 75px !important;
    margin-left: auto;
}

.page-supporter .visual{ padding-bottom: 110px !important; }

@media screen and (max-width:1500px) {
body#layout-lower .visual .bg{ margin-bottom: 250px; }
body#layout-lower .visual .body .box {
	position: relative;
	width: 50%;
	margin-top: 80px;
	margin-right: 45px;
	max-width: 470px;
	margin-left: 70px;
}

.support .visual .bg .inner {
    position: relative;
    width: 400px !important;
    height: 100%;
    margin-right: 25px !important;
    margin-left: auto;
	top: 80px;
}
.page-supporter .visual{ padding-bottom: 80px !important; }
.page-supporter .visual .bg{ margin-bottom: 350px !important; }

}

@media screen and (max-width:1100px) {
body#layout-lower .visual .bg{ margin-bottom: 0; }
body#layout-lower .visual .body .box{ margin-left: 0; }
.support .visual .bg .inner {
	width: 320px !important;
    margin-right: 25px !important;
	padding-bottom: 200px;
	top: 150px;
}
.support .visual .bg img { margin: 0 auto; }

.page-partner .visual .bg{ margin-bottom: 40px !important; }
.page-supporter .visual{ padding-bottom: 40px !important; }
.page-supporter .visual .bg{ margin-bottom: 80px !important; }

}

@media screen and (max-width:736px) {
body#layout-lower .visual .bg{ margin-bottom: 110px; }
body#layout-lower .visual{ padding-bottom: 40px; }
body#layout-lower .visual .body .box {
	margin-left: auto;
	margin-right: auto;
	width: 100% !important;
	margin-top: 20px;
	max-width: 350px;
}

.support .visual .bg .inner {
    margin-right: auto !important;
	text-align: center;
	top: 0;
	padding-bottom: 0;
}
.support .visual .bg img { margin: 0 auto; }

.page-probono .visual .bg{ margin-bottom: 40px !important; }
.page-partner .visual{ padding-bottom: 0px !important; }
.page-partner .visual .bg{ margin-bottom: 0px !important; }
.page-supporter .visual .bg{ margin-bottom: 100px !important; }

}

/* ----------------------------------------------------------------------------------------------------
   * アイコン
/* ------------------------------------------------------------------------------------------------- */

.page-support
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/support/icon-1.png") no-repeat;
  width: 62px;
  height: 98px;
  background-size: 62px 98px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -50px;
  margin-right: -80px;
  animation: 3s fuwafuwa infinite;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
.page-support
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/support/icon-1.png") no-repeat;
  width: 31px;
  height: 49px;
  background-size: 31px 49px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0px;
  margin-right: 20px;
  animation: 3s fuwafuwa infinite;
}

}


/* ----------------------------------------------------------------------------------------------------
   * partner アイコン
/* ------------------------------------------------------------------------------------------------- */

.page-partner
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/partner/icon-1.png") no-repeat;
  width: 62px;
  height: 98px;
  background-size: 62px 98px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -50px;
  margin-right: -80px;
  animation: 3s fuwafuwa infinite;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
.page-partner
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/partner/icon-1.png") no-repeat;
  width: 31px;
  height: 49px;
  background-size: 31px 49px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0px;
  margin-right: 20px;
  animation: 3s fuwafuwa infinite;
}

}


/* ----------------------------------------------------------------------------------------------------
   * supporterアイコン
/* ------------------------------------------------------------------------------------------------- */

.page-supporter
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/supporter/icon-1.png") no-repeat;
  width: 62px;
  height: 59px;
  background-size: 62px 59px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -50px;
  margin-right: 20px;
  animation: rotation 6s linear infinite;
}

.page-supporter
.visual .body .box::after {
  content: "";
  display: block;
  background: url("../../_images/supporter/icon-2.png") no-repeat;
  width: 185px;
  height: 132px;
  background-size: 185px 132px;
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: -130px;
  margin-right: -100px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {
.page-supporter
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/supporter/icon-1.png") no-repeat;
  width: 62px;
  height: 59px;
  background-size: 62px 59px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -50px;
  margin-right: 10px;
  animation: rotation 6s linear infinite;
}

.page-supporter
.visual .body .box::after {
	display: none;
}
}

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
.page-supporter
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/supporter/icon-1.png") no-repeat;
  width: 31px;
  height: 29px;
  background-size: 31px 29px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0px;
  margin-right: 20px;
  animation: rotation 6s linear infinite;
}

.page-supporter
.visual .body .box::after {
  content: "";
  display: block;
  background: url("../../_images/supporter/icon-2.png") no-repeat;
  width: 92px;
  height: 66px;
  background-size: 92px 66px;
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: -60px;
  margin-right: 10px;
}
}


/* ----------------------------------------------------------------------------------------------------
   * probonoアイコン
/* ------------------------------------------------------------------------------------------------- */

.page-probono
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/probono/icon-1.png") no-repeat;
  width: 69px;
  height: 63px;
  background-size: 69px 63px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -50px;
  margin-right: 20px;
  animation: FloatHorizontal 7.0s ease-in-out infinite alternate;
}

.page-probono
.visual .body .box::after {
  content: "";
  display: block;
  background: url("../../_images/probono/icon-2.png") no-repeat;
  width: 117px;
  height: 133px;
  background-size: 117px 133px;
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: -100px;
  margin-right: -100px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {
.page-probono
.visual .body .box::after {
	display: none;
}
}


@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
.page-probono
.visual .body .box::before {
  content: "";
  display: block;
  background: url("../../_images/probono/icon-1.png") no-repeat;
  width: 34px;
  height: 31px;
  background-size: 34px 31px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0px;
  margin-right: 20px;
  animation: FloatHorizontal 7.0s ease-in-out infinite alternate;
}

.page-probono
.visual .body .box::after {
  content: "";
  display: block;
  background: url("../../_images/probono/icon-2.png") no-repeat;
  width: 58px;
  height: 66px;
  background-size: 58px 66px;
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: -60px;
  margin-right: 10px;
}
}



/* ****************************************************************************************************
   * パートナーシップ
**************************************************************************************************** */
/* ----------------------------------------------------------------------------------------------------
   * 共通
/* ------------------------------------------------------------------------------------------------- */

.support {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
   * リード文
/* ------------------------------------------------------------------------------------------------- */

.support .lead {}

.support .lead .title-1 {
  color: #9cc715;
  font-size: 3.0rem;
  border-bottom: 3px dotted #9cc715;
  font-family: "Kiwi Maru", serif;
}
.support .lead .title-1 + p {
  margin-top: 35px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/
.support .lead .title-1 + p {
  margin-top: 20px;
}
}


/* ----------------------------------------------------------------------------------------------------
   * 内容
/* ------------------------------------------------------------------------------------------------- */

.support .lead + .list {
  margin-top: 0;
}

.support .item.layout-2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.support .item {
  position: relative;
  padding: 50px 0;
  border-bottom: 1px solid #ddd;
}

.support .item .images {
/*
  min-width: 250px;
  max-width: 250px;
  min-height: 250px;
  max-height: 250px;
*/
  margin-right: 5%;
  width: 25%;
}

.support .item .detail {
  width: 70%;
}

.support .item .detail .title-1 {
  font-size: 3.2rem;
  font-family: "Kiwi Maru", serif;
  line-height: 1.4;
  font-weight: bold;
}
.support .item .detail .title-1 span {
  font-size: 1.8rem;
  display: block;
  color: #9cc715;
}

.support .item .detail .text b {
  font-family: "Kiwi Maru", serif;
  font-size: 1.8rem;
}
.support .item .detail .text {
  margin-top: 0.5em;
}
.support .item .detail .text-1 {
  margin-top: 20px;
  font-size: 1.8rem;
}

.support .item .detail ul.default {
  margin-top: 0;
}
.support .item .detail ul.default li ~ li {
  margin-top: 0;
}

.support .item .detail a {
  transition: 0.5s;
}
.support .item .detail a:hover {
  color: #f09cb4;
  text-decoration: underline;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/

.support .item {
  position: relative;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}

.support .item .images {
  min-width: 125px;
  max-width: 125px;
  min-height: 125px;
  max-height: 125px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.support .item .detail {
  margin-top: 1em;
  width: 100%;
}

.support .item .detail .title-1 {
  font-size: 2.2rem;
  font-family: "Kiwi Maru", serif;
  line-height: 1.4;
  margin-bottom: 1em;
}
.support .item .detail .title-1 span {
  font-size: 1.6rem;
  display: block;
  color: #9cc715;
}
}


/* ----------------------------------------------------------------------------------------------------
   * ボタン
/* ------------------------------------------------------------------------------------------------- */

.support .link-btn {
  margin-top: 30px; margin-bottom: 0px; text-align: left;
}

.support .link-btn .btn {
  width: 450px;
  background: #f09cb4;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  border-radius: 30px;
  font-weight: bold;
  font-family: "Kiwi Maru", serif;
  transition: 0.3s;
}

.support .link-btn .btn:hover {
  opacity: 0.7;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {
.support .link-btn .btn{ width: 410px; }
}
@media screen and (max-width:736px) {
  /*ブラウザの幅が736px以下の時*/

.support .link-btn {
  margin-top: 30px;
}
.support .link-btn .btn {
  width: 96%; margin: 0 auto;
  background: #f09cb4;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
  border-radius: 30px;
  font-weight: bold;
  font-family: "Kiwi Maru", serif;
  transition: 0.3s;
}

}



