@charset "utf-8";

:root{
  --default-font:'游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
  --eng-font:'Montserrat', sans-serif;
//  --main-color:#54BCE1;
  --main-color:#68a9cf;
  --key-color:#205AA9;
//  --key-color02:#21ACA8;
  --key-color02:#1fa39f;
  --key-color03:#92C11B;
  --bg-color:#fff;
  --link-color:#1a73e8;
  --base-color:#444;
}
.main-color{color:#68a9cf;}
.key-color{color:#205AA9;}
.key-color02{color:#1fa39f;}
.key-color03{color:#92C11B;}


body{
//  padding-top:90px;
}
header{
  box-sizing:border-box;
  width:100%; height:90px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 30px;
  position:fixed;
  top:0; left:0; z-index:100;
  background:rgba(255,255,255,1);
  opacity:1;
  transform:translateY(0);
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
header.loaded{
  opacity:0;
  transform:translateY(-10%);
}

header #logo{
  width:220px; height:160px;
  background:#fff;
  position:relative;
  position:absolute;
  top:0; left:0; z-index:2;
  border-radius:0 0 5px 0;
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
header #logo.page{
  width:calc(220px * 0.55); height:calc(160px * 0.55);
}
header #logo h1{
  width:100%; height:100%;
}
header #logo a{
  width:100%; height:100%;
  display:block;
  position:relative;
}
header #logo a figure{
  width:100%;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
header #logo a .flag{
  width:38%; height:auto;
  margin:0 auto;
}
header #logo a .title{
  width:60%; height:auto;
  margin:5px auto 0;
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
header #logo a .logo-mark{
  width:66%; height:auto;
  margin:0 auto;
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
/*
header #logo a img{
  width:60%; height:auto;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
*/
.scrolling header #logo{
  width:calc(220px * 0.55); height:calc(160px * 0.55);
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
.scrolling header #logo a .title{
  animation-name:logoFadeout;
  animation-duration:0.6s;
  animation-fill-mode:forwards;
  margin-top:0;
}
@keyframes logoFadeout{
  0%{
    display:block;
    opacity:1;
  }
  100%{
    display:none;
    opacity:0;
    height:0;
  }
}

header #logo-dummy{
  width:210px;
  position:relative;
  transition:0.4s cubic-bezier(0.7,0,0.3,1);
}
header #header-info{
  flex:1;
}
nav#sub-nav{
  display:block;
  transition:display 1.2s cubic-bezier(0.7,0,0.3,1);
}
nav#sub-nav ul{
  width:auto; height:28px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-bottom:10px;
}
nav#sub-nav ul li{
  margin-left:5px;
}
nav#sub-nav ul li a{
  display:block;
  text-decoration:none;
}
nav#sub-nav ul li.sns{
  width:24px;
}
nav#sub-nav ul li.lang{
  margin-left:10px;
}
nav#sub-nav ul li.lang img{
//  display:none;
  display:inline-block;
}
nav#sub-nav ul li.lang .goog-te-gadget{
  font-family:var(--default-font);
  font-size:0.85em; line-height:1.8;
}
nav#sub-nav ul li.lang .goog-te-gadget > .goog-te-gadget-simple{
  border:1px solid #ccc;
  border-radius:3px;
  font-size:0.9em; line-height:1.8;
  padding:2px 0 2px 4px;
  display:flex;
  align-items:center;
}
nav#sub-nav ul li.lang .goog-te-gadget > .goog-te-gadget-simple a.goog-te-menu-value{
  margin:0 0.5em;
}
nav#sub-nav ul li.lang .goog-te-gadget > .goog-te-gadget-simple a.goog-te-menu-value > span{
  margin:0 0.3em;
}

header nav#global-nav{
}
nav#global-nav > ul{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  position:relative;
}
nav#global-nav > ul > li{
  font-size:0.88em; line-height:1.6; font-weight:700;
  text-transform:capitalize;
  margin-left:1.9em;
  position:relative;
  transition:1.2s cubic-bezier(0.7,0,0.3,1);
}
nav#global-nav > ul > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  position:relative;
}
nav#global-nav > ul > li > a.no-link{
  cursor:default;
}
nav#global-nav > ul > li > a::after{
  content:"";
  width:100%; height:2px;
  background:var(--base-color);
  position:absolute;
  bottom:-0.25em; left:0;
  transform-origin:center top;
  transform:scale(0,1);
  transition:0.1s;
}
nav#global-nav > ul > li > a:hover::after{
  transform:scale(1,1);
  transition:0.1s;
}
nav#global-nav > ul > li.joinus{
  font-size:0.84em; line-height:1.8;
}
nav#global-nav > ul > li.joinus > a{
  color:#fff;
  background:var(--key-color02);
  padding:0 1.6em;
  border-radius:9999px;
}
nav#global-nav > ul > li.joinus > a::after{
  display:none;
}

nav#global-nav > ul > li > ul{
  width:auto;
  padding:0.5em 0;
  background:rgba(255,255,255,0.96);
  border-radius:0 0 5px 5px;
}
nav#global-nav > ul > li > ul > li{
  width:auto;
}
nav#global-nav > ul > li > ul > li > a{
  display:block;
  text-decoration:none;
  font-size:0.95em; line-height:1.6;
  color:#666;
  white-space:nowrap;
  padding:0.5em 3.0em;
}
nav#global-nav > ul > li > ul > li > a:hover{
  color:var(--base-color) !important;
}

#fade-in li > ul{
  box-sizing:border-box;
  position:absolute;
  bottom:0; left:50%; z-index:9999;
  transform:translate(-50%, calc(100% + 25px));
	visibility:hidden;
  display:none;
	opacity:0;
	transition:0.4s;
}
#fade-in li:hover > ul{
	visibility:visible;
  display:block;
	opacity:1;
  transform:translate(-50%, calc(100% + 5px));
	transition:0.4s;
}

#index-billboard{
  width:100%; height:calc(100vh - 90px);
  max-height:700px;
  position:relative;
}
ul#index-pickup{
  width:100%; height:100%;
  position:relative;
}
ul#index-pickup li a{
  box-sizing:border-box;
  display:block;
  text-decoration:none;
  width:100%; height:100%;
  color:#fff;
  text-align:left;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}
ul#index-pickup li a::after{
  content:"";
  display:block;
  width:0; height:100%;
  background:#fff;
  position:absolute;
  top:0; left:0;
  transition:width 1s cubic-bezier(0.7,0,0.3,1);
}
ul#index-pickup.loaded li a::after{
  width:100%;
}

ul#index-pickup li a .text-box{
  box-sizing:border-box;
  width:100%;
  padding:15px 20px;
  background:rgba(0,0,0,0.2);
  background:linear-gradient(
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.15) 15%
  );
  position:absolute;
  bottom:0; left:0;
}
ul#index-pickup li:first-child{
  width:65%; height:100%;
}
ul#index-pickup li:nth-child(2){
  width:35%; height:50%;
  position:absolute;
  top:0; right:0;
}
ul#index-pickup li:nth-child(3){
  width:35%; height:50%;
  position:absolute;
  bottom:0; right:0;
}
ul#index-pickup li a h2{
  font-size:1.0em; line-height:1.6;
  text-overflow:ellipsis;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
ul#index-pickup li:first-child a h2{
  font-size:1.25em; line-height:1.6;
}
ul#index-pickup li a:hover h2{
  text-decoration:underline;
}
ul#index-pickup li a .entry-date{
  font-size:0.9em; line-height:1.6;
}
ul#index-pickup li:first-child a .entry-date{
  font-size:1.0em; line-height:1.6;
}
ul#index-pickup li a .category{
  font-size:0.85em; line-height:1.6;
  text-transform:capitalize;
}
ul#index-pickup li:first-child a .category{
  font-size:0.9em; line-height:1.6;
}

.index-contents{
  position:relative;
}
.index-contents h2{
  font-size:1.75em; line-height:1.8; font-weight:500;
  letter-spacing:0.15em;
  text-transform:capitalize;
  margin-bottom:0.5em;
}
.index-contents .eng{
  font-size:0.95em; line-height:2;
  color:#666;
  color:var(--key-color);
  opacity:0.9;
}
.index-contents h3{
  font-size:1.15em; line-height:1.8; font-weight:700;
  letter-spacing:0.15em;
  margin-bottom:0.25em;
}
.tag-box{
  display:flex;
  flex-wrap:wrap;
//  margin-bottom:0.5em;
}
.tag-box .tag-item{
  font-size:0.8rem; line-height:1.5;
  text-transform:capitalize;
//  border:1px solid #999;
  border-radius:9999px;
//  padding:0 1.25em;
  margin-bottom:0.5em;
}
.tag-box .tag-item:not(:last-of-type){
  margin-right:1em;
}
.tag-box .tag-item::before{
  content:"#";
}

#index-about{
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
//  align-items:center;
  padding:100px 0;
  padding:100px calc((100% - 1160px) / 2);
}
#index-about figure{
  width:420px;
  margin-left:60px;
//  margin-left:100px;
  overflow:hidden;
  position:relative;
}
#index-about figure img{
//  width:260px;
}
/*
#index-about figure{
  width:45%; height:auto;
  aspect-ratio:3/2;
  border-radius:5px 0 0 5px;
  overflow:hidden;
  position:relative;
  background:#ccc;
}
#index-about figure img{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
*/
#index-about .text-box{
  flex:1;
//  padding-left:calc((100% - 1160px) / 2);
//  padding-right:50px;
  text-align:left;
  transform:translateY(0);
  opacity:1;
  transition:1.0s cubic-bezier(0.7,0,0.3,1);
}
#index-about .text-box.effect{
  opacity:0;
  transform:translateY(5%);
}
#index-about p{
  line-height:2.4;
  margin-bottom:1.5em;
}

.button{
  display:inline-block;
}
.button a{
  display:block;
  text-decoration:none;
  font-size:0.85em; line-height:2.5;
  color:var(--base-color);
  border:1px solid #999;
  border-radius:9999px;
  overflow:hidden;
  position:relative;
  transition:0.1s ease-in;
}
.button a:hover{
  color:#fff;
  border-color:var(--main-color);
  transition:0.1s ease-in;
}
.button a::before{
  content:"";
  width:100%; height:100%;
  background:var(--main-color);
  position:absolute;
  top:0; left:0;
  transform:scaleX(0);
  transform-origin:left;
  transition:0.1s ease-in;
}
.button a:hover::before{
  transform:scaleX(1);
  transition:0.1s ease-in;
}
.button a span{
  display:block;
  padding:0 3em;
  position:relative;
}
.button a span::before{
  content:"";
  width:15px;
  border-bottom:1px solid #999;
  position:absolute;
  top:50%; right:12px;
  transition:0.1s ease-in;
}
.button a span::after{
  content:"";
  width:7px;
  border-bottom:1px solid #999;
  position:absolute;
  top:50%; right:12px;
  transform-origin:bottom right;
  transform:rotate(45deg);
  transition:0.1s ease-in;
}
.button a:hover span::before,
.button a:hover span::after{
  border-bottom-color:#fff;
  transition:0.1s ease-in;
}

.index-contents > figure.conference-banner{
  box-sizing:border-box;
  width:100%;
  padding:0 calc((100% - 840px) / 2);
  margin:0 auto 100px;
}

#index-topics{
  display:flex;
  justify-content:space-between;
  box-sizing:border-box;
  width:100%;
  padding:100px calc((100% - 1160px) / 2);
