:root{
  --mainColor:#00a600;
  --subColor:#d60014;
  --bgColor:#fdf8ed;
  --bgColor2:#d7e8f3;
  --darkColor:#39261f;
  --pcheaderHight:100px;
  --spheaderHight:50px;
}
.water_blue{
  background:var(--bgColor2);
}
/*///// frame ///*/
#wrapper{
  overflow: hidden;
}
#contents{
  position: relative;
  width:100%;
}

/*/// header //*/
#header{
  background:url(../img/dot_yellow.png) repeat-x left calc(100% - 10px) var(--subColor);
  height:var(--pcheaderHight);
}
#header .header{
  display: flex;
  justify-content: space-between;
  align-items: center;
	width:100%;
  height: 100%;
	padding:0 10px ;
}
#header .header {
  display: flex;
  justify-content: center;
  align-items: center;
}

#globalmenu .menu ul{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}
#globalmenu .menu ul li{
  display: flex;
  justify-content: center;
  align-items: center;
  border-left:2px solid white;
}
#globalmenu .menu ul li:last-child{
  border-right:2px solid white;
}
#globalmenu .menu ul li a{
  display:block;
  font-size:clamp(16px,1.8vw,23px);
  padding:.5em min(2vw,1.6em);
  font-weight: 700;
}
#globalmenu .menu ul li.logo a .pc img{
  /* font-weight: normal; */
  width:min(14vw,148px);
}
/* #globalmenu .menu ul li.logo a i{
  font-size:1.8em;
  vertical-align: middle;
} */
#globalmenu a{
  color:white;
}
#globalmenu a:hover{
  color:#fad400;
}
.inner{
  max-width: 1200px;
  margin:auto;
}
.inner-middle{
  max-width: 1300px;
  margin:auto;
}
.inner-large{
  max-width: 1600px;
  margin:auto;
}
.mini{
  font-size: .8rem;
}
.bo {
  position: relative;
  padding: 2%;
}
.bo:after {
  content:"";
  display: block;
  width:50px;
  border-bottom:1px solid #666;
  position: absolute;
  bottom:0%;
  left: 50%;
  transform: translateX(-50%);
}
/*///////////////////////
   contents
/////////////////////////*/
/* keyvisual */
#keyvisual {
  /* margin-top:var(--pcheaderHight); */
  position: relative;
  padding-top:40px;
  background: var(--mainColor);
}
#keyvisual .inner{
  padding:0 50px;
}
#keyvisual:after{
  content:"";
  display: block;
  width:100%;
  height: 12px;
  background:url(../img/border01.png) repeat-x bottom center;
  position: absolute;
  bottom:0;
  left:0;
}

#keyvisual .tab-frame{
  background:var(--darkColor);
  border-radius:40px 40px 0 0;
  padding:20px 20px 0;
  padding-top:clamp(50px,7vw,70px);
  position: relative;
}
#keyvisual .tab-frame:before{
  content:"";
  display: block;
  width:100px;
  height: 10px;
  background:white;
  border-radius: 20px;
  position: absolute;
  top: calc(clamp(50px,7vw,70px) / 2);
  left:50%;
  transform:translate(-50%,-50%);
}
#keyvisual .tab-window{
  background:white;
  border:10px solid #e8e8e8;
  border-bottom:0;
  text-align: center;
}
#keyvisual .cont{
  text-align: center;
  padding:8%;
}
#keyvisual h1{
  text-align: center;
  max-width:650px;
  margin:0 auto 50px;
}
#keyvisual p.read{
  text-align: center;
  font-size:clamp(13px,2.5vw,23px);
  margin:40px auto ;
  font-weight: 600;
}
#keyvisual .cont .logo{
  font-size:clamp(18px,2.4vw,24px);
  font-weight: 700;
  margin:40px auto 0;
}
#keyvisual .sdgs_btn{
  position: absolute;
  bottom:5%;
  right:-5%;
  width:min(280px,25vw);
  z-index: 20;
}
#keyvisual .illust01{
  position: absolute;
  left:-9%;
  top:10%;
  width:min(228px,20vw);
}
#keyvisual .illust02{
  position: absolute;
  left:-5%;
  bottom:10%;
  width:min(261px,22vw);
}
#keyvisual .illust03{
  position: absolute;
  right:-7%;
  top:30%;
  width:min(207px,18vw);
}
.flex{
  display: flex;
}

