@charset "utf-8";


/***ページ説明***/
.top_pageex_sec {
  padding: 120px 0;
}
.top_pageex_box .content {
  width: 45%;
}
.top_pageex_title {
  width: 240px;
  margin-bottom: -40px;
}

.top_pageex_box .content .box {
  max-width: 430px;
  margin: 0 auto;
}

.top_pageex_box .content .box p {
  margin-bottom: 45px;
}

.top_pageex_concept {
  margin-bottom: 80px;
}
.top_pageex_concept .image {
  width: 55%;
}

.top_pageex_concept .image figure {
  width: calc(100% + 50px);
  margin-left: -50px;
}

.top_pageex_concept .content .box * {
  color: #62B3AB;
}

.top_pageex_concept .content .box p {
  color: #717171
}

.top_pageex_concept .content .box .btn_box a {
  color: white;
  background-color: #62B3AB;
}

.top_pageex_about {
  background: url(../img/top_about.png) center right / 55% no-repeat;
}

.top_pageex_about .content .box {
  max-width: 430px;
  margin: 0 auto;
}

.top_pageex_about .content .box .sec_title {
  color: #EEA968;
}

.top_pageex_about .content .box p {
  color: #717171;
}
.top_pageex_about .content .box .btn_box a {
  color: white;
  background-color: #EEA968;
}
@media screen and (max-width: 780px){
  .top_pageex_sec {
    padding: 70px 0;
  }
  .top_pageex_concept {
    margin-bottom: 55px;
  }
  .top_pageex_box .content,
  .top_pageex_concept .image {
    width: 100%;
  }
  .top_pageex_concept .image {
    margin-bottom: -125px;
  }
  .top_pageex_title {
    margin-bottom: 0px;
    
  }
  .top_pageex_box .content .box {
  max-width: 100%;
  margin: 0 auto;
  }
  .top_pageex_concept .image figure {
    width: 100%;
    margin-left: 0px;
  }
  .top_pageex_middle {
    margin-bottom: -80px;
  }
  .top_pageex_middle figure{
    width: 90%;
    margin-left: auto;
  }
  .top_pageex_about {
    background: none;
  }

}

/***Whats new（追加セクション）***/

.whatsnew {
  margin-top: 50px;
  margin-bottom: 20px;
}

.whatsnew h4 {
  font-size: 2.4rem;
  color: #E2657C;
}

.whatsnew  a {
  color: #E2657C;
  margin-left: 5px;
}
.news_btn a{
  background-color: #EEA968;
}
/***支援方法一覧***/
.join_how_sec {
  background: url(../img/shien_back.png) center / cover no-repeat;
  text-align: center;
}

.join_how_sec h2 {
  color: #E2657C;
}

.join_how_sec ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: stretch;
  margin-bottom: 70px;
}

.join_how_sec ul li {
  width: calc(100% / 3 - 50px / 3);
  display: flex;
  align-items: stretch;
}

.join_how_sec ul li:nth-of-type(n + 4) {
  margin-top: 30px;
}

.join_how_sec ul li a {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: stretch;
}
.join_how_sec ul li .img {
  width: 100%;
}
.join_how_sec ul li .img figure {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 66%;
  overflow: hidden;
}
.join_how_sec ul li .img figure img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: auto;
}

.join_how_sec ul li .text {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: white;
  width: 100%;
  padding: 20px;
  flex: 1;
}

.join_how_sec ul li:nth-of-type(1) .text {
  background-color: #F7BE7E;
}
.join_how_sec ul li:nth-of-type(2) .text {
  background-color: #E496A4;
}
.join_how_sec ul li:nth-of-type(3) .text {
  background-color: #C3A2EE;
}
.join_how_sec ul li:nth-of-type(4) .text {
  background-color: #9CD9AB;
}
.join_how_sec ul li:nth-of-type(5) .text {
  background-color: #6DC3BC;
}
.join_how_sec ul li:nth-of-type(6) .text {
  background-color: #7ABCE2;
}


.join_how_sec ul li .text::after {
    content: "";
    position: absolute;
    right: 20px;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image:url(../img/arrow_img2.png);
    background-position: center;
    background-size: contain;

}

.join_how_sec ul li .text p {
  font-size: 2.6rem;
  font-family: 'Noto Serif JP', serif;
}

.join_how_sec .other_link a {
  color: #E2657C;
  font-size: 1.7rem;
  border-bottom: 1px solid #E2657C;
  padding-bottom: 5px;
  font-weight: bold;
}