//  background:#FCFAF2;
//  background-image:url(../../img/common/bg01.jpg);
//  background-position:center top;
//  background:rgba(252,250,242,1);
  position:relative;
}
#index-topics::before{
  content:"";
  width:100%; height:100%;
  background-image:url(../../img/common/bg01.jpg);
  background-position:center center;
  position:absolute;
  top:0; left:0; z-index:1;
}
#index-topics::after{
  content:"";
  width:100%; height:100%;
  background:rgba(252,250,242,0.9);
  position:absolute;
  top:0; left:0; z-index:2;
}
#index-topics .index-topics-title{
  width:300px;
  text-align:left;
  position:relative;
  z-index:3;
}
#index-topics .index-topics-title::before{
  content:"";
  width:54px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_topics.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:1.2em; left:8.8em;
}
#index-topics h2{
  margin-bottom:1.5em;
}
#index-topics .index-topics-box{
  flex:1;
  position:relative;
  z-index:3;
}
.index-topics-box ul.topics-list li:not(:last-child){
  padding-bottom:25px;
  margin-bottom:25px;
  border-bottom:1px dashed #ccc;
}
section ul.topics-list li{
  padding-bottom:25px;
  margin-bottom:25px;
  border-bottom:1px dashed #ccc;
}
ul.topics-list li a{
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  color:var(--base-color);
}
ul.topics-list li a figure{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:200px; height:auto;
  aspect-ratio:3/2;
  margin-right:25px;
  margin-bottom:0;
  border-radius:5px;
  overflow:hidden;
}
ul.topics-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.topics-list li a .text-box{
  flex:1;
  text-align:left;
}
ul.topics-list li a .entry-date{
  font-size:0.85em; line-height:2;
  color:#666;
}
ul.topics-list li a .entry-title{
  color:var(--link-color);
}
ul.topics-list li a:hover .entry-title{
  text-decoration:underline;
}

#index-person{
  box-sizing:border-box;
  width:100%;
  padding:100px 0;
  background:rgba(104,169,207,0.05);
}
#index-person .index-person-title{
  position:relative;
}
#index-person .index-person-title::before{
  content:"";
  width:72px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_practitioner.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:-0.5em; left:calc(50% + 9.4em);
}

#index-person h2{
  margin-bottom:1.5em;
}
ul.person-list{
  display:flex;
}
.index-person-box ul.person-list li{
  width:360px;
  background:#fff;
  border-radius:5px;
  overflow:hidden;
}
.index-person-box ul.person-list li:not(:last-child){
  margin-right:40px;
}
ul.person-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  text-align:left;
}
ul.person-list li a figure{
  width:100%; height:auto;
  aspect-ratio:3/2;
  overflow:hidden;
//  margin-bottom:1.0em;
  margin-bottom:0;
  position:relative;
}
ul.person-list li a:hover figure{
  background:#000;
}
ul.person-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s ease-out;
}
ul.person-list li a:hover figure img{
  transform:scale(1.1);
  opacity:0.9;
  transition:0.2s ease-out;
}
ul.person-list li a .entry-title{
  color:var(--link-color);
  margin-bottom:0.5em;
}
ul.person-list li a:hover .entry-title{
  text-decoration:underline;
}
ul.person-list li a .text-box{
  padding:15px 20px;
}
ul.person-list li a .person-name{
  font-size:0.95em;
}
section.archive ul.person-list{
  display:flex;
  flex-wrap:wrap;
}
section.archive ul.person-list li{
  width:46%;
  background:#fff;
  border-radius:0;
  overflow:hidden;
  margin:0 2% 3rem;
}
section.archive ul.person-list.column03 li{
  width:31%;
  margin:0 1% 3rem;
}
section.archive ul.person-list.column04 li{
  width:23%;
  margin:0 1% 3rem;
}
section.archive ul.person-list li a figure{
  border-radius:5px;
  overflow:hidden;
}
section.archive ul.person-list li a .text-box{
  padding:15px 0;
}
section.archive ul.person-list li a .person-name{
  font-size:0.90em; line-height:1.8;
}

section.know ul.person-list{
  display:flex;
  justify-content:center;
  margin:20px auto;
}
section.know ul.person-list li{
  width:30%;
  background:#fff;
  border-radius:0;
  overflow:hidden;
  margin:0 1.5%;
}
section.know ul.person-list li a figure{
  border-radius:5px;
  overflow:hidden;
}
section.know ul.person-list li a .text-box{
  padding:15px 0;
}


#index-person .button{
  margin-top:50px;
}

.slick-container{
  position:relative;
}
.slick-container .slick-prev::before,
.slick-container .slick-next::before{
	content:"";
}
.slick-container button.slick-prev,
.slick-container button.slick-next{
	z-index:2;
}
.slick-container #arrows .slick-prev,
.slick-container #arrows .slick-next{
	width:32px; height:32px;
  top:-82px;
  transform:translateY(0%);
  opacity:0.8;
}
.slick-container #arrows .slick-prev{left:auto; right:50px;}
.slick-container #arrows .slick-next{right:25px;}

#index-column{
  box-sizing:border-box;
  width:100%;
  padding:100px calc((100% - 1160px) / 2);
  background:rgba(104,169,207,0.05);
  background:rgba(149,189,44,0.06);
}
#index-project{
  box-sizing:border-box;
  width:100%;
  padding:100px calc((100% - 1160px) / 2);
}
#index-project > .index-illust02{
  width:160px; height:auto;
  position:absolute;
  top:0; left:calc((100% - 1260px) / 2);
  transform:translateY(-25%);
}
#index-project .index-project-title{
  position:relative;
}
#index-project .index-project-title::before{
  content:"";
  width:50px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_project.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.5em; left:calc(50% + 6.0em);
}

#index-project h2{
  margin-bottom:1.5em;
}
ul.project-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
ul.project-list li{
  width:31%;
  margin:0 1.16% 3.5rem;
}
ul.project-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  text-align:left;
  background:#fff;
  overflow:hidden;
}
ul.project-list li a figure{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border-radius:5px;
  overflow:hidden;
  position:relative;
}
ul.project-list li a:hover figure{
  background:#000;
}
ul.project-list li a figure img{
  width:100%; height:100%;
  transition:0.2s ease-out;
  object-fit:cover;
}
ul.project-list li a:hover figure img{
  transform:scale(1.1);
  opacity:0.9;
  transition:0.2s ease-out;
}
ul.project-list li a .text-box{
  padding-top:1em;
}
#index-column ul.project-list li a .text-box{
  padding:0.8em 1.2em 0.5em;
}
ul.project-list li .project-data{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
ul.project-list li .project-data .area{
  font-size:0.8rem; line-height:1.5;
  margin-bottom:0.5em;
  margin-left:0.5em;
}
ul.project-list li a .entry-title{
  color:var(--link-color);
  margin-bottom:0.5em;
}
section.archive ul.project-list li a .entry-title{
  margin-bottom:0;
}
ul.project-list li a:hover .entry-title{
  text-decoration:underline;
}
ul.project-list li .category{
  font-size:0.8rem; line-height:1.5;
  margin-bottom:0.5em;
  text-transform:capitalize;
}

#index-event{
  display:flex;
  justify-content:space-between;
  box-sizing:border-box;
  width:100%;
  padding:140px calc((100% - 1160px) / 2) 80px;
  position:relative;
}
#index-event > .index-illust01{
  width:140px; height:auto;
  position:absolute;
  top:0; left:calc((100% - 1240px) / 2);
  transform:translate(0,-50%);
}
#index-event > .index-illust01.inview{
  animation-name:slideRight;
  animation-duration:1.5s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:forwards;
}
@keyframes slideRight{
  0%{
    transform:translate(0,-50%);
  }
  100%{
    transform:translate(1100px, -50%);
  }
}

#index-event .index-event-title{
  width:300px;
  text-align:left;
  position:relative;
}
#index-event .index-event-title::before{
  content:"";
  width:60px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_event.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.6em; left:7.8em;
}

#index-event h2{
  margin-bottom:1.5em;
}
#index-event .index-event-box{
  flex:1;
}
ul.event-list{
  display:flex;
  flex-wrap:wrap;
}
.index-event-box ul.event-list li{
  width:47%;
  margin-bottom:3.5rem;
}
.index-event-box ul.event-list li:nth-child(odd){
  margin-right:6%;
}
section.archive ul.event-list{
  justify-content:center;
}
section.archive ul.event-list li{
  width:31%;
  margin:0 1.16% 3.5rem;
}
section.know ul.event-list{
  justify-content:center;
  margin:20px auto 0;
}
section.know ul.event-list li{
  width:30%;
  margin:0 1.5% 30px;
}

ul.event-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  text-align:left;
  position:relative;
}
ul.event-list li a figure{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border-radius:5px;
  overflow:hidden;
  position:relative;
}
ul.event-list li a:hover figure{
  background:#000;
}
ul.event-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s ease-out;
}
ul.event-list li a:hover figure img{
  transform:scale(1.1);
  opacity:0.9;
  transition:0.2s ease-out;
}
ul.event-list li a .text-box{
  padding-top:1em;
}
ul.event-list li a .event-date{
  box-sizing:border-box;
  width:74px;
  position:absolute;
  top:-5px; left:-5px;
  font-family:var(--eng-font);
  color:#fff;
  text-align:center;
  background:var(--key-color02);
  padding:14px 0 10px;
}
ul.event-list li a .event-date::after{
  content:"";
  border-left:37px solid var(--key-color02);
  border-right:37px solid var(--key-color02);
  border-bottom:8px solid transparent;
  position:absolute;
  bottom:-8px; left:0;
}
ul.event-list li a .event-date .day{
  font-size:1.0em; line-height:1.2; font-weight:700;
}
ul.event-list li a .event-date .week{
  font-size:0.9em; line-height:1.2; font-weight:700;
}
ul.event-list li a .event-title{
  font-weight:700;
  color:var(--link-color);
}
ul.event-list li a:hover .event-title{
  text-decoration:underline;
}
ul.event-list li a .venue{
  font-size:0.9em;
  text-transform:capitalize;
}
ul.event-list li a .venue .label::after{
  content:"：";
  margin:0 0.2em;
}

#index-base{
  box-sizing:border-box;
  width:100%;
  padding:100px calc((100% - 1160px) / 2) 140px;
  background:rgba(104,169,207,0.05);
}
#index-base > .index-contents{
  position:relative;
}
#index-base .index-base-title{
  position:relative;
}
#index-base .index-base-title::before{
  content:"";
  width:70px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_base.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0em; left:21.0em;
}

#index-base figure.base-image{
  width:580px; height:auto;
  aspect-ratio:3/2;
  border-radius:5px;
  overflow:hidden;
  position:absolute;
  top:0; right:0; z-index:2;
}
#index-base figure.base-image img{
  width:100%; height:100%;
  object-fit:cover;
}
.index-base-description{
  box-sizing:border-box;
  width:580px;
  width:680px;
  padding:30px 40px;
  padding:30px 140px 30px 40px;
  text-align:left;
  background:#fff;
  border-radius:5px;
  position:relative;
  top:60px;
}
/*
.index-base-description::before{
  content:"";
  width:640px; height:680px;
  height:460px;
  background:#fff;
  border-radius:5px;
  position:absolute;
  top:0; left:0; z-index:0;
}
*/
.index-base-description p{
  margin-bottom:2em;
}
.index-base-description .button{
//  margin-top:2em;
}

.index-base-title{
  position:relative;
  z-index:3;
}
.index-base-report{
  width:900px;
  margin:0 0 0 auto;
  text-align:left;
  position:relative;
  z-index:3;
}
.index-base-report h3{
  margin-bottom:1em;
}
ul.report-list{
  display:flex;
  margin-bottom:50px;
}
ul.report-list li{
  width:31%;
}
ul.report-list li:not(:last-child){
  margin-right:3.5%;
}
ul.report-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  text-align:left;
}
ul.report-list li a figure{
  width:100%; height:auto;
  aspect-ratio:3/2;
  border-radius:5px;
  overflow:hidden;
  margin-bottom:1.0em;
  position:relative;
}
ul.report-list li a:hover figure{
  background:#000;
}
ul.report-list li a figure img{
  transition:0.2s ease-out;
}
ul.report-list li a:hover figure img{
  transform:scale(1.1);
  opacity:0.9;
  transition:0.2s ease-out;
}
ul.report-list li a .entry-date{
  font-size:0.85em; line-height:2;
  color:#666;
}
ul.report-list li a .entry-title{
  color:var(--link-color);
  margin-bottom:0.5em;
}
ul.report-list li a:hover .entry-title{
  text-decoration:underline;
}