/*///////////// top //////////////////*/
#introduct{
  position: relative;
}
#introduct strong{
  color:var(--mainColor);
}
#introduct strong.large{
  font-size:1.3em;
}
#introduct:after{
  content:"";
  display: block;
  width:100%;
  height: 12px;
  background:url(../img/border01.png) repeat-x bottom center;
  position: absolute;
  bottom:0;
  left:0;
  z-index: 23;
}
#introduct .title_area{
  padding:min(60px,6%) 30px;
  background: url(../img/dot_yellow.png) repeat-x left calc(100% - 10px) ;
}
#introduct .title_area .inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#introduct .title_area .illust{
  width:25%;
  order:1;
}
#introduct .title_area h3{
  width:72%;
  order:2;
}
#introduct .intro_contents{
  background:var(--mainColor);

}
#introduct .intro_contents .serif{
  padding:5% 0 ;
  position: relative;
  z-index: 21;
}
#introduct .intro_contents .serif01{
  width:82%;
  aspect-ratio:980/319;
  margin:0 0 0 auto;
  background:url(../img/serif01_bg.png) no-repeat center center;
  background-size: contain;
  padding: 5% 0 0 10%;
}
#introduct .intro_contents .serif02{
  width:82%;
  aspect-ratio:1020/359;
  margin:0 auto 0 0 ;
  background:url(../img/serif02_bg.png) no-repeat center center;
  background-size: contain;
  padding: 5% 10% 0 0;
}
#introduct .intro_contents .serif03{
  width:82%;
  aspect-ratio:920/412;
  margin:0 0 0 auto;
  background:url(../img/serif03_bg.png) no-repeat center center;
  background-size: contain;
padding: 6.5% 0 0 0;
}
#introduct .intro_contents p{
  text-align: center;
  font-size:clamp(18px,2.5vw,30px);
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: -0.03em;
}
#introduct .letter_contents{
  margin-top:-16%;
  position: relative;
  z-index: 20;
}
#introduct .letter_contents .letter_header{
  background:url(../img/letter_header_bg.png) no-repeat center center;
  background-size:contain;
  width:100%;
  aspect-ratio:1400/546;
  position: relative;
}
#introduct .letter_contents .letter_header .illust{
  width:clamp(60px,12vw,150px);
  position: absolute;
  bottom:40%;
  left:15%;
}
#introduct .letter_contents .letter_header h4{
  font-size:clamp(18px,3.5vw,44px);
  font-weight: 900;
  position: absolute;
  bottom:12%;
  left:0;
  width:100%;
  margin:auto;
  text-align: center;
  letter-spacing: -0.03em;
}
#introduct .letter_contents .letter{
  background:#fbfbfb;
  padding:8% 0;
}
#introduct .letter_contents .letter .shackhand{
  max-width: 958px;
  margin:5% auto;
}
#introduct .letter_contents .letter .copy{
  max-width: 986px;
  margin:8% auto 10px;
  padding:0 30px;
}
#news .inner{
  padding:0 50px;
}
#news .ti{
  margin:50px auto;
  text-align: center;
  width: min(262px,45vw);
}
#news .window{
  height: 150px;
  overflow-y: scroll;
  margin:40px auto;
  box-shadow: 0 -0px 6px rgba(0,0,0,.16) inset;
}
#news ul{
  padding: 30px;
}
#news ul li{
  display: flex;
  font-size:clamp(15px,2.3vw,23px);
  border-bottom:2px solid #d7caaf;
  padding:15px 0;
}
#news ul li{
  display: flex;
  font-size:clamp(15px,2.3vw,23px);
}
#news ul li .date{
  margin-right:1em;
  font-weight: 900;
}
#news ul li a{
  text-decoration: underline;
}

