﻿@charset "UTF-8";
/*!
Theme Name: ING SDGs Page
Description: Designed by artarakt
Version: 1.0
Author: artarakt
Author URI: https://artarakt.com
*/
#sdgs_only{
position: relative;
    min-width: 1000px;
    font-size: 14px;
    line-height: 28.5px;
    font-family: 'Noto Sans JP', sans-serif;
    color: black;
    -webkit-font-smoothing: antialiased;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  letter-spacing: 0.5px;
}

@media screen and (max-width: 1000px) {
  #sdgs_only {
    min-width: 320px;
  }
}
#sdgs_only {


div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong,
sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}



article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul, li {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

img {
  border: 0;
  vertical-align: top;
}

em {
  font-style: italic;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0;
}

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

input:focus, textarea:focus, select:focus {
  outline: none;
}



input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}





h1, h2, h3, h4, h5, h6, b {
  letter-spacing: 2px;
    font-weight: bold;
}

h3 {
  font-size: 28px;
  line-height: 49px;
}

h2, h3.h3_strong{
  font-size: max(1.4583333vw, 22px);
  line-height: max(1.875vw, 28px);
}

h4{
  font-size: max(2.2vw, 32px);
  line-height: max(2.8vw, 50px);
}

h3.h3_strong{
  margin-bottom: 30px;
  line-height:42px;
}

h3.h3_strong span{
 color:#FA4966;
 font-size: max(2.8vw, 32px);
}

h5 {
  font-size: 18px;
  line-height: 39.5px;
}

a {
  -webkit-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  transition-duration: 0.7s;
}


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


  h3 {
    font-size: 18px;
    line-height: 28px;
  }

  h5 {
    font-size: 14px;
    line-height: 28.5px;
  }
}

section {
  -webkit-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  transition-duration: 0.7s;
}

.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.icon.flex {
  display: block;
  position: absolute;
  top: 0;
}


.sp {
  display: none;
}

/*Animation FADE*/
.fade {
  -webkit-transition-duration: 2s;
  -o-transition-duration: 2s;
  transition-duration: 2s;
  -webkit-transition-timing-function: ease-in-out;
  -o-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  opacity: 0;
  -ms-transform: translate(0, 0px);
  transform: translate(0, 0px);
  -webkit-transform: translate(0, 0px);
}

.fades {
  opacity: 1.0;
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}