#index-social{
  box-sizing:border-box;
  width:100%;
  padding:100px calc((100% - 1160px) / 2);
}
.index-social-title{
  margin-bottom:50px;
}
.index-social-box{
  text-align:left;
}
.index-social-box .sb-wall .sbsw-item-avatar{
  display:none;
}
.index-social-box .sb-wall .sbsw-author{
  padding-left:0 !important;
}
.index-social-box .sb-wall-footer{
  text-align:center;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn{
  display:inline-block;
  text-decoration:none;
  width:auto;
  padding:0;
  margin:0 auto;
  font-family:var(--eng-font);
  font-size:0.85em; line-height:2.5;
  color:var(--base-color);
  border:1px solid #999;
  border-radius:9999px;
  box-shadow:none;
  overflow:hidden;
  position:relative;
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn:hover{
  color:#fff;
  border-color:var(--main-color);
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn::before{
  content:"";
  width:100%; height:100%;
  background:var(--main-color);
  position:absolute;
  top:0; left:0;
  transform:scaleX(0);
  transform-origin:left;
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn:hover::before{
  transform:scaleX(1);
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn span{
  display:block;
  padding:0 3em;
  position:relative;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn span::before{
  content:"";
  width:15px;
  border-bottom:1px solid #999;
  position:absolute;
  top:50%; right:12px;
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn span::after{
  content:"";
  width:7px;
  border-bottom:1px solid #999;
  position:absolute;
  top:50%; right:12px;
  transform-origin:bottom right;
  transform:rotate(45deg);
  transition:0.1s ease-in;
}
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn:hover span::before,
.index-social-box [id^=sb-wall].sb-wall a.sb-wall-load-btn:hover span::after{
  border-bottom-color:#fff;
  transition:0.1s ease-in;
}

footer{
  width:100%;
  background:#f6f5f5;
  padding-bottom:30px;
}
#footer-info{
  box-sizing:border-box;
  width:100%;
  padding:80px calc((100% - 1160px) / 2);
  background:rgba(33,172,168,0.1);
  background:#E8F7F6;
  display:flex;
  justify-content:space-between;
}
#footer-info #credit{
  width:420px;
  text-align:left;
}
#footer-info #credit .logo{
  width:200px;
  margin-bottom:25px;
}
#footer-info #credit p{
  font-size:0.85em; line-height:1.8;
  margin-bottom:1.5em;
}
#footer-info #credit .sns{
  display:flex;
}
#footer-info #credit .sns a{
  width:24px;
  margin-right:0.5em;
}
#footer-info nav#footer-nav{
  flex:1;
  text-align:left;
  display:flex;
  justify-content:space-between;
}
#footer-info nav#footer-nav ul li{
  font-size:0.9em; line-height:1.8; font-weight:700;
  text-transform:capitalize;
  margin-bottom:0.5em;
}
#footer-info nav#footer-nav ul li.sub{
  list-style:disc outside;
  font-size:0.85em; line-height:1.8; font-weight:500;
  margin-left:1.2em;
}
#footer-info nav#footer-nav ul li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
#footer-info nav#footer-nav ul li a:hover{
  text-decoration:underline;
}
#footer-info nav#footer-nav ul > li.joinus{
  font-size:0.84em; line-height:1.8;
}
#footer-info nav#footer-nav ul > li.joinus > a{
  color:#fff;
  background:var(--key-color02);
  padding:0 1.6em;
  border-radius:9999px;
}
#footer-info nav#footer-nav ul > li.joinus > a:hover{
  text-decoration:none;
}

footer ul.banner-list{
  box-sizing:border-box;
  width:100%;
  padding:70px calc((100% - 1160px) / 2);
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
footer ul.banner-list li{
  width:180px;
  margin:5px 5px;
}
footer .shiawase-shinshu{
  width:120px;
  margin:50px auto;
}
footer .privacy{
  font-size:0.8em; line-height:2;
}
footer .privacy a{
  color:var(--base-color);
}
footer .copyright{
  font-size:0.7em; line-height:2;
}

#splash{
  position:fixed;
  top:0; left:0;
  width:100vw; height:100vh; z-index:9999;
  background:#fff;
  text-align:center;
  color:#fff;
}
#splash-logo{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
#splash-logo figure{
  width:12vw; height:auto;
  margin:0 auto;
  animation-name:fadeUp;
  animation-duration:1.0s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
#splash-logo svg{
  width:20vw;
}
#splash-logo #mask path{
  fill-opacity:0;
  transition:fill-opacity 1.0s;
  fill:none;
  stroke:rgba(104,169,207,0.4);
}
#splash-logo #mask.done path{
  fill:rgba(104,169,207,0.6);
  fill-opacity:1;
  stroke:none;
}

#index-wrapper{
//  display:none;
}

#page-title{
/*
  box-sizing:border-box;
  width:100%; height:420px;
  text-align:left;
  overflow:hidden;
  position:relative;
*/
  padding-top:90px;
}
#page-title .title-image{
  display:none;
/*
  width:100%; height:100%;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% auto;
  overflow:hidden;
  transform:translateX(1.0%) scale(1.05);
  transition:0.5s cubic-bezier(0.61,1,0.88,1);
  position:absolute;
  top:0; left:0;
*/
}
#page-title.effect .title-image{
  transform:translateX(-1.0%) scale(1.05);
  width:100%;
}
#page-title.topics .title-image{
  background-image:url(../../img/common/bg/12.jpg);
}
#page-title.about .title-image{
  background-image:url(../../img/common/bg/01.jpg);
}
#page-title.project .title-image{
  background-image:url(../../img/common/bg/02.jpg);
}
#page-title.report .title-image{
  background-image:url(../../img/common/bg/10.jpg);
  background-position:center bottom -60px;
}
#page-title.event .title-image{
  background-image:url(../../img/common/bg/05.jpg);
  background-position:center bottom -100px;
}
#page-title.practitioner .title-image{
  background-image:url(../../img/common/bg/06.jpg);
  background-position:center bottom -80px;
}
#page-title.field .title-image{
  background-image:url(../../img/common/bg/03.jpg);
}
#page-title.area .title-image{
  background-image:url(../../img/common/bg/11.jpg);
}
#page-title.joinus .title-image{
  background-image:url(../../img/common/bg/16.jpg);
  background-position:center bottom -40px;
}
#page-title.privacy .title-image{
  background-image:url(../../img/common/bg/14.jpg);
  background-position:center bottom -50px;
}
#page-title::after{
/*
  content:"";
  width:0; height:100%;
  background:#fff;
  position:absolute;
  top:0; right:0; z-index:1;
  transition:width 0.5s cubic-bezier(0.8,0,0.3,1);
*/
}
#page-title.effect::after{
  width:100%;
}
#page-title .title-box{
  display:none;
/*
  position:absolute;
  top:calc(50% + 45px); left:calc((100% - 1160px) / 2);
  z-index:1;
  transform:translateY(-50%);
*/
}
#page-title .title-box h1{
  font-size:1.3em; line-height:1.8; font-weight:700;
  color:#fff;
  text-transform:capitalize;
  position:relative;
}
#page-title .title-box h1::after{
  content:"";
  width:100%; height:2px;
  background:#fff;
  position:absolute;
  bottom:-1px; left:0;
  transition:width 0.3s cubic-bezier(0.8,0,0.3,1);
  transition-delay:0.3s;
}
#page-title.effect .title-box h1::after{
  width:0;
}
#page-title .title-box .eng{
  font-size:4.0em; line-height:1;
  font-weight:600;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:1px var(--main-color);
  text-stroke:1px var(--main-color);
  opacity:0.25;
  position:absolute;
  bottom:0; right:15px;
  transform:translateY(35%);
}

#crumb{
  padding:10px calc((100% - 1160px) / 2);
  padding:10px 20px;
}
#crumb ul{
  display:flex;
  flex-wrap:wrap;
}
#crumb ul li{
  font-size:0.75em; line-height:1.8;
  text-transform:capitalize;
}
#crumb ul li a{
  color:#666;
}
#crumb ul li:last-child a{
  pointer-events:none;
}
#crumb ul li:not(:last-child) a::after{
  display:inline-block;
  content:">";
  margin:0 0.5em;
  transform:scale(0.6,1);
}

#container{
  padding:60px calc((100% - 1160px) / 2);
}
#container.flex-container{
  display:flex;
  justify-content:center;
  align-items:flex-start;
}
#main{
  width:840px;
}
#side{
  width:240px;
  margin-left:80px;
}

section{
  width:100%;
  margin-bottom:80px;
}
#main section{
  text-align:left;
}
section p{
  margin-bottom:2em;
}
ul.disc-list > li{
  list-style:disc outside;
  margin-left:1.2em;
}
ol.decimal-list > li{
  list-style:decimal outside;
  margin-left:1.2em;
}
ul.kigou-list > li{
  position:relative;
  padding-left:1.2em;
}
ul.kigou-list > li::before{
  content:"※";
  position:absolute;
  top:0; left:0;
}

/* project */
section .project-title{
  margin-bottom:30px;
}
.project-title .billboard{
  width:100%;
  margin-bottom:1.5em;
}

section.project .project-title h2{
  font-size:1.8em; line-height:1.6;
  color:var(--key-color);
  margin-bottom:0.5em;
}
section.project .project-title h2.person-title{
  font-size:1.6em; line-height:1.6;
  color:var(--key-color02);
  margin-bottom:0em;
}
section.project .project-title .person-name{
  font-size:1.1em; line-height:1.8; font-weight:700;
  margin-bottom:1em;
}