#news .window::-webkit-scrollbar {
  background: #f5f1ee;
  width: 15px;
  height: 15px;
  border-radius: 20px;
}
#news .window::-webkit-scrollbar-thumb {
  background-color: #d70016;
  border-radius: 20px;
}
/*ff*/
#news .window{
  scrollbar-color: #d70016 #f5f1ee;
}
.radius-bg{
  position: relative;
   margin-top:clamp(150px,32vw,230px);
}
.radius-bg:before{
  content:"";
 background: url(../img/round.svg) no-repeat bottom center;
 background-size: 100% 100%;
 position: absolute;
 top:0;
 left:0;
 width:100%;
 height:101px;
 z-index: 1;
}
.radius-bg:after{
 content:"";
 background: var(--mainColor);
 position: absolute;
 top:100px;
 left:0;
 width:100%;
 height: 100%;
 z-index: 0;
}
.wave_bg{
  position: relative;
  width:100%;
}
.wave_bg .inner{
  position: relative;
  z-index: 2;
  }
.wave_bg:before{
  content:"";
 background: url(../img/wave.svg) no-repeat bottom center;
 background-size: 100%;
 position: absolute;
 top:0px;
 left:0;
 width:100%;
 height:min(20vw,200px);;
 z-index: 1;
}

.maintitle{
  position: absolute;
  top:0%;
  left:50%;
  transform:translate(-50%,-60%);
  width:clamp(250px,64vw,640px);
  margin:0px auto 40px;
}
.maintitle:before{
  content:"";
  background:url(../img/title_dot01.png) no-repeat top right;
  background-size:contain;
  width:clamp(100px,38vw,375px);
  height:calc(clamp(100px,38vw,375px) * 0.9);
  position: absolute;
  left:0;
  top:36%;
  transform:translate(-100%,-100%);
}
.maintitle:after{
  content:"";
  background:url(../img/title_dot02.png) no-repeat top left;
  background-size:contain;
  width:clamp(100px,38vw,383px);
  height:calc(clamp(100px,38vw,383px) * 1.01);
  position: absolute;
  right:0;
  top:50%;
  transform:translate(100%,0%);
}

.maintitle .sdgs_btn{
  position: absolute;
  top:-2%;
  right:-2%;
  width:min(130px,13vw);
  z-index: 20;
}