@media screen and (max-width: 780px){
  .join_how_sec {
    background-image: url(../img/shien_back_sp.png);
    padding-bottom: 70px;
  }
  .join_how_sec ul {
    margin-bottom: 50px;
  }
  .join_how_sec ul li {
    width: 100%;
    display: flex;
  }
  .join_how_sec ul li:nth-of-type(n + 2),
  .join_how_sec ul li:nth-of-type(n + 4) {
    margin-top: 20px;
  }

  .join_how_sec ul li a {
    flex-direction: row;
    align-items: stretch;
  }
  .join_how_sec ul li .img {
    width: 140px;
  }
  .join_how_sec ul li .img figure {
    padding-bottom: 93%;
  }
  .join_how_sec ul li .img figure img {
    width: auto;
    max-width: inherit;
    height: 100%;
  }
  .join_how_sec ul li .text {
    padding: 10px;
    padding-right: 30px;
  }

  .join_how_sec ul li .text p {
    font-size: 1.9rem;
    line-height: 1.4;
  }
  .join_how_sec ul li .text::after {
    right: 10px;
    font-size: 2.5rem;
  }

}


/***スポンサー(追加セクション)***/
.sponsor_sec {
  text-align: center;
  align-items: center;
}

.sponsor_sec h2 {
  color: #E2657C;
}

.sponsor_sec .sponsor {
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
/*  display: inline-block;*/
}

.sponsor_sec .supporter {
  margin: 0 auto;
  display: inline-block;
}

.sponsor_sec img {
  vertical-align: middle;
}
.sponsor_sec ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0;
	list-style-type: none;
}
.sponsor_sec li {
/*  float: left;*/
  margin: 0 10px;
  width: 200px;
  height: 80px;
  line-height: 80px; 
  }

/***メールマガジン登録***/
.top_magazine_sec {
  background-color: #62B3AB;
  text-align: center;
  color: white;
}

.top_magazine_sec h2 span {
  position: relative;
}

.top_magazine_sec h2 span::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -85px;
  width: 70px;
  height: 54px;
  background: url(../img/magazine_mark.png) center / contain no-repeat;
}
.top_magazine_sec p {
  margin-bottom: 45px;
}
.top_magazine_sec .btn_box a {
  background-color: var(--orange);
}


@media screen and (max-width: 780px){
  .top_magazine_sec {
    padding-top: 90px;
  }
  .top_magazine_sec h2 span {
    padding-top: 60px;
  }
  
  .top_magazine_sec h2 span::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

}

/***英語ページ***/
.ec_page_top_sec .wrapper,
.en_page_middle_sec .wrapper,
.en_page_bottom_sec .wrapper {
  max-width: 1100px;
}

/*トップ*/
.ec_page_top_sec .wrapper{
  position: relative;
}

.ec_page_top_sec .wrapper::before {
  content: '';
  position: absolute;
  width: 155px;
  height: 100px;
  background: url(../img/aboutdec_1.png) center / contain no-repeat;
  left: -160px;
  top: -45px;
}

.ec_page_top_sec .wrapper::after {
    width:150px;
    height: 120px;
    content: '';
    position: absolute;
    bottom: -5px;
    left: -150px;
    background: url(../img/aboutdec_4.png) center / contain no-repeat;
}


.ec_page_top_sec .contents {
  position: relative;
  padding-top: 80px;
}
.ec_page_top_sec .contents figure  {
  top: 0;
  width: calc(50% - 70px);
  position: absolute;
}
.ec_page_top_sec .contents .text_box {
  padding: 65px 40px;
  border-radius: 30px;
  width: calc(50% + 280px);
}

.ec_page_top_sec .contents .text_box h2 {
  font-size: 3.8rem;
  margin-bottom: 30px;
}

.ec_page_top_sec .content_top {
  margin-bottom: 90px;
  position: relative;
}
.ec_page_top_sec .content_top::after {
  width: 214px;
  height: 164px;
  content: '';
  position: absolute;
  bottom:-50px;
  right: -100px;
  background: url(../img/aboutdec_2.png) center / contain no-repeat;
}
.ec_page_top_sec .content_top figure {
  right: 0;
}
.ec_page_top_sec .content_top .text_box {
  background-color: #FFF8F0; 
  padding-right: 240px;
  margin-right: auto;
}

.ec_page_top_sec .content_top .text_box h2{
  color: var(--orange);
}

.ec_page_top_sec.en .content_top .text_box p {
  line-height: 2.2;
}
.ec_page_top_sec .content_bottom figure {
  left: 0;
}
.ec_page_top_sec .content_bottom .text_box {
  background-color: #F2F8F8; 
  padding-left: 240px;
  margin-left: auto;
}
.ec_page_top_sec .content_bottom .text_box h2{
  color: #62B3AB;
}