section.project h3{
  font-size:1.25em; line-height:1.6; font-weight:500;
  margin-bottom:0.2em;
}
.project-content-title{
  font-size:1.35em; line-height:1.6; font-weight:700;
  margin-bottom:0.5em;
}
.project-content-title span{
  display:inline-block;
  color:var(--key-color02);
  position:relative;
}
.project-content-title span::before{
  content:"";
  width:1.0em;
  border-top:2px solid var(--key-color02);
  position:absolute;
  top:0.75em; left:-1.5em;
}
.project-title .project-data{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.project-title ul.tag-list{
  display:flex;
}
.project-title ul.tag-list li{
  font-size:0.9em; line-height:1.6;
  font-weight:500;
  text-transform:capitalize;
  margin-right:1.0em;
}
.project-title ul.tag-list li:last-child{
  margin-right:0;
}
.project-title ul.tag-list li a{
  display:block;
  text-decoration:none;
  color:var(--link-color);
//  border:1px solid #999;
  border-radius:9999px;
//  padding:0 1.25em;
}
.project-title ul.tag-list li a::before{
  content:"#";
}
.project-title ul.tag-list li a:hover{
//  border-color:transparent;
//  background:var(--link-color);
  text-decoration:underline;
  color:var(--link-color);
}
.project-title .project-data .area,
.project-title .project-data .entry-date{
  font-size:0.9em; line-height:1.8;
  margin-left:1.5em;
}
.project-photo{
  margin-bottom:50px;
}
.project-photo.print-only{
  display:none;
}
.swiper-container{
  width:100%;
  position:relative;
  z-index:1;
  overflow:hidden;
  padding-bottom:30px !important;
}
.swiper-slide{
  display:flex;
  justify-content:center;
}
.swiper-slide img{
  display:block;
  width:auto; height:430px;
  border-radius:5px;
  overflow:hidden;
  object-fit:cover;
}
.swiper-container .swiper-pagination{
  width:100%; height:30px;
  position:absolute;
  z-index:10;
  text-align:center;
  transition:0.3s opacity;
  transform:translate3d(0,0,0);
}
.swiper-container .swiper-pagination-bullets{
  bottom:0px !important;
}
.swiper-container .swiper-pagination-bullet{
  width:10px; height:10px;
  outline:none;
  margin:0 5px;
}
.swiper-container .swiper-pagination-bullet-active{
  background:var(--main-color);
}
.swiper-container .swiper-button-next::after,
.swiper-container .swiper-button-prev::after{
  font-size:1.5em;
  color:#555;
}

section.project .project-body,
section.project .project-map,
section.project .project-related,
section.project .project-donation{
  margin-bottom:60px;
}
section.project .project-body ul{
  margin-bottom:2em;
}
section.project .project-body ul li{
  list-style:disc outside;
  margin-left:1.2em;
}
section.project .project-body iframe:not(.instagram-media){
  width:80%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
}
section.project .project-body .lead-text{
  font-size:1.05em; line-height:1.8; font-weight:700;
  margin:2.8em 0;
}
section.project .project-body .wp-caption{
  width:100% !important;
  text-align:center;
  margin-bottom:2em;
}
section.project .project-body .wp-caption p.wp-caption-text{
  font-size:0.8em; line-height:1.6;
  margin-top:0.3em;
  margin-bottom:0 !important;
}
section.project .project-body img{
  max-width:100%; height:auto;
  margin:0 auto !important;
}
section.project .project-body hr{
  width:100%;
  margin:2em auto;
  border:none;
  border-top:1px solid #ccc;
}
section.project .project-body .alignright{
  margin-left:2em !important;
  margin-bottom:1em !important;
}
section.project .project-body .alignleft{
  margin-right:2em !important;
  margin-bottom:1em !important;
}

section.project .person-map{
  margin:3em 0;
}
section.project .person-map .person-gmap iframe{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
}
section.project .person-map h3{
  font-size:1.15em; line-height:1.6; font-weight:500;
  margin-bottom:0.5em;
  position:relative;
}
section.project .person-map h3 span{
  background:#fff;
  padding-right:0.5em;
  position:relative;
  z-index:2;
}
section.project .person-map h3::after{
  content:"";
  width:100%;
  border-top:1px dashed #ccc;
  position:absolute;
  top:calc(1.6em / 2); left:0;
}

section.project .profile-box{
  border-top:1px dashed #ccc;
  margin:5em 0;
  padding:2em 0 0;
  position:relative;
  display:flex;
  justify-content:space-between;
}
section.project .profile-box h3{
  position:absolute;
  top:0; left:0;
  transform:translateY(-50%);
  font-size:1.2em; line-height:1; font-weight:500;
  color:var(--key-color);
  background:#fff;
  padding-right:0.5em;
}
section.project .profile-box figure{
  width:140px; height:auto;
  aspect-ratio:1/1;
  border-radius:100%;
  overflow:hidden;
  margin-right:1.5em;
}
section.project .profile-box .text-box{
  flex:1;
}
section.project .profile-box .text-box .name{
  font-weight:700;
}
section.project .profile-box .text-box .profile{
  font-size:0.9em; line-height:1.8;
}
section.project .writer-box{
  background:#f6f6f6;
  font-size:0.85em; line-height:1.8;
//  text-align:right;
  padding:1em 1.8em;
  display:flex;
  justify-content:space-between;
}
section.project .writer-box figure{
  width:100px; height:auto;
  aspect-ratio:1/1;
  border-radius:100%;
  overflow:hidden;
  margin-right:1.5em;
}
section.project .writer-box .text-box{
  flex:1;
}

section.project .project-map .project-gmap iframe{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
}
section.project .project-map > p{
  font-size:0.9em; line-height:1.6;
  margin:0.5em 0 0;
}

section.project ul.related-list{
  display:flex;
  flex-wrap:wrap;
}
section.project ul.related-list li{
  width:31%;
  margin:0 3.5% 40px 0;
}
section.project ul.related-list li:nth-child(3n){
  margin-right:0;
}
section.project ul.related-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
section.project ul.related-list li figure{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border-radius:5px;
  overflow:hidden;
  margin-bottom:0.8em;
  position:relative;
}
section.project ul.related-list li figure img{
  width:100%; height:100%;
  object-fit:cover;
}
section.project ul.related-list li figure.dummy{
  background:#f3f3f3;
}
section.project ul.related-list li figure.dummy::before{
  content:"no picture";
  font-size:0.8em; line-height:1; font-weight:700;
  color:#666;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
section.project ul.related-list li a .entry-title{
  font-size:0.95em; line-height:1.8;
  font-weight:700;
  color:var(--link-color);
}
section.project ul.related-list li a:hover .entry-title{
  text-decoration:underline;
}
section.project ul.related-list li a .related-data{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  font-size:0.8em; line-height:1.8;
  color:#555;
}
/*
section.project ul.related-list li a .related-data .category::before{
  content:"｜";
  margin:0 0.25em;
}
*/

.donation-box{
//  border:1px solid #ccc;
  padding:30px 80px;
  text-align:center;
  background:rgba(252,250,242,0.9);
  border-radius:5px;
}
.donation-box .amount-data{
  display:flex;
  justify-content:center;
  align-items:baseline;
  font-size:0.9em; line-height:1.8;
}
.donation-box .present strong{
  font-size:1.8em;
  margin-left:0.2em;
}
.donation-box .goal{
  margin-left:0.5em;
}
.donation-box .goal::before{
  content:"（";
}
.donation-box .goal::after{
  content:"）";
}
.donation-box .meter-box{
  width:100%; height:60px;
  position:relative;
}
.donation-box .meter-box .meter{
  width:100%; height:24px;
  background:#ccc;
  border-radius:9999px;
  overflow:hidden;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
.donation-box .meter-box .meter .bar{
  position:absolute;
  top:0; left:0;
  height:24px;
  background:#fac75a;
}
.donation-box .meter-box .percentage{
  width:60px; height:60px;
  background:#fac75a;
  border-radius:100%;
  color:#FFF;
  font-size:1.4em; line-height:60px; font-weight:700;
  text-align:center;
  position:absolute;
  top:0; left:0;
}
.donation-box .meter-box .percentage::after{
  content:"%";
  font-size:0.5em;
}
.donation-box .donation-action{
  display:flex;
  justify-content:center;
  align-items:baseline;
  font-size:0.9em; line-height:1.8;
  margin-top:1em;
}
.donation-box .schedule{
  margin-right:1.5em;
}
.donation-box .schedule::before{
  content:"";
  display:inline-block;
  width:18px; height:18px;
  background:url(../../img/project/schedule.svg) no-repeat center center;
  background-size:contain;
  position:relative; top:0.2em;
  margin-right:0.5em;
}
.donation-box .schedule .num{
  font-size:1.25em;
  font-weight:500;
}
.donation-box .button a{
  font-size:1.1em; line-height:2.5; font-weight:700;
}

.share-box{
  text-align:center;
}
section .share-box h3{
  display:inline-block;
  font-size:1.05em; line-height:1.8; font-weight:700;
  color:#555;
  text-transform:uppercase;
}
section .share-box h3::before,
section .share-box h3::after{
  display:inline-block;
  transform:scale(0.75,1);
  margin:0 0.25em;
}
section .share-box h3::before{
  content:"＼";
}
section .share-box h3::after{
  content:"／";
}

#main .kurashifuto-information{
  display:none;
}

.side-box{
  text-align:left;
}
.side-related{
  margin-bottom:3.5rem;
}
.side-related h2.tag-name{
  font-size:0.95em; line-height:1.8; font-weight:500;
  text-transform:capitalize;
  margin-bottom:0.5em;
  position:relative;
}
.side-related h2.tag-name::before{
  content:"";
  width:100%;
  border-top:1px dashed #999;
  position:absolute;
  top:calc(50% - 1px); left:0;
}
.side-related h2.tag-name span{
  background:#fff;
  padding-right:0.5em;
  position:relative;
}
.side-related h2.tag-name span::before{
  content:"#";
}
ul.side-thumbnail-list li{
  margin:15px 0 25px;
}
ul.side-thumbnail-list li a{
  text-decoration:none;
/*
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
*/
  color:var(--base-color);
}
ul.side-thumbnail-list li a figure{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:68px; height:auto;
  aspect-ratio:1/1;
  width:100%;
  aspect-ratio:16/9;
  border-radius:5px;
  overflow:hidden;
  position:relative;
//  margin-right:12px;
  margin-bottom:0.5em;
}
ul.side-thumbnail-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.side-thumbnail-list li a figure.dummy{
  background:#f3f3f3;
}
ul.side-thumbnail-list li figure.dummy::before{
  content:"no picture";
  font-size:0.65em; line-height:1; font-weight:700;
  color:#666;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
ul.side-thumbnail-list li a .text-box{
  flex:1;
}
ul.side-thumbnail-list li a .entry-title{
  font-size:0.8em; line-height:1.6; font-weight:700;
  color:var(--link-color);
  margin-bottom:0.2em;
}
ul.side-thumbnail-list li a:hover .entry-title{
  text-decoration:underline;
}
ul.side-thumbnail-list li a .related-data{
  font-size:0.7em; line-height:1.6;
  display:flex;
  flex-direction:column-reverse;
}
.side-box .more{
  text-align:right;
}
.side-box .more a{
  font-family:var(--eng-font);
  font-size:0.8em; line-height:1.8;
  color:var(--base-color);
  position:relative;
  padding-right:20px;
}
.side-box .more a:hover{
  color:var(--link-color);
}
.side-box .more a::before{
  content:"";
  width:12px;
  border-bottom:1px solid #999;
  position:absolute;
  bottom:25%; right:3px;
  transition:0.1s ease-in;
}
.side-box .more a::after{
  content:"";
  width:7px;
  border-bottom:1px solid #999;
  position:absolute;
  bottom:25%; right:3px;
  transform-origin:bottom right;
  transform:rotate(45deg);
  transition:0.1s ease-in;
}
.side-box .more a:hover::before,
.side-box .more a:hover::after{
  border-bottom-color:var(--link-color);
  right:0;
  transition:0.1s ease-in;
}
ul.side-menu-list li{
  list-style:disc outside;
  margin-left:1.2em;
}
ul.side-menu-list li:not(:last-child){
  margin-bottom:0.3em;
}
ul.side-menu-list li a{
  display:block;
  text-decoration:none;
  font-size:0.85em; line-height:1.6;
  color:var(--base-color);
}
ul.side-menu-list li a:hover{
  text-decoration:underline;
  color:var(--link-color);
}
ul.side-menu-list li.active > a{
  pointer-events:none;
  font-weight:700;
  color:var(--key-color);
}

/* event */
section.project .project-title h2.event-title{
  color:var(--key-color02);
}
.event-data{
  margin-bottom:1.0em;
}
.event-data .schedule,
.event-data .venue{
  position:relative;
  padding-left:1.8em;
}
.event-data .schedule::before,
.event-data .venue::before{
  content:"";
  width:1.6em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/calendar.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:80% auto;
  position:absolute;
  top:0; left:0;
}
.event-data .schedule::before{
  background-image:url(../../img/common/calendar.svg);
}
.event-data .venue::before{
  background-image:url(../../img/common/mark.svg);
}
table.event-table{
  width:100%;
  border-collapse:collapse;
  border-bottom:1px solid #ccc;
  margin-bottom:60px;
}
table.event-table caption{
  font-size:1.15em; line-height:1.6; font-weight:700;
  text-align:left;
  margin-bottom:0.5em;
}
table.event-table tr{
  border-top:1px solid #ccc;
}
table.event-table tr th{
  font-size:0.9rem; line-height:1.8; font-weight:500;
  text-transform:capitalize;
  padding:10px 15px;
  background:#f9f9f9;
  vertical-align:top;
}
table.event-table tr td{
  font-size:0.95em; line-height:1.6;
  padding:10px 20px;
  vertical-align:top;
}
table.event-table tr td > p{
  margin-bottom:10px;
}
table.event-table tr td > p:last-of-type{
  margin-bottom:0;
}
.event-gmap{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  margin-bottom:60px;
}
.event-gmap iframe{
  width:100%; height:100%;
}

/* 信州ゼロカーボンブック */
#main.zerocarbon section{
  margin-bottom:120px;
}
.zerocarbon section h2{
  font-size:1.6em; line-height:1.6; font-weight:500;
  position:relative;
}
.zerocarbon section > h2{
  padding-bottom:0.2em;
  padding-right:4.0em;
  margin-bottom:1.6em;
//  border-bottom:2px dotted var(--key-color);
}
.zerocarbon section > h2::before{
  content:"";
  width:calc(400px * 0.35); height:calc(148px * 0.35);
  background-image:url(../../img/zerocarbon/logo.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  bottom:0.35em; right:0.2em;
}
.zerocarbon section h3{
  font-size:1.2em; line-height:1.6; font-weight:700;
  color:var(--key-color02);
  margin-bottom:0.3em;
  position:relative;
  padding-left:1.0em;
}
.zerocarbon section h3::before{
  content:"";
  width:0.6em; height:0.6em;
//  border:2px solid var(--key-color02);
  border-radius:100%;
  background:var(--key-color02);
  position:absolute;
  top:0.45em; left:0;
}
.zerocarbon section p{
  line-height:2;
}
.zerocarbon section ul.page-menu{
  display:flex;
}
.zerocarbon section ul.page-menu li{
  font-size:0.85em; line-height:1.8;
  margin-right:0.5em;
}
.zerocarbon section ul.page-menu li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  position:relative;
  padding:0 1em 0 2.1em;
  border:1px solid #ccc;
  border-radius:9999px;
}
.zerocarbon section ul.page-menu li a::before{
  content:"";
  border-top:6px solid #999;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  position:absolute;
  top:50%; left:1.1em;
  transform:translateY(-50%);
}
.zerocarbon section ul.page-menu li a:hover{
  color:#fff;
  background:var(--main-color);
  border-color:transparent;
}
.zerocarbon section ul.page-menu li a:hover::before{
  border-top-color:#fff;
}

.zerocarbon section cite{
  display:block;
  font-size:0.7em; line-height:1.8;
  color:#666;
  text-align:right;
  margin-top:0.5em;
}
.zerocarbon section sub{
  font-size:0.7em;
  vertical-align:baseline;
}
figure.zerocarbon-intro-image{
  width:100%;
  margin-bottom:2em;
}
figure.zerocarbon-intro-image figcaption{
  font-size:0.7em; line-height:1.8;
  color:#555;
  text-align:right;
  margin-top:0.5em;
}
ul.photo-list-2column,
ul.photo-list-3column{
  display:flex;
  flex-wrap:wrap;
}
ul.photo-list-2column li{
  width:48%;
  margin-bottom:2em;
  margin-right:4%;
}
ul.photo-list-2column li:nth-child(even){
  margin-right:0;
}
ul.photo-list-3column li{
  width:32%;
  margin-bottom:2em;
  margin-right:2%;
}
ul.photo-list-3column li:nth-child(3n){
  margin-right:0;
}
ul.photo-list-3column li figure{
  width:100%;
  margin:0;
}
ul.photo-list-3column li figcaption{
  font-size:0.9em; line-height:1.6;
  text-align:center;
  margin-top:0.5em;
}
ul.photo-list-3column li figcaption cite{
  text-align:center;
}

.graph-box{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.graph{
  margin-bottom:2em;
}
.graph > figure{
  border:1px solid #ccc;
  padding:25px 30px;
  margin-bottom:0;
}

.zerocarbon .important{
  box-sizing:border-box;
  color:var(--key-color);
  background:#F7FBFD;
  border-radius:7px;
  border-radius:9px;
  position:relative;
  padding-left:50px;
//  padding:25px 35px 25px 74px;
  padding:35px 35px 35px 70px;
  margin-bottom:4em;
}
.zerocarbon .important::before{
  content:"";
  width:26px; height:26px;
  background-image:url(../../img/zerocarbon/arrow-right.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:36px; left:35px;
}
.zerocarbon .important > h2{
  font-size:1.25em; line-height:1.6; font-weight:700;
  margin-bottom:0;
}
.zerocarbon .important > ol.decimal-list li{
  font-size:1.25em; line-height:1.6; font-weight:700;
}
.zerocarbon .important > p{
  color:var(--base-color);
  margin-bottom:0 !important;
}
figure.zerocarbon-image05{
  width:320px;
  margin-left:40px;
}
figure.zerocarbon-image07{
  width:300px;
  margin-left:50px;
  margin-bottom:2em;
}
.zerocarbon .column{
  border:1px dashed var(--main-color);
  border-radius:5px;
  padding:25px 35px;
  margin-bottom:2em;
}
.zerocarbon .column > h4{
  font-size:1.0em; line-height:1.8;
  margin-bottom:0.25em;
  position:relative;
  padding-left:2em;
}
.zerocarbon .column > h4::before{
  content:"";
  width:1.4em; height:1.4em;
  background-image:url(../../img/zerocarbon/column.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0; left:0;
}
#main.zerocarbon .column > p{
  font-size:0.9em; line-height:1.8;
  margin-bottom:0;
}
.zerocarbon .words-box{
  background:#f9f9f9;
  border-radius:5px;
  padding:25px 35px;
}
.zerocarbon ul.words-list li{
  font-size:0.90em; line-height:1.8;
  padding-left:9em;
  position:relative;
}
.zerocarbon ul.words-list li:not(:last-child){
  margin-bottom:0.25em;
}
.zerocarbon ul.words-list li::before{
  content:"";
  width:40%;
  border-top:1px dashed #999;
  position:absolute;
  top:0.8em; left:0;
}
.zerocarbon ul.words-list li .words{
  font-weight:700;
  position:absolute;
  top:0; left:0;
  background:#fafafa;
  padding-right:0.5em;
}
.zerocarbon ul.words-list li .description{
  display:inline-block;
  background:#f9f9f9;
  position:relative;
  padding-left:0.5em;
}
.zerocarbon .pickup{
  border:2px solid #B74E4B;
  border-radius:7px;
  padding:30px 45px;
  margin-bottom:2em;
}
.zerocarbon .pickup .pickup-title{
  text-align:center;
  margin-bottom:1.5em;
}
.zerocarbon .pickup .pickup-title > h4{
  font-size:1.2em; line-height:1.8;
  position:relative;
}
.zerocarbon .pickup .pickup-title > h4 .tag{
  display:inline-block;
  font-size:0.75em; line-height:1.7;
  color:#fff;
  background:#B74E4B;
  border-radius:9999px;
  padding:0 1.0em;
  margin-right:0.5em;
  position:relative;
  top:-0.15em;
}
#main.zerocarbon section .pickup .pickup-title p{
  margin-bottom:0;
}
.zerocarbon .pickup .graph-box{
  width:34%;
  margin-left:10%;
}
figure.zerocarbon-image08{
  width:94%;
  margin:0 auto 1.5em;
}
.zerocarbon .appeal-phrase{
  font-size:1.5em; line-height:1.6; font-weight:700;
  text-align:center;
  margin:3em 0;
}
.marker{
  position:relative;
}
.marker::after{
  content:"";
  width:100%; height:1em;
  background:linear-gradient(
    transparent 70%,
    rgba(125,213,250,0.75) 70%
  );
  position:absolute;
  top:10%; left:0; z-index:-1;
  transition:0.2s ease-in;
}
.marker.effect::after{
  width:0;
  transition:0.2s ease-in;
}
.zerocarbon .choice{
  width:100%; height:100%;
  margin:80px 0;
}
.zerocarbon .choice > h2{
  display:inline-block;
  font-size:1.2em; line-height:1.7; font-weight:700;
  color:#fff;
  background:var(--key-color02);
  border-radius:9999px;
  padding:0 2.0em;
  margin-bottom:1em;
}
.check-box{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  background:rgba(104,169,207,0.08);
  border-radius:7px;
  padding:20px 40px;
}
section .check-box .title{
  font-size:1.1em; line-height:1.8; font-weight:700;
  color:var(--main-color);
  position:relative;
  padding-left:1.5em;
  margin-right:2.0em;
}
section .check-box .title::before{
  content:"";
  width:1.2em; height:1.2em;
  background-image:url(../../img/zerocarbon/check.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.check-list{
  flex:1;
  display:flex;
  flex-wrap:wrap;
}
ul.check-list li{
  width:33%;
  position:relative;
  margin:0.2em 0;
}
ul.check-list li::before{
  content:"□";
  margin-right:0.25em;
}
.zerocarbon .choice-box{
  margin:2em 0;
}
.zerocarbon .choice h2 + .choice-box{
  margin-top:0;
}
#main.zerocarbon section .choice-box p{
//  margin-bottom:3em;
}
#main.zerocarbon section .choice-box p:last-of-type{
  margin-bottom:0;
}
figure.zerocarbon-image09{
  width:320px;
  margin-left:40px;
}
figure.zerocarbon-image09 img{
  width:90%;
  margin:0 auto;
}
figure.zerocarbon-image10-1{
  width:240px;
  margin-left:40px;
  margin-bottom:2em;
}
figure.zerocarbon-image10-2{
  width:200px;
  margin-left:40px;
}
figure.zerocarbon-image10-1 img,
figure.zerocarbon-image10-2 img{
  width:90%;
  margin:0 auto;
}
.zerocarbon .link-box{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  background:#f9f9f9;
  border-radius:5px;
  padding:25px 35px;
  margin-bottom:4em;
  font-size:0.95em; line-height:1.8;
}
.zerocarbon .link-box .title{
  font-size:1.1em; line-height:1.8; font-weight:700;
  color:var(--main-color);
  position:relative;
  padding-left:1.5em;
  margin-right:2.0em;
}
.zerocarbon .link-box .title::before{
  content:"";
  width:1.2em; height:1.2em;
  background-image:url(../../img/zerocarbon/link.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
.zerocarbon .link-box .text-box{
  flex:1;
}
#main.zerocarbon .link-box p{
  margin-bottom:0;
}
figure.zerocarbon-image11{
  width:470px;
  margin-left:30px;
  border:1px solid #ccc;
  border-radius:5px;
  padding:20px 0 10px;
  text-align:center;
}
figure.zerocarbon-image11 h4{
  font-size:1.0em; line-height:1.6;
}
figure.zerocarbon-image11 img{
  width:80%;
  margin:15px auto;
}
figure.zerocarbon-image11 cite{
  text-align:center !important;
}
figure.zerocarbon-image12-1{
  width:260px;
  margin-left:40px;
}
figure.zerocarbon-image12-2{
  width:160px;
  margin-left:40px;
}
figure.zerocarbon-image14{
  width:480px;
  margin-top:1em;
}
ul.choice-3column{
  display:flex;
  justify-content:space-between;
  margin-bottom:1em;
}
ul.choice-3column > li{
  box-sizing:border-box;
  width:32.5%;
  border:1px solid var(--key-color02);
  border-radius:5px;
  font-size:0.95em; line-height:1.8;
  padding:15px 20px;
}
figure.zerocarbon-image15{
  width:340px;
  margin-left:40px;
}
ul.eco-drive{
  display:flex;
  flex-wrap:wrap;
}
ul.eco-drive li{
  width:30.5%;
}
ul.eco-drive li:last-child{
  white-space:nowrap;
}
figure.zerocarbon-image17{
  width:280px;
  margin-left:40px;
}
.ethical-mark-box{
  text-align:center;
}
ul.ethical-mark-list{
  display:flex;
}
ul.ethical-mark-list li{
  width:64px;
}
.ethical-mark-box > p{
  font-size:0.85em; line-height:1.8;
  margin:0.3em 0 0;
}
figure.zerocarbon-image18{
  width:300px;
  margin-left:40px;
}
ul.plastic-smart li{
  text-align:center;
}
ul.plastic-smart li > figure{
  width:54%;
  margin:10px auto 0;
}
figure.zerocarbon-biz-image03{
  width:300px;
  margin-left:40px;
}
figure.zerocarbon-biz-image04{
  margin-bottom:0;
}
figure.zerocarbon-biz-image04 figcaption{
  font-size:0.9em; line-height:1.8; font-weight:700;
  padding-left:0.5em;
}
figure.zerocarbon-biz-image04 figcaption .row01{
  color:#3870b5;
}
figure.zerocarbon-biz-image04 figcaption .row02{
  color:#d141ad;
}
figure.zerocarbon-biz-image04 figcaption .row03{
  color:#529e52;
}
table.zerocarbon-biz-table{
  width:100%;
  border-collapse:collapse;
  border-bottom:1px solid var(--main-color);
}
table.zerocarbon-biz-table caption{
  font-size:0.95em; line-height:1.8; font-weight:700;
  text-align:left;
  margin-bottom:0.5em;
}
table.zerocarbon-biz-table tr{
  border-top:1px solid var(--main-color);
}
table.zerocarbon-biz-table th{
  font-size:0.95em; line-height:1.6;
  white-space:nowrap;
  text-align:left;
  vertical-align:top;
  padding:15px 5px;
  padding-right:15px;
}
table.zerocarbon-biz-table td{
  font-size:0.90em; line-height:1.6;
  text-align:left;
  vertical-align:top;
  padding:15px 15px;
  border-left:1px dashed var(--main-color);
}
table.zerocarbon-biz-table tr td:last-of-type{
  padding-right:0px;
  text-align:center;
  white-space:nowrap;
}
table.zerocarbon-biz-table td span{
  font-size:0.9em; line-height:1.6;
}
table.zerocarbon-biz-table td span.date{
  display:block;
}
figure.zerocarbon-biz-image05{
  width:240px;
  margin-left:40px;
}
figure.zerocarbon-biz-image06{
  width:94%;
  margin:0 auto;
}
figure.zerocarbon-biz-image07{
  width:360px;
  margin-left:40px;
}
figure.zerocarbon-biz-image08{
  width:90%;
  margin:0 auto 3em;
}
ul.zeb-merit{
  display:flex;
  justify-content:space-around;
  margin-bottom:0.5em;
}
ul.zeb-merit li{
//  width:24%;
  font-size:0.95em; line-height:3.2; font-weight:700;
  color:#fff;
  text-align:center;
//  border:1px solid var(--key-color02);
  background:var(--main-color);
  border-radius:11px;
  padding:0 2em;
}
.zerocarbon-index{
  border:1px solid #ccc;
  display:flex;
  justify-content:space-between;
  padding:30px 50px;
  position:relative;
}
section .zerocarbon-index .title-index{
  font-family:var(--eng-font);
  font-size:1.1em; line-height:1.6; font-weight:700;
  color:#666;
  margin-right:4em;
//  padding-top:2.4em;
  position:relative;
}
/*
section .zerocarbon-index h3::before{
  content:"";
  width:calc(400px * 0.25); height:calc(148px * 0.25);
  background-image:url(../../img/zerocarbon/logo.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0; left:0;
}
*/
.zerocarbon-index > ol.decimal-list{
  flex:1;
}
.zerocarbon-index ol.decimal-list li a{
  color:var(--base-color);
}
.zerocarbon-index ol.decimal-list li.active > a{
  font-weight:700;
}
nav#zerocarbon-bottom ul{
  display:flex;
  justify-content:center;
  margin-top:60px;
  padding-top:30px;
  border-top:1px dashed #999;
}
nav#zerocarbon-bottom ul li:not(:first-child)::before{
  content:"｜";
  margin:0 1.0em;
}
nav#zerocarbon-bottom ul li a{
  display:inline-block;
  text-decoration:none;
  font-size:0.85em; line-height:1.6;
  color:var(--base-color);
  position:relative;
}
nav#zerocarbon-bottom ul li a:hover{
  text-decoration:underline;
  color:var(--link-color);
}
nav#zerocarbon-bottom ul li.prev a::after{
  content:"";
  border-right:0.4em solid #999;
  border-top:0.4em solid transparent;
  border-bottom:0.4em solid transparent;
  position:absolute;
  top:0.4em; left:-1em;
}
nav#zerocarbon-bottom ul li.prev a:hover::after{
  border-right-color:var(--link-color);
}
nav#zerocarbon-bottom ul li.next a::after{
  content:"";
  border-left:0.4em solid #999;
  border-top:0.4em solid transparent;
  border-bottom:0.4em solid transparent;
  position:absolute;
  top:0.4em; right:-1em;
}
nav#zerocarbon-bottom ul li.next a:hover::after{
  border-left-color:var(--link-color);
}