#sdgs{
  position: relative;
  z-index: 2;
   padding-top:clamp(100px,18vw,180px);
}
#sdgs h3{
  text-align: center;
  position: relative;
  max-width: 1100px;
  padding: 0 15px;
  margin: auto;
}
#sdgs p.read{
  --scale:clamp(40px,8vw,80px);
  text-align: center;
  color:white;
  font-size:clamp(14px,2.8vw,28px);
  margin:1em auto 1em;
  position: relative;
  width:fit-content;
}
#sdgs p.read:before{
  content:"";
  display: block;
  background:url(../img/waku_left.png) no-repeat bottom right;
  background-size: contain;
  width:var(--scale);
  height:calc(var(--scale) * 1.4);
  position: absolute;
  left:-10px;
  bottom:0;
  transform:translate(-100%,30%);
}
#sdgs p.read:after{
  content:"";
  display: block;
  background:url(../img/waku_right.png) no-repeat bottom left;
  background-size: contain;
  width:var(--scale);
  height:calc(var(--scale) * 1.4);
  position: absolute;
  right:-10px;
  bottom:0;
  transform:translate(100%,30%);
}
#sdgs .illust01{
  position: absolute;
  bottom:-15%;
  left:-39%;
  /* width: min(269px,20vw); */
}
#sdgs .illust02{
  position: absolute;
  bottom:-15%;
  right:-51%;
  /* width: min(120px,10vw); */
}
#sdgs .intro ul{
  display: flex;
  justify-content: space-around;
  /* align-items: center; */
  margin:80px auto;
}
#sdgs .intro ul.flex-center{
  justify-content: center;
}
#sdgs .intro ul li{
  --scale:clamp(200px,32vw,370px);
  position: relative;
  width:var(--scale);
}
#sdgs .intro ul.flex-center li{
  margin:0 1.5%;
}
#sdgs .intro ul li:after{
  content: "";
  width:var(--scale);
  height:var(--scale);
  background:url(../img/dot_circle.png) no-repeat center center ;
  background-size:contain;
  border-radius:50%;
  position: absolute;
  top:54%;
  left:50%;
  transform:translate(-50%,-50%);
}
#sdgs .intro ul li .mark,
#sdgs .intro ul li dl{
  position: relative;
  z-index: 5;
  text-align: center;
  margin:auto;
}
#sdgs .intro ul li .mark{
  --scale:clamp(50px,9vw,90px);
  width:var(--scale);
  height:var(--scale);
}
#sdgs .intro ul li dl{
  width:100%;
}
#sdgs .intro ul li dl dt{
  background:var(--subColor);
  border-radius:100px;
  color:white;
  font-size:clamp(17px,2.2vw,22px);
  text-align: center;
  width:fit-content;
  padding:5px 1.3em;
  margin:.5em auto;
}
#sdgs .intro ul li dl dd{
  font-size:clamp(15px,1.8vw,22px);
  line-height: 1.3;
}
#sdgs_banner{
  background:var(--mainColor);
  padding: 60px 0 100px;

}
#sdgs_banner .inner-large{
  background:var(--bgColor);
  border-radius: 20px;
  position: relative;
  padding:clamp(20px,8vw,100px);
}
#sdgs_banner .illust01{
  position: absolute;
  top:0;
  right:0;
  transform:translate(0,-60%);
}
#sdgs_banner .illust02{
  position: absolute;
  bottom:0;
  left:5%;
  transform:translate(0,60%);
}
ul.sdgs_ban{
  --scale:min(223px,calc(15.2vw - 20px));
  display: grid;
  grid-template-columns: repeat(6, var(--scale));
  grid-template-rows:repeat(3, var(--scale));
  grid-gap: 10px;
}
ul.sdgs_ban li a{
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  color:white;
  height: 100%;
  width:100%;
  position: relative;
}
ul.sdgs_ban li a .imgs{
  position: absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
ul.sdgs_ban li a .imgs{
  width:100%;
  height: 100%;
  z-index: 5;
  overflow: hidden;
}
ul.sdgs_ban li a:hover .imgs img{
  transform:scale(1.05);
}
ul.sdgs_ban li .comment{
  background:rgba(0,0,0,.5);
  width:100%;
  padding:5px;
  text-align: right;
  font-size:clamp(11px,1vw,16px);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  z-index: 7;
}
ul.sdgs_ban li.v1 .comment{
  height: 100%;
}
ul.sdgs_ban li.v1 a{
  pointer-events: none;
}
ul.sdgs_ban li .comment i.icon{
  margin-left:5px;
  vertical-align: middle;
  font-size:.8em;
}
ul.sdgs_ban li a{
  --scale:clamp(18px,1.5vw,23px);
}
ul.sdgs_ban li a:before{
  content:"\e900";
  font-family: 'icomoon' , sans-serif;
  font-weight: 400;
  vertical-align: middle;
  position: absolute;
  left:3%;
  bottom:3%;
  z-index: 30;
  font-size:var(--scale);
  color:black;
  display: flex;
  align-items: center;
  justify-content: center;
  width:calc(var(--scale) + 7.5%);
  height: calc(var(--scale) + 7.5%);
}
ul.sdgs_ban li a:after{
  content:"";
  display: block;
  position: absolute;
  left:3%;
  bottom:3.3%;
  background:white;
  width:calc(var(--scale) + 7.5%);
  height: calc(var(--scale) + 7.5%);
  border-radius: 80px;
  z-index: 29;
}
ul.sdgs_ban li.v3 a:before{
    content:"\e900";
}
ul.sdgs_ban li.v2 a:before{
    content:"\e901";
}
ul.sdgs_ban li.v1 a:before{
    content:"\e902";
}
ul.sdgs_ban li .txt{

}
ul.sdgs_ban li .txt:after{
  content:"\e903";
  font-family: "icomoon" , sans-serif;
  font-weight: normal;
  line-height: 1;
  font-size:.8em;
  vertical-align: middle;
  margin-left:.2em;
}
ul.sdgs_ban li.sdgs01 a:before{ color:#e4011e ; }
ul.sdgs_ban li.sdgs02 a:before{ color:#d6a600 ; }
ul.sdgs_ban li.sdgs03 a:before{ color:#1b973a ; }
ul.sdgs_ban li.sdgs04 a:before{ color:#c50e28 ; }
ul.sdgs_ban li.sdgs05 a:before{ color:#e83418 ; }
ul.sdgs_ban li.sdgs06 a:before{ color:#00a6d9 ; }
ul.sdgs_ban li.sdgs07 a:before{ color:#fabd00 ; }
ul.sdgs_ban li.sdgs08 a:before{ color:#970a31 ; }
ul.sdgs_ban li.sdgs09 a:before{ color:#ec6a06 ; }
ul.sdgs_ban li.sdgs10 a:before{ color:#dc097b ; }
ul.sdgs_ban li.sdgs11 a:before{ color:#f5a20b ; }
ul.sdgs_ban li.sdgs12 a:before{ color:#d39206 ; }
ul.sdgs_ban li.sdgs13 a:before{ color:#407936 ; }
ul.sdgs_ban li.sdgs14 a:before{ color:#0075ba ; }
ul.sdgs_ban li.sdgs15 a:before{ color:#28a838 ; }
ul.sdgs_ban li.sdgs16 a:before{ color:#004c88 ; }
ul.sdgs_ban li.sdgs17 a:before{ color:#023067 ; }
#copytitle {
  padding: min(4vw,40px) 30px min(8vw,60px);
}
#copytitle h1{
  width:min(70vw,900px);
  margin:auto;
}
#result{
  margin-top:min(30vw,300px);
}
#sdgs_result{
  background:var(--mainColor);
  padding:30px 0 100px;
}
#sdgs_result .inner{
  display: flex;
  flex-wrap: wrap;
}
#sdgs_result .elem{
  width:calc(50% - 10px);
  margin:5px;
  border-radius:20px;
  position: relative;
  overflow: hidden;
  display: flex;
}
#sdgs_result .elem:after{
  content:"";
  font-family: 'icomoon' , sans-serif;
  color:white;
  background:var(--darkColor);
  position: absolute;
  right:0;
  top:0;
  border-radius: 0 0px 0 10px;
  padding:7px 12px 5px 10px;
  font-size:clamp(15px,2.5vw,28px);
  font-weight: 400;
}
#sdgs_result .elem.v3:after{
  content:"\e900";
}
#sdgs_result .elem.v2:after{
  content:"\e901";
}
#sdgs_result .elem.v1:after{
  content:"\e902";
}
#sdgs_result .waku{
  background:white;
  border-radius:20px;
  border:4px solid var(--darkColor);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
#sdgs_result .elem .head{
  background:url(../img/dot_khaki.png) bottom left repeat-x;
  padding-bottom: 1.5em;
  margin:2.5em clamp(15px,2.8vw,30px) 1.5em;
}
#sdgs_result{
	--contentWidth:clamp(30px,15vw,125px);
}
#sdgs_result .elem .head .ti{
  display: flex;
  align-items: center;
  margin-bottom: .7em;
  position: relative;
}
#sdgs_result .elem .head .ti h4{
  font-size:clamp(19px,2.2vw,28px);
  width: calc(100% - var(--contentWidth));
}
#sdgs_result .elem .head .icon-img{
  content:"";
  width:var(--contentWidth);
  height:var(--contentWidth);
  margin-right:15px;
  height: fit-content;
}
#sdgs_result .elem p{
  font-size:clamp(15px,2.3vw,24px);
  margin:clamp(20px,2.8vw,30px) clamp(20px,2.8vw,30px) clamp(40px,5.6vw,60px);
  min-height: 5.5em;
}
#sdgs_result .elem .head p{
  margin-left:0;
  margin-right:0;
  margin-bottom: 0;
}


#sdgs_result .elem .reaction{
  position: relative;
  width:auto;
  text-align: center;
  font-size:clamp(16px,2.3vw,23px);
  margin:1em 1.5em;
  padding-bottom: .5em;
}
#sdgs_result .elem .reaction .ti{
  font-size:1.2em;
}
.red{
  color:var(--subColor);
}
#sdgs_result .elem .reaction:after{
  content:"";
  background:url(../img/fuki_btm.png) no-repeat bottom center;
  background-size:contain;
  height: 30px;
  width:100%;
  position: absolute;
  bottom:0;
  left:50%;
  transform: translate(-50%,100%);
}
#sdgs_result .elem .banner_btn{
  margin:clamp(15px,3vw,30px) 30px clamp(20px,4vw,40px);
  margin-top: auto;
  text-align: center;
}