@media screen and (max-width: 780px){
  .ec_page_top_sec .wrapper::before,
  .ec_page_top_sec .wrapper::after,
  .ec_page_top_sec .content_top::after {
    display: none;
  }
  .ec_page_top_sec .contents {
    position: relative;
    padding-top: 0px;
  }
  .ec_page_top_sec .contents figure  {
    position: relative;
    width: 100%;
  }
  .ec_page_top_sec .contents .text_box {
    padding: 65px 25px 60px;
    width: 100%;
    position: relative;
  }
  .ec_page_top_sec .content_top {
    margin-bottom: 70px;
    padding-top: 40px;
  }
  .ec_page_top_sec .content_top figure {
    margin-bottom: -130px;
    z-index: 1;
  }
  .ec_page_top_sec .content_top .text_box  {
    padding-top: 140px;
    border-radius: 0 20px 20px 0;
    left: -15px;
  }

  .ec_page_top_sec .content_bottom figure {
    z-index: 1;
    margin-bottom: -30px;
    left: -30px;
  }

  .ec_page_top_sec .content_bottom .text_box  {
    padding-top: 60px;
    border-radius: 20px 0px 0px 20px;
    right: -15px;
  }

}

/***ミドル***/
.en_page_middle_sec {
  background-color: #FFF8F0;
}

.en_page_middle_sec .white {
  border-radius: 20px;
  background-color: white;
  padding: 60px 70px;
}
.en_page_middle_sec .white .top {
  margin-bottom: 30px;
}
.en_page_middle_sec .white .middle {
  margin-bottom: 20px;
}

.en_page_middle_sec .white ul {
  margin-bottom: 30px;
}

.en_page_middle_sec .white .box {
  border: 1px solid #EEA968;
  padding: 20px 40px;
}

.en_page_middle_sec .white .box .orange {
  text-decoration: underline;
}



@media screen and (max-width: 780px){
  .en_page_middle_sec .white {
    padding: 30px 25px;
  }

}

/***ボトム***/

.en_page_bottom_sec .wrapper > .content:not(:last-child) {
  margin-bottom: 80px;
}

.en_page_bottom_sec .content {
  position: relative;
  padding-top: 80px;
}

.en_page_bottom_sec .content figure {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(40% - 30px);
}

.en_page_bottom_sec .content .box {
  border-radius: 30px;
  background-color: #FDF3F4;
  padding: 50px 40px;
  padding-left: 120px;
  width: calc(60% + 120px);
  margin-left: auto;
}

.en_page_bottom_sec .content .box .sec_title {
  margin-bottom: 30px;
  font-size: 3.8rem;
}

.en_page_bottom_sec .content .box p {
  margin-bottom: 35px;
}

.en_page_bottom_sec .content .box ul {
  margin-bottom: 45px;
}
.en_page_bottom_sec .content .box dt {
  margin-bottom: 10px;
}

.en_page_bottom_sec .content.top .box {
  background-color: #FDF3F4;
}
.en_page_bottom_sec .content.top .sec_title,
.en_page_bottom_sec .content.top .original_list li::before {
  color: #E37A8D;
}

.en_page_bottom_sec .content.middle .box {
  background-color: #F2F8F8;
}
.en_page_bottom_sec .content.middle .sec_title,
.en_page_bottom_sec .content.middle .original_list li::before {
  color: #62B3AB;
}

.en_page_bottom_sec .content.bottom .box {
  background-color: #FFF8F0;
}
.en_page_bottom_sec .content.bottom .sec_title,
.en_page_bottom_sec .content.bottom .original_list li::before {
  color: #EEA968;
}


@media screen and (max-width: 780px){
  .en_page_bottom_sec .content {
    padding-top: 0px;
  }
  
  .en_page_bottom_sec .content figure {
    position: relative;
    top: 0;
    left: -15px;
    width: 100%;
    margin-bottom: -220px;
  }

  .en_page_bottom_sec .content .box {
    border-radius: 20px;
    padding: 50px 20px;
    padding-top: 250px;
    width: 100%;
  }
  .en_page_bottom_sec .content .box .sec_title {
    font-size: 3rem;
  }

  .en_page_bottom_sec .content .box p,
  .en_page_bottom_sec .content .box li,
  .en_page_bottom_sec .content .box dd,
  .en_page_bottom_sec .content .box dt {
    font-size: 1.6rem;
  }

}

/*英語お問い合わせリンク*/
.top_magazine_sec.en p {
  line-height: 2;
  font-size: 1.5rem;
}

.floating-banner {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 350px;
}

.floating-banner-btn:hover {
  opacity: 0.8;
}

.floating-banner_sp {
  display: none !important;
}

/* モバイル用調整 */
@media screen and (max-width: 768px) {
  .floating-banner {
    display: none !important;
  }
    .floating-banner_sp {
  display: block !important;;
  }
  .floating-banner_sp {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: 100%;
  }
}