section.archive{
  margin-bottom:4rem;
}
section.archive > .archive-title{
  margin-bottom:1em;
  position:relative;
}
section.archive > .archive-title > h2{
  font-size:1.75em; line-height:1.8; font-weight:500;
  letter-spacing:0.15em;
  text-transform:capitalize;
}
section.archive > .archive-title > .eng{
  font-size:0.95em; line-height:2;
  color:#666;
  color:var(--key-color);
  text-transform:capitalize;
  opacity:0.9;
}
section.archive > .event-archive::before{
  content:"";
  width:60px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_event.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.6em; left:calc(50% + 4.6em);
}
section.archive > .practitioner-archive::before{
  content:"";
  width:72px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_practitioner.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:-0.5em; left:calc(50% + 9.8em);
}
section.archive > .project-archive::before{
  content:"";
  width:50px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/icon_project.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.5em; left:calc(50% + 6.0em);
}

nav#tag-menu{
}
nav#tag-menu ul{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
nav#tag-menu ul li{
  font-size:0.85em; line-height:1.6;
  text-transform:capitalize;
  margin:0.2em 0.3em;
}
nav#tag-menu ul li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
//  border:1px solid #999;
  border:none;
  border-radius:9999px;
  padding:0 0.5em;
  cursor:pointer;
}
nav#tag-menu ul li a::before{
  content:"#";
}
nav#tag-menu ul li a:hover{
  color:var(--link-color);
}
nav#tag-menu ul li button{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  border:1px solid #999;
  border-radius:9999px;
  padding:0 1.25em;
  cursor:pointer;
}
nav#tag-menu ul li button:hover{
  border-color:transparent;
  background:var(--link-color);
  color:#fff;
}
section.archive .pagenavi-box .wp-pagenavi{
  justify-content:center;
}
nav#tag-menu .select-wrapper{
  width:280px;
  margin:0 auto;
  background:#fff;
}
nav#tag-menu .select-wrapper select{
  color:#999;
}