.graph{
  position: relative;
  width:min(63%,450px);
  height: 0;
  margin:clamp(30px,5vw,50px) ;
  margin-left:auto;
  padding-top:40%;
  border:4px solid var(--darkColor);
  border-right:0;
  border-top:0;
}

.graph [class*="bar"]{
  position: absolute;
  left:0;
  height: clamp(28px,3vw,40px);
  width:0;
}
.graph .bar01{
  top:15%;
  background:#2caa00;
}
.graph .bar02{
  top:42.5%;
  background:#2199d0;
}
.graph .bar03{
  top:70%;
  background:#f8b21b;
}
.graph [class*="bar"]::before{
  position: absolute;
  left:-.5em;
  top:50%;
  transform: translate(-100%,-50%);
  font-size:clamp(14px,1.6vw,20px);
  white-space: nowrap;
}

.graph .bar01:before{
  content:"知っていた";
}
.graph .bar02:before{
  content:"知らなかった";
}
.graph .bar03:before{
  content:"やってみる";
}
.graph .memori{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height: 100%;
  z-index: 70;
}
.graph .memori [class*="mem"]{
  display: block;
  border-left: 4px dotted var(--darkColor);
  height: 100%;
  width:1px;
  position: absolute;
  bottom:0;
  translate:-2px 0;
}
/* --- 5つ --------*/
.graph .memori .mem01 {
  left:calc(100% / 5);
}
.graph .memori .mem02 {
  left:calc(100% / 5 * 2);
}
.graph .memori .mem03 {
  left:calc(100% / 5 * 3);
}
.graph .memori .mem04 {
  left:calc(100% / 5 * 4);
}
.graph .memori .mem05 {
  left:calc(100% - 2px);
}
/* --- 6つ --------*/
.graph .memori.col6 .mem01 {
  left:calc(100% / 6);
}
.graph .memori.col6 .mem02 {
  left:calc(100% / 6 * 2);
}
.graph .memori.col6 .mem03 {
  left:calc(100% / 6 * 3);
}
.graph .memori.col6 .mem04 {
  left:calc(100% / 6 * 4);
}
.graph .memori.col6 .mem05 {
  left:calc(100% / 6 * 5);
}
.graph .memori.col6 .mem06 {
  left:calc(100% - 2px);
}