.delay10 {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.delay20 {
  -webkit-transition-delay: 2s;
  -o-transition-delay: 2s;
  transition-delay: 2s;
}

.delay30 {
  -webkit-transition-delay: 3s;
  -o-transition-delay: 3s;
  transition-delay: 3s;
}

/***************************************************
 * Generated by SVG Artista on 2/14/2021, 3:53:59 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-fill-1 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.7s both;
  animation: animate-svg-fill-1 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.7s both;
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-fill-2 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.8s both;
  animation: animate-svg-fill-2 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.8s both;
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-fill-3 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.9s both;
  animation: animate-svg-fill-3 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.9s both;
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-fill-4 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s both;
  animation: animate-svg-fill-4 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s both;
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-fill-5 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.1s both;
  animation: animate-svg-fill-5 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.1s both;
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-fill-6 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.2s both;
  animation: animate-svg-fill-6 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.2s both;
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-fill-7 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.3s both;
  animation: animate-svg-fill-7 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.3s both;
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-fill-8 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.4s both;
  animation: animate-svg-fill-8 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.4s both;
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-fill-9 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.5s both;
  animation: animate-svg-fill-9 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.5s both;
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: black;
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-fill-10 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.6s both;
  animation: animate-svg-fill-10 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.6s both;
}

@media screen and (max-width: 840px) {
  .flex {
    display: block;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}


.mv {
  padding: 180px 0 0;
  width: 100vw;
  height: 80vh;
  background-image: url(/com/images/sdgs_top_top.jpg);
  background-size: cover;
  background-position: center;
}

.msg.inner, .what.inner {
  margin-top: 10vh;
}

.mv .box {
  width: 580px;
  margin-left: -60px;
  padding: 60px 60px 30px;
  background: white;
  box-sizing: content-box;
}

.mv .note {
  margin-top: 30px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 2px;
}

.mv h1 {
  margin-bottom: 30px;
  font-size: 48px;
  line-height: 80px;
  letter-spacing: 10px;
}

.mv h1 span {
  display: inline-block;
  line-height: 60px;
}

.what {
  padding: 60px 0;
}

.what h2 {
  margin-bottom: 30px;
}

.what .head {
  font-size: 18px;
  line-height: 40px;
  font-weight: bold;
}

.what .flex {
  padding: 60px 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.what .flex .txt {
  width: 47%;
}

.what .flex .txt h3 {
  margin-bottom: 10px;
}

.what .flex .txt p {
  text-align: justify;
}

.what .flex .img {
  padding-top: 15px;
  width: 45%;
}

.msg h2 {
  margin-bottom: 30px;
}

.msg p {
  font-size: 17px;
  line-height: 40px;
  font-weight: bold;
  letter-spacing: 2px;
}

.msg .bg {
  background-image: url(/com/images/sdgs_cont01.jpg);
  background-position: bottom right;
  background-size: 550px;
  background-repeat: no-repeat;
}

.msg .center {
  margin: 60px 0;
  padding: 10px 0 60px;
  background-image: url(/com/images/bg_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.proj .thumb {
  margin-bottom: 50px;
  position: relative;
}

.proj article {
  position: relative;
  padding-bottom: 60px;
}

.proj article .sub {
  margin: 30px 0;
  font-size: 21px;
  line-height: 37px;
  font-weight: bold;
  letter-spacing: 2px;
}

.proj article ul li {
  font-weight: bold;
  line-height: 34.5px;
  font-size: 16px;
}

.proj article h4 {
  position: relative;
}

.proj article .num {
  position: absolute;
  top: 10px;
  left: 0;
  margin-left: -100px;
}

.proj article .flex {
  width: 210px;
  position: absolute;
  top: 10px;
  right: 60px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.proj article .flex img {
  margin-bottom: 10px;
}

.proj .center {
  padding: 15px 0 120px;
}

.proj .center h5 {
  margin-top: 60px;
}

.proj .center p {
  font-weight: bold;
  letter-spacing: 2px;
}

@media screen and (max-width: 1000px) {
  .mv {
    padding: 50px 0 0;
  }

  .mv .box {
    width: 50%;
    margin-left: 0;
    padding: 30px 30px 10px;
  }

  .mv h1 {
    font-size: 32px;
    line-height: 54px;
    letter-spacing: 5px;
  }

  .mv h1 span {
    line-height: 30px;
  }

  .mv h1 span img {
    width: 130px;
  }

  .mv p img {
    width: 100%;
  }
}
		h4.sdgs_title_text {
			position: absolute;
			top: 30%;
			left: 180px;
			color: #fff;
		}
@media screen and (max-width: 840px) {
  .mv {
    padding: 80px 0 0;
    height: 50vh;
  }
  
  .msg.inner, .what.inner {
    margin-top: 5vh;
  }

  .mv .box {
    width: 95%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .mv h1 {
    margin-bottom: 1rem;
    font-size: 24px;
    line-height: 38px;
    letter-spacing: 2px;
  }

  .mv h1 span {
    line-height: 25px;
  }

  .mv h1 span img {
    width: 110px;
  }

  .mv .note {
    margin-top: 1rem;
    line-height: 1rem;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0px;
  }

  .what {
    padding: 30px 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .what .head {
    font-size: 14px;
    line-height: 28.5px;
  }

  .what .flex {
    padding: 30px 0;
  }

  .what .flex .txt, .what .flex .img {
    width: 100%;
  }

  .what .flex .txt p, .what .flex .img p {
    padding-bottom: 30px;
    font-size: 12px;
    line-height: 22px;
  }

  .msg {
    padding: 0 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .msg .bg {
    padding-bottom: 150px;
    background-size: 70%;
  }

  .msg p {
    font-size: 14px;
    line-height: 24.5px;
    font-weight: 400;
  }

  .msg .circle {
    width: 100px;
  }

  .msg .center {
    margin: 60px 0 30px;
  }

  .proj .thumb {
    margin-bottom: 30px;
    position: relative;
    height: 250px;
  }
  
  .thumb>img {
    filter: brightness(60%);
    height: 220px;
    object-fit: cover;
    display: block;
  }

  .proj .thumb .num2 {
    position: absolute;
    top: 15px;
    left: 15px;
    height: 40px;
    width: auto;
  }

  .icon.flex {
    width: 65px;
  }
  
  .icon.flex img{
    width: 100%;
  }
  
  h4.sdgs_title_text {
    top: 45%;
    left: 75px;
    font-size: 18px;
    line-height: 28px;
    padding-right: 5px;
    transform: translate(-2%, -52%);
  }
  
  .proj article {
    padding: 0 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .proj article .num {
    display: none;
  }

  .proj article .flex {
    position: relative;
    width: 100%;
    padding: 15px 0 45px;
    top: auto;
    right: auto;
  }

  .proj article .flex img {
    width: 65px;
  }

  .proj article .sub {
    margin: 15px 0 30px;
    font-size: 16px;
    line-height: 26px;
  }

  .proj article ul li {
    margin-bottom: 13px;
    line-height: 23px;
    font-size: 14.5px;
  }

  .proj .center {
    padding: 15px 0 60px;
  }

  .proj .center .circle img {
    width: 180px;
  }

  .proj .center h5 {
    margin-top: 30px;
    margin-bottom: 1rem;
  }

  .proj .center p {
    font-size: 12px;
  }
}

		.h2_strong {
			font-size: max(1.4583333vw, 22px);
		}

		ul {
			list-style: none;
			padding: 0;
			margin: 6vh auto;
		}

		li {
			cursor: pointer;
			padding: 12px;
			background-color: #d5d5d5;
			margin-top: 5px;
			font-weight: bold;
		}

		ul#accordion li {
			position: relative;
			cursor: pointer;
			padding: 12px 12px 12px 36px;
			/* 左側にアイコン用の余白を確保 */
			background-color: #d5d5d5;
			margin-top: 5px;
			font-weight: bold;
		}

		ul#accordion li::before {
			content: "\25B6";
			/* ▶（再生マーク）*/
			position: absolute;
			left: 12px;
			top: 50%;
			transform: translateY(-50%);
			transition: transform 0.3s;
			font-size: 16px;
		}

		ul#accordion li.active::before {
			content: "\25BC";
			/* ▼（下向き三角）*/
		}

		.thumb>img {
			filter: brightness(60%);
		}



		.content {
			display: none;
			padding: 10px 15px;
			background-color: #ffffff;
			border: 1px solid #ccc;
			border-top: none;
		}

		.active+.content {
			display: block;
		}

		.swiper {
			width: 100%;
			/* 画面幅に合わせる */
			max-width: 600px;
			/* 最大600pxに制限 */
			aspect-ratio: 3/2;
			/* 600×400 と同じアスペクト比を維持 */
			margin-bottom: 50px;
			box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
			margin-right: auto;
			margin-left: auto;
		}

		.swiper-wrapper,
		.swiper-slide {
			width: 100%;
			height: 100%;
		}


		.swiper-slide {
			display: flex;
			justify-content: center;
			align-items: center;
		}



		.swiper-slide img {
			width: 100%;
			/* コンテナ幅に合わせる */
			height: 100%;
			/* コンテナ高さに合わせる */
			object-fit: contain;
			/* アスペクト比を維持して中に収める */
			display: block;
		}


		.caption {
			position: absolute;
			bottom: 0;
			width: 100%;
			padding: 10px;
			background: rgba(0, 0, 0, 0.6);
			color: #fff;
			font-size: 14px;
			box-sizing: border-box;
		}

		.swiper-button-next,
		.swiper-button-prev {
			color: #ff000061 !important;
		}

		.swiper-pagination-bullet-active {
			background: #ff0000e3 !important;
		}

		.with-icon {
			position: relative;
			padding-left: max(4.6875vw, 40px);
			font-size: max(1.4583333vw, 22px);
			line-height: max(1.875vw, 28px);
			font-weight: bold;
		}

		.with-icon::before {
			content: "";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			width: max(3.6vw, 28px);
			height: max(3.6vw, 28px);
		}

		.with-icon.no01::before {
			background: url('/com/images/ttl_1.png') no-repeat center/contain;
		}

		.with-icon.no02::before {
			background: url('/com/images/ttl_2.png') no-repeat center/contain;
		}

		.with-icon.no03::before {
			background: url('/com/images/ttl_3.png') no-repeat center/contain;
		}

		.with-icon.no04::before {
			background: url('/com/images/ttl_4.png') no-repeat center/contain;
		}

		.with-icon.no05::before {
			background: url('/com/images/ttl_5.png') no-repeat center/contain;
		}

		.with-icon.no06::before {
			background: url('/com/images/ttl_6.png') no-repeat center/contain;
		}

		.with-icon.no07::before {
			background: url('/com/images/ttl_7.png') no-repeat center/contain;
		}

		.with-icon.no08::before {
			background: url('/com/images/ttl_8.png') no-repeat center/contain;
		}
}