/* くらしふとしたくなったら */
section.joinus-description{
  margin-bottom:0;
}
#main section.joinus-description{
}
.kurashi-futo-lead{
  margin-bottom:3em;
}
.kurashi-futo-lead > h2{
  font-size:1.8em; line-height:1.8;
  font-weight:500;
  margin-bottom:0.5em;
}
.kurashi-futo-lead > h3{
  font-size:1.1em; line-height:2.0; font-weight:500;
  margin-bottom:1.5em;
}
ul.joinus-list{
  display:flex;
  justify-content:center;
  margin:50px auto;
}
ul.joinus-list li{
  box-sizing:border-box;
  width:26%;
  margin:0 1%;
  padding:30px 30px;
  border:1px solid var(--main-color);
  border-radius:7px;
}
ul.joinus-list li .text{
  margin-bottom:48px;
  position:relative;
}
ul.joinus-list li .text::before{
  content:"";
  width:16px; height:16px;
  background:#ccc;
  position:absolute;
  bottom:-12px; left:50%;
  transform:translate(-50%, 100%);
}
ul.joinus-list li .text::after{
  content:"";
  border-top:12px solid #ccc;
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  position:absolute;
  bottom:-28px; left:50%;
  transform:translate(-50%, 100%);
}
ul.joinus-list li .goal{
}
ul.joinus-list li .goal strong{
  font-size:1.4em; line-height:1.8;
  color:var(--key-color);
}
.joinus-application{
  display:inline-block;
  margin:0 auto;
}
.joinus-application a{
  display:block;
  text-decoration:none;
  border:2px solid #69bfab;
  padding:20px 4em;
  font-size:1.15em; line-height:1.8; font-weight:700;
  color:var(--base-color);
  border-radius:9999px;
  overflow:hidden;
  position:relative;
  transition:0.1s ease-in;
}
.joinus-application a:hover{
  color:#fff;
  transition:0.1s ease-in;
}
.joinus-application a span{
  position:relative;
}
.joinus-application a::after{
  content:"";
  border-left:0.4em solid #69bfab;
  border-top:0.4em solid transparent;
  border-bottom:0.4em solid transparent;
  position:absolute;
  top:50%; right:1.8em;
  transform:translateY(-50%);
  transition:0.1s ease-in;
}
.joinus-application a:hover::after{
  border-left-color:#fff;
  transition:0.1s ease-in;
}
.joinus-application a::before{
  content:"";
  width:100%; height:100%;
  background:#69bfab;
  position:absolute;
  top:0; left:0;
  transform:scaleX(0);
//  transform-origin:left;
  transition:0.1s ease-in;
}
.joinus-application a:hover::before{
  transform:scaleX(1);
  transition:0.1s ease-in;
}

.joinus-group-link{
  margin-top:1em;
}
.joinus-group-link a{
  font-weight:700;
  color:var(--base-color);
  position:relative;
  padding-left:0.4em;
}
.joinus-group-link a::before{
  content:"";
  border-left:0.4em solid var(--base-color);
  border-top:0.4em solid transparent;
  border-bottom:0.4em solid transparent;
  position:absolute;
  top:50%; left:-0.4em;
  transform:translateY(-50%);
}
.joinus-group-link a:hover{
  color:var(--link-color);
}
.joinus-group-link a:hover::before{
  border-left-color:var(--link-color);
}

ul.joinus-menu{
  display:flex;
  justify-content:space-between;
  position:relative;
}
ul.joinus-menu li{
  box-sizing:border-box;
  width:32%;
  margin:0;
}
ul.joinus-menu li a{
  display:block;
  text-decoration:none;
  font-size:1.1em; line-height:40px; font-weight:700;
  color:#888;
  padding:0.5em 0.5em;
  position:relative;
  border-bottom:1px solid #999;
}
ul.joinus-menu li a:hover{
  color:var(--key-color);
  border-bottom:2px solid var(--key-color);
}
ul.joinus-menu li.active a{
  pointer-events:none;
  border-bottom:2px solid var(--key-color);
  color:#fff;
  background:var(--key-color);
  border-radius:5px 5px 0 0;
}
ul.joinus-menu li.active a::after{
  content:"";
  border-top:10px solid var(--key-color);
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  transform:translateX(-50%);
}