.graph .memori [class*="mem"]:before{
  position: absolute;
  bottom:-.5em;
  left:50%;
  transform: translate(-50%,100%);
}
.graph .memori:before{
  content:"0";
  position: absolute;
  bottom:-.5em;
  left:0%;
  transform: translate(-50%,100%);
}
.graph .memori [class*="mem"]:before {
  content: attr(data-number);
}
.graph.totalization [class*="mem"]:before{
  display: none;
}
.graph.totalization:before{
  content:"集計中";
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  font-size:clamp(25px,3.2vw,35px);
  color:#c4a8a8;
  background: white;
  padding:3px;
  z-index: 12;
}
.graph.totalization [class*="bar"],
.graph.totalization .swipsheet{
  background:transparent !important;
}
.swipsheet{
  width:auto;
}
.elem p.coming{
  display: flex;
  justify-content: center;
  align-items: center;
}
.elem p.coming span{
  font-size:1.6em;
}
/*/--------- modal ajax ----*/
.modaal-container{
  background:white;
  position: relative;
  border-radius: 20px;
  border:4px solid var(--darkColor);
    width:min(980px,90vw);
    padding:50px 20px 70px;
}
.modaal-container:before{
  content:"";
  background:url(../img/note_ring.png) no-repeat top center;
	background-size: cover;
  width:90%;
  height: 50px;
  position: absolute;
  top:0;
  left:50%;
  transform:translate(-50% , -40%);
}
.modaal-gallery-item img{
  padding:4%;
}
.modaal-inner-wrapper{
  padding-left:0;
  padding-right:0;
}
#about_sdgs_inline{
  display: none;
}
#sdgs_content.flex{
  justify-content: center;
  align-items: center;
}
#sdgs_content .imgs{
  width:50%;
  padding:6% 6% 6% 0;
}
#sdgs_content .textarea{
  width:50%;
}
#sdgs_content .textarea .ti{
  border-bottom:4px dotted #b5b5b5;
  padding:20px 0;
  margin-bottom: 20px;
  text-align: center;
}
#sdgs_content .textarea .ti h4{
  width: min(250px,40vw);
  margin: auto;
}
#sdgs_content .textarea p{
  font-size:clamp(15px,2vw,22px);
}
#sdgs_content .textarea p strong{
  color:var(--mainColor);
}
/* modal-customCloseBtn */
button.modal-close{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  cursor: pointer;
}
button.modal-close{
  position: absolute;
  right:10px;
  bottom:10px;
}
button.modal-close span{
  display: none;
}
.modal-close::before{
  content:"";
  width: 60px;
  height: 60px;
  background:url(../img/close_btn.png) no-repeat center center;
  background-size:contain;
  position: absolute;
  left:50%;
  top:50%;
  transform: translate(-100%,-100%);
}
.modal-close:hover::before{
  transform: translate(-100%,-100%) scale(1.05);
}
/*////// footer ////////*/
#footer{
  position: relative;
}
#footer .inner{
  max-width: 1400px;
  padding-left:20px;
  position: relative;
}
#footer .footer {
	width: 100%;
  padding:40px 0 10px;
  background:url(../img/dot_blue.png) repeat-x top 20px left #18a0de;
  color:white;
}
#footer .flex{
  justify-content: flex-start;
  align-items: center;
}
#footer .gototop{
  position: absolute;
  right:0;
  top:0;
  transform:translate(0%,-70%);
  width:min(183px,20vw);
}
#footer .logoarea{
  text-align: center;
  width:60%;
}
#footer .logoarea .logo{
  display: block;
  width:clamp(200px,50vw,663px);
  margin-bottom: 20px;
}
#footer .logoarea a{
  color:inherit;
}
#footer .logoarea p{
  text-align: left;
  font-size:clamp(15px,1.7vw,24px);
  margin:.5em auto;
}
#footer .linkarea{
  width:28%;
  margin:20px 0;
}
#footer ul.sns {
  display: flex;
  justify-content: center;
  margin:1em auto;
}
#footer ul.sns li{
  margin:0 10px;
  width:clamp(35px,5.5vw,60px);
}
#footer .copyrignt {
  background: #00459b;
  color:white;
  padding:.5em ;
}
#footer .copyrignt p{
  font-size:clamp(16px,2vw,25px);
  font-weight: 200;
  text-align: center;
}
#footer .contact_btn a{
  display: block;
  background:#ffcc00;
  border-radius:100px;
  padding:20px 20px;
  text-align: center;
  text-decoration: none;
  color: white;
}
@media screen and (min-width:768px){
  #footer .contact_btn a:hover{
    background:white;
    color: #589ed9;
  }
  #footer .contact_btn a:hover img{
    filter:none;
  }
}
#footer .contact_btn a i{
  font-size:clamp(16px,2.3vw,23px);
  margin-left: 1em;
  vertical-align: middle;
}
#footer .contact_btn img{
  width:clamp(150px,18vw,200px);
}