#joinus-container{
  padding:60px calc((100% - 1160px) / 2) 80px;
  background:#f6f6f6;
}
section.know{
  box-sizing:border-box;
  margin:0;
  padding:60px 40px;
  background:#fff;
  border-radius:0 0 5px 5px;
}
section.know h2{
  font-size:1.3em; line-height:2;
  color:var(--key-color02);
}
section.know h2::before,
section.know h2::after{
  display:inline-block;
  transform:scale(0.75,1);
  margin:0 0.3em;
}
section.know h2::before{
  content:"＼";
}
section.know h2::after{
  content:"／";
}
section.know h3{
  font-size:1.08em; line-height:1.6;
}
section.know ul.program-nagano{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  margin:20px auto 40px;
}
section.know ul.program-nagano li{
  width:40%;
  margin:0 15px;
  border:1px solid var(--key-color);
  border-radius:5px;
}
section.know ul.program-nagano li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  padding:35px 30px 30px;
  transition:0.2s;
}
section.know ul.program-nagano li a:hover{
  background:rgba(32,89,169,0.04);
  transition:0.1s;
}
section.know ul.program-nagano li a figure{
  width:100%; height:100px;
  margin-bottom:25px;
}
section.know ul.program-nagano li a figure img{
  width:auto; height:100%;
  margin:0 auto;
}
section.know ul.program-nagano li a:hover h3{
  text-decoration:underline;
  color:var(--key-color);
}
section.know ul.program-nagano li a p{
  font-size:0.9em; line-height:1.6;
  margin-bottom:0;
}
ul.nagano-field-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  margin:5px 0;
}
ul.nagano-field-list li{
  width:30%;
  border:1px solid #999;
  border-radius:5px;
  margin:5px 0.5%;
}
ul.nagano-field-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  padding:20px 20px;
  position:relative;
}
ul.nagano-field-list li a::before{
  display:block;
  content:"";
  width:68px; height:auto;
  margin:0 auto 10px;
  aspect-ratio:1/1;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}
ul.nagano-field-list li:nth-child(1) a::before{
  background-image:url(../../img/joinus/know/icon_field01.png);
}
ul.nagano-field-list li:nth-child(2) a::before{
  background-image:url(../../img/joinus/know/icon_field02.png);
}
ul.nagano-field-list li:nth-child(3) a::before{
  background-image:url(../../img/joinus/know/icon_field03.png);
}
ul.nagano-field-list li:nth-child(4) a::before{
  background-image:url(../../img/joinus/know/icon_field04.png);
}
ul.nagano-field-list li:nth-child(5) a::before{
  background-image:url(../../img/joinus/know/icon_field05.png);
}
ul.nagano-field-list li:nth-child(6) a::before{
  background-image:url(../../img/joinus/know/icon_field06.png);
}
ul.nagano-field-list li a h4{
  color:var(--key-color);
}
ul.nagano-field-list li a:hover h4{
  text-decoration:underline;
}
ul.nagano-field-list li a p{
  font-size:0.85em; line-height:1.6;
  margin-bottom:0;
}
section.know ul.joinus-website-list{
  margin:20px auto 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
section.know ul.joinus-website-list li{
  width:30%;
  margin:0 1.5% 30px;
}
section.know ul.joinus-website-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
section.know ul.joinus-website-list li a figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border:1px solid #ccc;
  border-radius:5px;
  overflow:hidden;
  margin-bottom:0.5em;
}
section.know ul.joinus-website-list li a .site-name{
  font-size:0.95em; line-height:1.6; font-weight:700;
  color:var(--link-color);
  margin-bottom:0.25em;
}
section.know ul.joinus-website-list li a:hover .site-name{
  text-decoration:underline;
}
section.know ul.joinus-website-list li a p{
  font-size:0.85em; line-height:1.6;
  margin-bottom:0;
}

/* くらしふと信州とは */
#main section.about{
}
section.about .about-title{
  font-size:1.1em; line-height:1.8; font-weight:700;
  margin-bottom:1em;
}
section.about > h2{
  font-size:1.7em; line-height:1.8;
  font-weight:500;
  margin-bottom:0.6em;
}
section.about figure.about-image{
  width:60%;
  margin:0 auto 2em;
}
section.about figure.flag{
  box-sizing:border-box;
  width:400px;
  float:right;
  padding:0.5em 3em 0;
  margin:0 0 0 1.0em;
  text-align:center;
}
section.about .logo-description > p{
  margin-bottom:2.2em;
}
section.about .logo-description > p > span.subtitle{
  display:block;
  margin-bottom:0.6em;
}
#main section.about-joinus{
  text-align:center;
  border:1px solid #ccc;
  border-radius:5px;
  padding:3.0em 0;
}
#main section.about-joinus ul.joinus-list li{
  width:28%;
  padding:20px 20px;
}

/* 登録企業・団体 */
.group-menu{
  margin:5em auto 0;
}
.group-count{
  display:inline-block;
  background:#f9f9f9;
  padding:1.5em 4em 2em;
  margin:3em auto 1em;
  text-align:center;
  border-radius:7px;
}
.group-count > p{
  font-weight:700;
  margin-bottom:0.25em;
}
.group-count > ul.count-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
.group-count > ul.count-list > li:not(:last-child)::after{
  content:"/";
  margin:0 0.8em;
}
ul.group-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  margin:2.5em 0;
}
ul.group-list li{
  box-sizing:border-box;
  width:20%;
  border:1px solid #ccc;
  margin:0 1% 1.5em;
}
ul.group-list li a,
ul.group-list li .group-box{
  display:block;
  width:100%; height:auto;
  aspect-ratio:1/1;
  position:relative;
}
ul.group-list li .text-box{
  width:80%;
  position:absolute;
  top:50%; left:10%;
  transform:translateY(-50%);
  text-align:center;
}
ul.group-list li .text-box figure{
  width:80%; height:auto;
  aspect-ratio:3/2;
  margin:0 auto 0.5em;
}
ul.group-list li .text-box figure img{
  width:100%; height:100%;
  object-fit:contain;
}
ul.group-list li .text-box .group-name{
  font-size:0.95em; line-height:1.6; font-weight:700;
}
ul.group-list li a .text-box .group-name{
  color:var(--base-color);
}
ul.group-list li a:hover .text-box .group-name{
  color:var(--link-color);
  text-decoration:underline;
}

/* 参加登録者向け プロジェクトと学び */
.registrant ul.flow-list{
  display:flex;
  justify-content:space-between;
}
.registrant ul.flow-list > li{
  box-sizing:border-box;
  width:22.5%;
  border:2px solid var(--main-color);
  border-radius:13px;
  position:relative;
  font-size:0.9em; line-height:1.6;
  text-align:center;
  padding:1.5em 1.2em;
}
.registrant ul.flow-list.flow2025 > li{
  width:31.2%;
  padding:2.0em 1.2em;
}
.registrant.learning-box ul.flow-list > li{
  border-color:rgba(146,193,27,0.8);
  padding:4em 1.2em;
}
.registrant ul.flow-list > li:not(:last-child)::after{
  content:"";
  width:0.6em; height:auto;
  aspect-ratio:1/1;
  border-top:2px solid var(--main-color);
  border-right:2px solid var(--main-color);
  position:absolute;
  top:50%; right:-1.25em;
  transform:translateY(-50%) rotate(45deg);
}
.registrant.learning-box ul.flow-list > li:not(:last-child)::after{
  border-top-color:rgba(146,193,27,0.8);
  border-right-color:rgba(146,193,27,0.8);
}
.registrant ul.flow-list > li > div{
  font-weight:700;
  position:relative;
  top:50%; left:0;
  transform:translateY(-50%);
}
.registrant ul.flow-list > li > div > ul > li:not(:last-child)::after{
  content:"";
  width:0; height:0;
  border-top:0.6em solid var(--main-color);
  border-left:0.6em solid transparent;
  border-right:0.6em solid transparent;
  display:block;
  margin:0.75em auto 0.5em;
}
.registrant .arrow{
  box-sizing:border-box;
  width:100%; height:2.4em;
  margin:1em 0 2em;
  font-size:0.95em; line-height:2.4; font-weight:700;
  color:#fff;
  text-align:center;
  background:var(--main-color);
  position:relative;
}
.registrant.learning-box .arrow{
  background:rgba(146,193,27,0.8);
}
.registrant .arrow::before{
  content:"";
  border-left:3.5em solid transparent;
  border-top:1.2em solid #fff;
  position:absolute;
  top:0; right:0;
}
.registrant .arrow::after{
  content:"";
  border-left:3.5em solid transparent;
  border-bottom:1.2em solid #fff;
  position:absolute;
  bottom:0; right:0;
}
.registrant .flow-description{
  box-sizing:border-box;
  width:100%;
  padding:2.5em 3em;
  background:rgba(104,169,207,0.08);
}
.registrant.learning-box .flow-description{
  background:rgba(146,193,27,0.05);
}
.registrant .flow-description > ol{
  margin-bottom:2em;
}

/* くらしふとカンファレンス2024 */
#container.conference2024{
  padding:0 0 60px;
}
#container.conference2024 > #conference-title{
  width:100%; height:640px;
  background-image:url(../../img/conference2024/title_bg.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  display:grid;
  align-items:center;
}
#container.conference2024 > #conference-title > h2{
  width:100%;
  background:rgba(255,255,255,0.75);
  padding:1em 0;
}
#container.conference2024 > #conference-title > h2 > figure{
  width:940px; height:auto;
  margin:0 auto;
  position:relative;
}
#container.conference2024 > #conference-title > h2 > figure > figcaption{
  font-family:var(--eng-font);
  font-size:1.6em; line-height:1.25;
  font-weight:700;
  color:#fff;
  width:164px; height:auto;
  aspect-ratio:1/1;
  border-radius:100%;
  display:grid;
  place-content:center;
  background:var(--key-color02);
  position:absolute;
  bottom:0; right:0;
  transform:translate(30%,10%) rotate(3deg);
}
#container.conference2024 > #conference-title > h2 > figure > figcaption > .year{
  font-size:0.5em;
}
#container.conference2024 > #conference-title > h2 > figure > figcaption .week,
#container.conference2024 > #conference-title > h2 > figure > figcaption > .time{
  font-size:0.6em;
}
#container.conference2024 > #conference-title > h2 > figure > figcaption .week{
  margin-left:0.25em;
}
#container.conference2024 > #main{
  width:100%;
  margin:0 auto;
  position:relative;
}
#container.conference2024 > #main::before{
  content:"";
  width:40vw; height:auto;
  aspect-ratio:1/1;
  clip-path:polygon(0 0, 0% 100%, 100% 0);
  background:rgba(31,163,159,0.03);
  position:absolute;
  top:0; left:0;
}
#container.conference2024 > #main > section.conference{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
#container.conference2024 > #main > section{
  box-sizing:border-box;
  margin:0 auto;
  padding:80px calc((100% - 940px) / 2) 0;
  position:relative;
}
#container.conference2024 > #main > section.section02::after,
#container.conference2024 > #main > section.section04::after,
#container.conference2024 > #main > section.section06::after{
  content:"";
  width:25vw; height:auto;
  aspect-ratio:1/3;
  clip-path:polygon(0 50%, 100% 100%, 100% 0);
  background:rgba(31,163,159,0.03);
  position:absolute;
  right:0;
}
#container.conference2024 > #main > section.section02::after{
  bottom:0;
  transform:translateY(10%);
}
#container.conference2024 > #main > section.section04::after,
#container.conference2024 > #main > section.section06::after{
  top:0;
  transform:translateY(-50%);
}
#container.conference2024 > #main > section.section03::after,
#container.conference2024 > #main > section.section05::after{
  content:"";
  width:25vw; height:auto;
  aspect-ratio:1/3;
  clip-path:polygon(100% 50%, 0 100%, 0 0);
  background:rgba(31,163,159,0.03);
  position:absolute;
  left:0;
  transform:translateY(-50%);
}
#container.conference2024 > #main > section.section03::after{
  top:50%;
}
#container.conference2024 > #main > section.section05::after{
  bottom:0;
}

#container.conference2024 section h2.conference-title{
  font-size:1.35em; line-height:1.8;
  margin-bottom:1.5em;
}
#container.conference2024 section h2.conference-title span{
  display:inline-block;
  border-bottom:2px solid var(--base-color);
}
#container.conference2024 section h2.conference-title strong{
  display:block;
  font-size:2.15rem; line-height:2.4;
  color:var(--key-color);
}
#container.conference2024 section.conference > .title{
  font-size:1.6em; line-height:2.0;
  letter-spacing:0.2em;
  writing-mode:vertical-rl;
  border-right:1px solid #999;
  padding-top:0.2em;
  margin-right:2.0em;
}
#container.conference2024 section.conference > .text-box{
  flex:1;
  padding-bottom:2em;
  position:relative;
  z-index:10;
}
section.conference ul.conference-topics-list li{
  padding-bottom:1.5em;
  margin-bottom:1.5em;
  border-bottom:1px dashed #ccc;
}
section.conference ul.conference-topics-list li a{
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  color:var(--base-light-color);
}
section.conference ul.conference-topics-list li a > .entry-date{
  width:110px;
  font-size:0.85em; line-height:1.8;
  padding-top:0.15em;
}
section.conference ul.conference-topics-list li a > .entry-title{
  flex:1;
  font-weight:700;
  color:var(--link-color);
}
section.conference ul.conference-topics-list li a:hover > .entry-title{
  text-decoration:underline;
}
section.conference .conference-button{
  text-align:right;
}

section.conference table.conference-table{
  border-collapse:collapse;
  margin-bottom:1.5em;
}
section.conference table.conference-table th{
  font-size:0.95em; line-height:1.8;
  color:#666;
  vertical-align:top;
  padding:0.05em 3em 1.05em 0;
}
section.conference table.conference-table td{
  font-size:1.0rem; line-height:1.8;
  padding:0 0 1em;
}
section.conference table.conference-table ul.program-list li{
  display:flex;
}
section.conference table.conference-table ul.program-list li > .time{
  margin-right:0.5em;
}
section.conference .application{
  display:inline-block;
  width:65%;
  position:relative;
}
section.conference .application::after{
  content:"";
  width:100px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/conference2024/qr_kurashift2024.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0;
  transform:translate(180%,-50%);
}
section.conference .application a{
  display:block;
  text-decoration:none;
  font-size:1.1em; line-height:2.0; font-weight:700;
  color:var(--base-color);
  letter-spacing:0.25em;
  text-align:center;
  padding:1em 0;
  border:2px solid var(--base-color);
  transition:0.2s;
  position:relative;
}
section.conference .application a:hover{
  letter-spacing:0.08em;
  transition:0.2s;
}
section.conference .application a::after{
  content:"";
  border-left:0.4em solid #666;
  border-top:0.4em solid transparent;
  border-bottom:0.4em solid transparent;
  position:absolute;
  top:50%; right:1.8em;
  transform:translateY(-50%);
}
section.conference .application + p{
  width:65%;
  font-size:0.9em; line-height:1.8;
  text-align:center;
  margin-top:1em;
}
section.conference ul.guest-list + .application{
  margin-top:3.5em;
}
section.conference table.timetable{
  width:100%;
  border-collapse:collapse;
  margin-bottom:5em;
}
section.conference table.timetable caption{
  font-size:0.9em; line-height:1.8;
  text-align:right;
  margin-bottom:1.0em;
}
section.conference table.timetable thead tr{
  border-bottom:3px double #ccc;
  background:rgba(0,0,0,0.02);
}
section.conference table.timetable thead tr th{
  font-size:0.85em; line-height:1.8; font-weight:700;
  color:#666;
  text-align:center;
  padding:0.5em 0;
}
section.conference table.timetable thead tr th:nth-of-type(2){
  border-left:1px dashed #ccc;
  border-right:1px dashed #ccc;
}
section.conference table.timetable tbody tr:not(:last-of-type){
  border-bottom:1px solid #ccc;
}
section.conference table.timetable tbody tr{
  background:rgba(0,0,0,0.015);
}
section.conference table.timetable tbody tr:nth-of-type(1),
section.conference table.timetable tbody tr:nth-of-type(2),
section.conference table.timetable tbody tr:nth-of-type(6),
section.conference table.timetable tbody tr:nth-of-type(7),
section.conference table.timetable tbody tr:nth-of-type(9){
  background:#fff;
}
section.conference table.timetable tbody tr th{
  font-size:0.9em; line-height:1.8; font-weight:500;
  white-space:nowrap;
  text-align:center;
  vertical-align:top;
  padding:22px 15px;
}
section.conference table.timetable tbody tr td{
  padding:20px 25px;
  border-left:1px dashed #ccc;
  border-right:1px dashed #ccc;
}
section.conference table.timetable tbody tr td h3{
  flex:1;
  font-size:1.2rem; line-height:1.6;
  color:var(--key-color02);
}
section.conference table.timetable tbody tr td h3 > span{
  display:block;
  font-size:0.8em; line-height:1.8; font-weight:500;
  color:var(--base-color);
}
section.conference table.timetable tbody tr td .program-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
section.conference table.timetable tbody tr td .program-title > figure{
  width:80px;
  margin-left:1.0em;
}
section.conference table.timetable tbody tr td > p > a{
  color:#d00;
}
section.conference table.timetable tbody tr td > p > a > strong{
  margin-left:0.5em;
}
section.conference table.timetable tbody tr td > .guest{
  display:flex;
  justify-content:space-between;
  flex-direction:column;
  margin-top:0.5em;
}
section.conference table.timetable tbody tr td > .guest > p{
  font-size:0.85em; line-height:1.8;
  white-space:nowrap;
  margin-right:0.5em;
  margin-bottom:0;
}
section.conference table.timetable tbody tr td > .guest > .text-box{
  flex:1;
}
table.timetable tbody tr td > .guest .speaker:not(:first-of-type){
  margin-top:0.3em;
}
table.timetable tbody tr td > .guest .speaker h4{
  display:inline-block;
  margin-right:0.5em;
  font-size:1.0rem; line-height:1.4;
}
table.timetable tbody tr td > .guest .speaker p{
  display:inline-block;
  font-size:0.85rem; line-height:1.6;
  margin-bottom:0;
}
table.timetable tbody tr td > .guest .speaker.flex{
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:0.5em;
}
table.timetable tbody tr td > .guest .speaker.flex > figure{
  width:100px; height:auto;
  aspect-ratio:1/1;
  border-radius:0.5rem;
  overflow:hidden;
  margin-right:0.8em;
}
table.timetable tbody tr td > .guest .speaker.flex > .text-box{
  flex:1;
}
table.timetable tbody tr td > .text-link{
  font-size:0.85rem; line-height:1.6;
  text-align:right;
  margin-top:0.5em;
}
table.timetable tbody tr td > .text-link a{
  color:var(--base-color);
}
section.conference table.timetable tbody tr td > p{
  font-size:0.9em; line-height:1.8;
  margin-bottom:0;
}
section.conference ul.guest-list{
  display:flex;
  flex-wrap:wrap;
}
section.conference ul.guest-list > li{
  width:29%;
  margin-bottom:2em;
  margin-right:6.5%;
}
section.conference ul.guest-list > li:nth-child(3n){
  margin-right:0;
}
section.conference ul.guest-list > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
section.conference ul.guest-list > li figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:1/1;
  border-radius:0.5rem;
  overflow:hidden;
  margin-bottom:0.5em;
}
section.conference ul.guest-list > li figure > img{
  transition:0.25s;
}
section.conference ul.guest-list > li > a:hover figure > img{
  transform:scale(1.05);
  transition:0.25s;
}
section.conference ul.guest-list > li figure.dummy{
  border:1px solid #ededed;
  padding:4.5em;
}
section.conference ul.guest-list > li .text-box > h3{
  font-size:1.0rem; line-height:1.8;
}
section.conference ul.guest-list > li > a h3{
  color:var(--link-color);
}
section.conference ul.guest-list > li > a:hover h3{
  text-decoration:underline;
}
section.conference ul.guest-list > li .text-box > p{
  font-size:0.85em; line-height:1.6;
  margin-bottom:0;
}
section.conference ul.presentation-theme-list{
  margin:1em 0;
}
section.conference ul.presentation-theme-list li{
  list-style:disc outside;
  margin-left:1.25em;
  margin-bottom:0.5em;
}
section.conference ul.presentation-theme-list li .city{
  font-size:0.85em; line-height:1.6; font-weight:700;
  color:var(--base-light-color);
//  margin-right:1.0em;
}
section.conference ul.presentation-theme-list li .theme{
//  flex:1;
  display:block;
  font-size:0.95em; line-height:1.6;
}
section.conference .gmap-box{
  width:100%; height:auto;
  aspect-ratio:3/2;
}
section.conference .gmap-box iframe{
  width:100%; height:100%;
  border:none;
}

.modal{
  display:none;
  width:100vw; height:100vh;
  position:fixed;
  top:0; left:0; z-index:100000 !important;
  background:rgba(255,255,255,0.9);
}
.modal-box{
  box-sizing:border-box;
  width:60vw; height:auto;
  max-height:70vh;
  padding:2em 2.5em;
  padding-right:1.0em;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  box-shadow:4px 4px 8px #999;
}
.modal-contents{
  width:100%; height:auto;
  max-height:calc(70vh - 4em);
  display:flex;
  justify-content:space-between;
}
.modal-contents > figure{
  width:30%;
  margin-right:2.0em;
}
.modal-contents > .text-box{
  flex:1;
  height:auto;
  overflow:scroll;
  text-align:left;
  padding-right:1.5em;
}
.modal-contents > .text-box > h3{
  font-size:1.2rem; line-height:1.8; font-weight:500;
  margin-bottom:0.5em;
}
.modal-contents > .text-box > p{
  font-size:0.95em; line-height:1.8;
  margin-bottom:1.5em;
}
.modal-contents > .text-box > ul.disc-list > li{
  font-size:0.9em; line-height:1.8;
}
.modal-box > .modal-close{
  width:60px; height:auto;
  aspect-ratio:1/1;
  position:absolute;
  top:0; right:0;
  transform:translate(0,-100%);
  cursor:pointer;
//  background:#ccc;
}
.modal-box > .modal-close::before,
.modal-box > .modal-close::after{
  content:"";
  width:60%;
  border-top:2px solid #666;
  position:absolute;
  top:50%; left:50%;
}
.modal-box > .modal-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.modal-box > .modal-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.conference2024 .conference-contact{
  box-sizing:border-box;
  width:100%;
  border:1px solid #ccc;
  padding:2.5em 3.5em;
  background:rgba(255,255,255,0.6);
  position:relative;
  z-index:2;
  margin-bottom:80px;
}
.conference2024 .conference-contact > .contact{
  display:flex;
  justify-content:space-between;
  font-size:0.95em; line-height:1.8;
}
.conference2024 .conference-contact > .contact:not(:first-of-type){
  margin-top:1.5em;
}
.conference2024 .conference-contact > .contact > .label{
  margin-right:2em;
}
.conference2024 .conference-contact > .contact > .text-box{
  flex:1;
}
.conference2024 .conference-contact ul.team-list{
  display:flex;
  flex-wrap:wrap;
}
.conference2024 .conference-contact ul.team-list li:not(:last-child)::after{
  content:"、";
  margin-right:0.25em;
}
.conference2024 .conference-contact ul.team-list li a{
  text-decoration:none;
  color:var(--base-color);
}
.conference2024 .conference-contact ul.team-list li a:hover{
  text-decoration:underline;
  color:var(--link-color);
}
.conference2024 .movie-box{
  margin-top:3.5em;
}
.conference2024 .movie-box h3{
  position:relative;
  padding-left:2em;
}
.conference2024 .movie-box h3::before{
  content:"";
  width:1.6em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/sns/youtube/normal/colored.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
.conference2024 ul.youtube-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
.conference2024 ul.youtube-list > li{
  width:48.5%;
  margin:0 3% 2.5em 0;
}
.conference2024 ul.youtube-list > li:nth-child(2n),
.conference2024 ul.youtube-list > li:last-child{
  margin-right:0;
}
.conference2024 ul.youtube-list > li > figure{
  width:100%; height:auto;
  aspect-ratio:16/9;
}
.conference2024 ul.youtube-list > li > figure > iframe{
  width:100%; height:100%;
}
.conference2024 ul.youtube-list > li > figcaption{
  font-size:0.9em; line-height:1.8;
  text-align:center;
}
