@charset "utf-8";

	/* ========================================
	    - ページ全体の設定 -
	======================================== */

html {
    font-size: 16px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Yu Gothic", "游ゴシック", "メイリオ", "MS P Gothic", "MS Ｐゴシック", sans-serif;
}
* {
    box-sizing: border-box;
}
main {
    padding-top: 90px;
  }
p,li {
    line-height: 1.7;
}
dt,dd {
    line-height: 2.3;
}
a:link {
    color: #1a1a1a;
    text-decoration: none;
}
a:visited {
    color: #1a1a1a;
    text-decoration: none;
}
a:hover {
    color: #808080;
    text-decoration: none
}
a:active {
    color: #1a1a1a;
    text-decoration: none;
}
img {
    max-width: 100%;
}
.container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}
.headline01 {
    width: 100%;
    max-width: 300px;
    margin: 0px auto 50px;
    padding: 35px 0;
    background-color: #004080;  
    text-align: center;
    font-size: 1.7em;
    letter-spacing: 0.05em;
    color: #fff;
}
.headline02 {
    margin: 50px 0 24px;  
    font-size: 1.2em;
    border: 1px solid #272727;
    border-left: 15px solid #272727;
    padding: 7px 0 7px 15px;  
}
.headline03 {
    margin: 24px 0; 
    border-bottom: 1px solid #272727;
    border-left: 0.8em solid #272727;
    padding: 6px 0 6px 15px; 
    line-height: 1.7;    
}
.headline04 {
    margin: 24px 0;  
    font-weight: bold;
    font-size: 1.1em;
    border-bottom: 1px solid #272727;
    padding: 3px 0;  
    line-height: 1.7;     
}
table.deco {
    border-collapse: collapse;
    margin: 0 auto;
}
table.deco td,table.deco th,table.deco li {
    line-height: 1.7;
}
table.deco td {
    border: 1px solid #808080;
    padding: 20px;
    background-color: #e6f3ff;
}
table.deco th {
    border: 1px solid #808080;
    padding: 20px;
    width: 92px;
    background-color: #f3faff;
    text-align: left;
    vertical-align: top;
}
table.no-deco th {
    font-weight: normal;
}
table.no-deco td {
    line-height: 1.7;
}
table.t-2em th {
    width:2em;
}
table.t-3em th {
    width:3em;
    text-align-last: justify;
}
table.t-3em td {
    padding-left: 1.5em;
}
table.t-4em th {
    display: inline-block;
    width: 4em;
    margin-right: 12px;
    padding: 3px 5px;
    background-color: #272727;
    color: #fff;
    font-size: 0.9em;
    vertical-align: 1px;
    border-radius: 2px;
}
table.t-6em th {
    width:6em;
    text-align: left;
}
.serif {
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,'Noto Serif JP',メイリオ,Meiryo,serif;
}
small {
    font-size: 0.8em; 
    font-weight: normal; 
}
#u-bar {
    border-bottom: 1px solid #808080;
}
a.pdf {
    border-bottom: 1px solid #808080;
}
.pdf::after {
    content: '\f1c1';
    font: var(--fa-font-solid);
    padding-left: 5px;
    color: #cc1500;
}
a.word {
    border-bottom: 1px solid #808080;
}    
.word::after {
    content: '\f1c2';
    font: var(--fa-font-solid);
    padding-left: 5px;
    color: #0036b3;
}
.pc-only {
    display: block;
}
.sp-only {
    display: none;
}
.sp500-only {
    display: none;
}
.sp500-none {
    display: block;
}
.anchor {
    padding-top: 100px;
    margin-top: -100px;
}
figcaption {
    margin-top: 3px;
    text-align: center;
    font-size: 0.9em;
    line-height: 1.7;
}
.btn a {
    display: block;
    width: 100%;
    max-width: 200px;
    height: 30px;
    margin: 20px 0 50px;
    padding-left: 20px;
    line-height: 30px;
    border-radius: 3px;
    background: #272727; 
    border: 1px solid #fff;
    color: #fff;
    transition: all .3s ease;
}
.btn a:hover {
    background: #fff;
    border: 1px solid #272727; 
    color: #272727; 
    transition: all .5s ease;
}
.btn a span {
    color: #fff;
    font-size: 1.6em;
    vertical-align: middle;
    transition: all .3s ease;
}
.btn a:hover span {
    color: #272727; 
    margin-left: 10px;
    transition: all .3s ease;
}
.violet-btn a {
    display: block;
    width: 100%;
    max-width: 200px;
    height: 30px;
    margin: 20px auto 0;
    padding-left: 15%;
    line-height: 30px;
    border-radius: 3px;
    background: #8080ff;
    border: 1px solid #fff;
    color: #fff;
    transition: all .3s ease;
}
.violet-btn a:hover {
    background: #fff;
    border: 1px solid #8080ff;
    color: #8080ff;
    transition: all .5s ease;
}
.violet-btn a span {
    color: #fff;
    font-size: 1.6em;
    vertical-align: middle;
    transition: all .3s ease;
}
.violet-btn a:hover span {
    color: #8080ff;
    margin-left: 10px;
    transition: all .3s ease;
}

	/* ========================================
	    - headerの設定 -
	======================================== */

header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10000;
}
.header-top {
    background-color: #272727;
}
.top-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    height: 30px;
    font-size: 13px;
    color: #fff;
    position: relative;
}
.top-container p {
    position: absolute;
    top: 5px;
}
.sub-nav {
    display: flex;
    justify-content: right;
    list-style-type: none;
}
.sub-nav li {
    margin-top: 5px;
}
.sub-nav li+li {
    padding-left: 25px;
}
.sub-nav a {
    color: #fff;
}
.sub-nav-arrow a:hover {
    border-bottom: 2px solid #fff;
    padding-bottom: 2px;
}
.sub-nav-arrow::before {
    content: '\f138';
    font: var(--fa-font-solid);
    padding-right: 5px;
    font-size: 0.8em;
    color: #fff;
}
.sub-nav i {
    font-size: 1.5em;
}
.sub-nav i:hover {
    opacity: 0.8;
}
.header-bottom {
    height: 60px;
    background-color: #fff;
    box-shadow: 0 2px 7px #b3b3b3;
}
.bottom-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}
#logo {
    position: absolute;
    top: 12px;
    width: 320px;
}
#drawer-toggle {
    display: none;
    z-index: 200;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
}
#drawer-toggle span {
    position: absolute;
    top: 19px;
    left: 17px;
    display: inline-block;
    width: 30px;
    height: 3px;
    border-radius: 2px;
    background-color: #666;
    vertical-align: top;
}
#drawer-toggle span:nth-child(2) {
    margin-top: 10px;
}
#drawer-toggle span:last-child {
    margin-top: 20px;
}
#drawer-toggle.open span {
    top: 29px;
    left: 14px;
    width: 35px;
    margin: 0;
}
#drawer-toggle.open span:first-child {
    transform: rotate(45deg);
}
#drawer-toggle.open span:nth-child(2) {
    display: none;
}
#drawer-toggle.open span:last-child {
    transform: rotate(-45deg);
}
#global-nav ul {
    display: flex;
    justify-content: space-around;
    width: 55%;
    position: absolute;
    top: 20px;
    right: 0;
}
#global-nav a {
    display: block;
    width: 110px;
    height: 40px;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 40px;
}
#global-nav a .line  {
    position: relative;
    text-align: center;
}
#global-nav a .line::before {
    background: #8080ff;
    content: "";
    display: block;
    height: 2px;
    width: 0;
    transform: translateX(-50%);
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
    position: absolute;
    bottom: 0;
    left: 50%;
}
#global-nav a:hover .line::before  {
    width: 100px;
}
#global-nav li {
    list-style-type: none;
    position: relative; 
}
#global-nav li ul {
    display: block;
    z-index: -1;
    width: 160px;
    position: absolute;
    top: -70px;
    left: -25px; 
    transition: .5s; 
}
#global-nav li:hover ul {
    top: 40px;
    background-color: #1a1a1a;
    opacity: 0.9;
}
#global-nav li ul li {
    position: relative;
    padding-left: 40px;
    border-top: 1px solid #fff; 
}
#global-nav li ul li::before {
    content: '\f138';
    font: var(--fa-font-solid);
    position: absolute;
    top: 14px;
    left: 15px;
    font-size: 0.7em;
    color: #8080ff;
}
#global-nav li ul li a {
    width: 160px;
    color: #fff; 
}
#global-nav li ul li:hover {
    background-color: #606060; 
}
#sp-global-nav {
    display: none; 
}


	/* ========================================
	    - key-visualの設定 -
	======================================== */

.sp-visual {
    height: 300px;
    position: relative;
    background: url(../images/key-visual01.jpg) no-repeat center center /cover;
} 

     /* sliderの調整 */

.slider {
    visibility: hidden;
}
.slider.slick-initialized {
    visibility: visible;
}

	/* ========================================
	    - indexの設定 -
	======================================== */

    /* event bannerの設定 */

.sec01 {
    margin-top: 50px;
}
.event_btn a {
    display: block;
    margin: 80px auto 30px;
    padding: 15px 0;
    max-width: 850px;
    background-color: #8080ff;
    border-radius: 50px;
    font-size: 1.2em;
    text-align: center;
    line-height: 1.5;
    transition: background-color .5s ease;
    text-decoration: none;
    color: #fff;    
}
.event_btn a:hover {
    background-color: #3eebfe; 
}
.special-news {
    margin-top: 70px;
}
.event-container {
    width: 100%;
    max-Width: 850px;
    margin: 0 auto;  
}
   /* news and topicsの設定 */
   
span.color-btn {
   display: inline-block;
   width: 5em;
   text-align-last: justify;
   margin-right: 12px;
   color: #fff;
   background-color: #ff8000;
   font-size: 0.8em;
   font-weight: bold;
   padding: 0 5px;
   border-radius: 2px;
   vertical-align: 2px;
}
span.btn-blue {
   background-color: #0080ff;
}
span.btn-green {
   background-color: #008040;
}
#news ul {
    width: 100%;
    max-Width: 850px;
    margin: 0 auto;
    list-style: none;
}
#news li a {
    display: block;
    padding: 0.9em 0; 
}
#news li a:hover {
    background-color: #f3f3f3;
    color: #1a1a1a; 
}
#news li {
    border-top: 1px solid #808080;
}
#news li:last-child {
    border-bottom: 1px solid #808080;
}
#news span.ti-s {
    padding-right: 20px;
}
.index-btn {
    display: flex;
    justify-content: flex-end;
}

   /* [CIFER・コアの取り組み]の設定 */

.sec02 {
    padding: 60px 0 50px;
    background-color: #004080;
}
.sec-ttl {
    margin-bottom: 100px;
    font-size: 1.8em; 
    color: #fff;
    text-align: center; 
}
.sec-ttl h3 {
    margin-bottom: 0.4em;
}
.sec-ttl hr {
    width: 100%;
    max-width: 320px;
    margin: auto;
}
.sec-ttl p {
    margin-top: 0.4em;
    color: #8080ff;
    font-size: 0.6em;
}
.works {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.work {
    position: relative;
    border: 1px solid #fff;
    border-radius: 5px;
    padding: 20px;
}
.work img {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 150px;
    height: 150px;
    border-radius: 50%;
}
.work h4 {
    color: #fff;
    font-weight: bold;
    font-size: 1.3em;
    line-height: 1.3;
    text-align: center;
    padding: 85px 0 10px; 
}
.work p {
    color: #fff;
    text-align: justify;
}
.other-works {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-top: 35px;
}
.other-work {
    border: 1px solid #fff;
    border-radius: 5px;
    color: #fff;
    padding: 20px;
}
.other-work h4 {
    font-size: 1.2em;
    line-height: 1.2;
    text-align: center;
}
.other-work hr {
    width: 100%;
    max-width: 200px;
    margin: 5px auto 0 auto;
}
.other-work p {
    color: #8080ff; 
    text-align: center;
}
.other-works .violet-btn a {
    margin-top: 10px;
}

   /* 人材育成事業の設定 */

.sec03, .sec04 {
    margin: 50px 0;
}   
.ev-container {
    padding-left: 12%;   
    display: flex;
    align-items: flex-start;
}
.sec03 .img {
    width: 50%;
    margin-right: 30px;
}
.sec03 .txt {
    width: 50%;
}
.ev-container .btn {
    max-width: 160px;
    margin: 15px 0 0 auto;   
}
.ev-container .btn a {
    margin: 0;    
}

   /* [加入団体とSDGs]の設定 */

.sec04 ul, .sec05 ul {
    max-width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 50px;
}
.sec04 li, .sec05 li {
    list-style: none;
}
.sec05, .sec06 {
    margin: 50px 0 100px;
}

   /* YouTube、バナーの設定 */

.sec06 h3 {
    display: none;
}

   /* YouTube、バナーの設定 */

.bay-pr {
    display: flex;
    justify-content: space-around;
    border-top: 1px solid #272727;
    padding: 50px 6% 0 6%; 
    gap: 50px;   
}
.banner a:hover {
    opacity: .8;
}

   /* [gotopボタン]の設定 */

#gotop a {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #1a1a1a;
    color: #fff;
    text-align: center;
    font-size: 8px;
    font-weight: bold;
    line-height: 75px;
}
#gotop a:hover {
    background-color: #808080;
}
#gotop a::before {
    position:absolute;
    bottom:16px;
    right:14px;
    content:"";
    width:18px;
    height:18px;
    border-top:4px solid #fff;
    border-left:4px solid #fff;
    transform:rotate(45deg);
}
#footer {
    color: #fff;
}
.footer-contain {
    background-color: #1a1a1a; 
}
.footer-menws {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    padding: 50px 0;
}
.footer-menws a {
    color: #fff;
}
.footer-menws a:hover {
    color: #808080
}
.footer-menws li ul {
    margin-top: 7px;
}
.footer-menws li {
    list-style: none;
}
.footer-menw-a, .footer-menw-b, .footer-menw-c {
	flex-grow: 1;  
}
.footer-menw-a, .footer-menw-b {
	position: relative;  
    margin-right: 80px;
}
.footer-menw-a::after, .footer-menw-b::after {
	position: absolute;
	top: 0;
	left: 100%;
	margin: 0 40px;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #fff;
}
.footer-menw-ttl {
    border: 1px solid #fff;
    font-weight: bold;
    font-size: 0.7em;
    text-align: center;
    letter-spacing: 0.4em;
    margin-bottom: 15px;
}
.credit {
    background-color: #808080;  
    padding: 15px 0;
}
#footer .sub-nav {
    justify-content: center;
    font-weight: normal;
}
#footer .sub-nav img:hover {
    opacity: 0.5;
}
.copyright {
    text-align: center;
}

	/* ========================================
	    - その他のページの設定 -
	======================================== */
    
    /* その他ページ共通 */

.main {
    margin-top: 90px;
    padding-bottom: 10px;
    background: url(../images/back-img.jpg) no-repeat padding-box center top /100% auto;
}
.white-container {
    background-color: #fff;
    padding: 25px 25px 50px 25px;
    margin-bottom: 5ch;
}
.indent {
    padding-left: 8%;
    margin-bottom: 60px;
}

    /* admissionページ */

.about {
    margin: 100px auto 20px auto;
    padding-bottom: 15px;
    width: 100%;
    max-width: 250px;
    border-bottom: 1px solid #1a1a1a;
    text-align: center;
    font-size: 2em;
} 
.ad-btns {
    text-align: center;
    margin-bottom: 100px;
}
.ad-btn01, .ad-btn02 {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    position: relative;
    border-radius: 5px;
    line-height: 1.5;
}
.ad-btn01::after, .ad-btn02::after {
    content: '\f105';
    font: var(--fa-font-solid);
    position: absolute;
    top: 50%;
    right: 38px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 2em;
    transition: all .3s ease;
}
.ad-btn01 a, .ad-btn02 a {
    display: block;
    color: #fff;
    max-width: 300px;
    padding: 15px 50px 15px 0;
    border: 1px solid #fff;
    transition: all .3s ease;
}
.ad-btn01 {
    background-color: #004080;
}
.ad-btn02 {
    background-color:  #1a1a1a;
}
.ad-btn01 a:hover, .ad-btn02 a:hover {
    background-color: #fff;
    color:  #1a1a1a;
    border: 1px solid #1a1a1a;
    border-radius: 5px;
    transition: all .5s ease;
}
.ad-btn01:hover::after, .ad-btn02:hover::after {
    color:  #1a1a1a; 
    right: 30px;    
    transition: all .3s ease; 
}
.bold {
    font-size: 1.2em;
}
.indent li {
    list-style: none;
}
.entry-form a {
    background-color: #004080; 
    height: 50px;
    line-height: 50px;
    max-width: 500px;
    margin: 20px auto 150px;
    padding-left: 10%;
    font-size: 20px;
} 
.send-txt {
    max-width: 750px;
    margin: 80px auto;
    padding: 20px 50px;
    border: 1px solid #1a1a1a;
    border-radius: 5px;
    background-color: #f3f3f3;
}  
.send-txt p:first-child {
    margin: 0 auto 20px auto;
    padding: 3px 20px;
    border-radius: 2px;
    background-color: #272727; 
    text-align: center;
    color: #fff;  
} 
.space {
    margin-bottom: 100px;
}
#regular-change {
    padding-top: 50px;
}

    /* bannerページ */
.banner-download {
    margin: 50px 0;
    text-align: center;
}    
.banner-download a:hover {
    opacity: .7;
}

    /* contactページ */

.contact table {
    margin-top: 50px; 
}

    /* english */
    
.eng {
    display: flex;
}
.eng-ttl {
    width: 75%;
    padding-right: 30px;
}
.eng-img {
    width: 25%;
}
.eng-member {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.outcome-img {
    width: 100%;
    max-width: 700px;  
    margin: 30px auto 0 auto;
}

    /* environmemt1～3 */

.h2-ttl {
    margin: 80px auto 40px;
    text-align: center;
    color: #1a1a1a;
} 
.h2-ttl h2 {
    font-size: 2em;
    margin-bottom: 0.4em;
    line-height: 1.2;
}
.h2-ttl hr {
    width: 100%;
    max-width: 320px;
    margin: auto;
}
.h2-ttl p {
    color: #8080ff;
    margin-top: 0.8em;
}    
.env-03-ttl hr {
    max-width: 500px;
}   
.env-01 {
    background: url(../images/env-01.jpg) no-repeat center center /cover;
    height: 30vh;    
}
.env-02 {
    background: url(../images/env-02.jpg) no-repeat center center /cover;  
    height: 30vh;      
}
.env-03 {
    background: url(../images/env-03.jpg) no-repeat center center /cover;  
    height: 30vh;      
}
.env-articles {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
    margin-top: 40px;
}
.env-article {
    text-align: justify
}
.env-article {
    margin: 5px 0 20px;
    padding-top: 20px;
    border-top: 3px solid #444;
    line-height: 1.5;
    position: relative;
}
.env-article::before {
    content: '';
    position: absolute;
    top: -3px;
    width: 20%;
    height: 3px;
    background: #8080ff 
}
.env-ttl {
    text-align: center;
    padding: 10px 0 15px;
}
span.num-btn {
    margin-right: 10px;   
    padding: 1px 4px;     
    color: #fff;
    background-color: #272727;
    border-radius: 5px;
}
.env-article p {
    padding-bottom: 15px;
    border-bottom: 1px solid #1a1a1a;
}
.env-btn {
    max-width: 180px;
    margin: 15px auto 0 auto;    
}
.env-btn a {
    margin: 0;   
}

    /* event wg 共通 */

.blue {
    background-color: #004080;
    padding-bottom: 5px;
} 
.blue-back-ttl {
    color: #fff;
} 
.discription {
    max-width: 800px;
    color: #fff;
    margin: 0 auto 30px auto;
}
.h2-ttl hr.long-bar {
    width: 450px;
}

    /* eventページ */

.articles {
    margin: 20px 0;
    padding: 20px 30px;
    background-color: #fff;
    border-radius: 5px;
} 
.articles:last-child {
    margin-bottom: 100px;
} 
.article-ttl {
    margin-bottom: 5px;
    padding-left: 20px;
    height: 30px;
    border-radius: 3px;
    background-color: #8080ff;
    font-size: 1.2em;
    font-weight: normal;
    color: #fff;
    line-height: 30px;
}
p.article-ttl-sub {
    margin: 10px 0 5px 20px;
    color: #272727;
}
.article {
    display: flex;
    align-items: flex-start;
    margin-top: 10px;
}
.article-txt {
    width: 73%;
    margin-right: 30px;
}
.article-txt a {
    border-bottom: 1px solid #272727;
}
.article-txt p {
    text-align: justify;
}
.article-img {
    width: 27%;
}
.article-caption {
    margin-top: 15px;
}
.article-caption span.color-btn {
    font-size: 0.9em;
    margin-right: 8px;
    vertical-align: 1px;
}
span.btn-black {
    color: #fff;
    background-color: #272727;
}
.cap-p  {
    margin-right: 10px;
}

    /* hiroshima.summary共通 */

span.ti-s {
    padding-right: 10px;
}

    /* hiroshima */

.hiroshima-figure {
    float: right;
    margin: 0 0 15px 15px;
    width: 35%;
}
.h-summary li {
    padding: 7px 0;
}

    /* lpランディングページの設定 */

.lp-container {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}
.lp-container img {
    vertical-align:middle;
}
.lp2-btn {
    position: relative;
}
.lp2-btn1 {
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.lp3-btn {
    position: relative;
}
.lp3-btn1 {
    position: absolute;
    top: 82%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.lp4-btn {
    position: relative;
}
.lp4-btn1 {
    position: absolute;
    top: 76%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.lp4-btn2 {
    position: absolute;
    top: 92%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.lp2-btn1,.lp2-btn1,.lp3-btn1,.lp4-btn1,.lp4-btn2 {
    width: 75%;
}

    /* membership */
.members {
    padding-bottom: 50px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    align-items: center;
    gap: 50px;
}
.members p {
    text-align: center;
    line-height: 1;
}
.member a:hover {
    opacity: .5;
}
.individual {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

    /* news */
.btn-news a {
    margin: 50px auto 30px;
    max-width: 600px;
    font-size: 1em;
    line-height: 1;
}

    /* pamphletページ */

.pamphlets {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    padding: 3% 0 0 13%;
    gap: 80px;
    text-align: center;
}
.pamphlet a:hover {
    opacity: .7;
}
.pamphlet img {
    border: 1px solid #080808;
}

    /* summary */

.summary li {
    list-style: none;
    padding: 7px 0 7px 8%;
}
.summary time {
    padding-right: 10px;
}

    /* wgページ */

.wgs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 100px;
}
.wg {
    border: 1px solid #fff;
    border-radius: 5px;
    padding: 20px;
    color: #fff;
}
p.wg-number {
    border-radius: 2px;
    line-height: 1.5;
    font-weight: bold;
    background-color: #808080;
}
p.wg-number span {
    margin-right: 10px;
    padding: 0 8px;
    border-radius: 2px;
    font-size: 1.3em;
    line-height: 1.3;
    background-color: #1a1a1a;
}
p.wg-ttl {
    font-weight: bold;
    font-size: 1.1em;
    text-align: center;
    padding: 10px 0;  
}
.wg img {
    margin: 15px 0 10px;
}

    /* wg1～11までのページ */

.ttl-number {
    width: 100%;
    max-width: 250px;
    margin: 20px auto 40px;
    padding: 20px 0;
    background-color: #004080;
    text-align: center;
    font-size: 1.7em;
    letter-spacing: 0.05em;
    color: #fff; 
}
.theme {
    text-align: center;
    margin-bottom: 50px;
}
.theme h2 {
    font-size: 1.6em;
}
.theme hr {
    width: 100%;
    max-width: 320px;
    border-top: 1px solid #272727;
    margin: 6px auto;
}
.theme p {
    font-size: 1.2em;
    font-weight: bold;
}
.wg-g  {
    display: flow-root;
}   
.wg-figure {
    float: right;
    margin: 0 0 15px 15px;
    width: 35%;
}
.wg-t th,.wg-t td {
    border: 1px solid #1a1a1a;
    padding: 3px 7px;
    text-align: center;
    vertical-align: middle;
}
.wg-t th {
    font-weight: normal;
}
.wg-t thead {
    background-color: #f3f3f3;
}
.wg-9t td {
    text-align: left;
}
.group {
    background-color: #f3f3f3;
    padding: 10px 20px;
    font-size: 0.9em;
    border: 1px solid #1a1a1a;
}
.wg-btn a {
    margin: 50px 0 0 auto;
}

    /* works */

.outcome-figure {
    width: 100%;
    max-width: 500px;  
    margin: 10px auto 0 auto;
}
.works-btn {
    max-width: 160px;
    margin: 15px auto 0 auto;   
}
.works-btn a {
    margin: 0;   
}

	/* ========================================
	    - タブレット・スマホの設定 -
	======================================== */

    /* タブレット・スマホの設定 */

@media (max-width:900px) {
    #global-nav {
        display: none;
    }
    #sp-global-nav {
        position: fixed;
        width: 100%;
        right: -100%;
        display: block;
        margin-top: 60px;
        background-color: #353535;
        transition: right .5s; 
        opacity: 0.9;
    }  
    #sp-global-nav.sp_open {
        right: 0%;
    } 
    #sp-global-nav ul {
        flex-direction: column;
        width: 100%;
        list-style: none;        
    }
    #drawer-toggle {
        display: inline-block;
    }     
    .acmenu {
        border-bottom: 1px solid #fff;
    }
    .acmenu a {
        color: #fff;
    }    
    .acmenu-link,.acmenu-a {
        margin-bottom: 1px;
        display: block;
        line-height: 50px;
        padding: 0 1rem;
        position: relative;
    }
    .acmenu-link:after {
        background-color: #1a1a1a;
        content: '\f107';
        font: var(--fa-font-solid);
        display: block;
        line-height: 50px;
        position: absolute;
        right: 0;
        text-align: center;
        top: 0;
        width: 50px;
    }
    .acmenu-link.on:after {
        content: '\f106';
    }
    .submenu {
        background: #1a1a1a;
        display: none;
        text-decoration: none;
    }
    .submenu li {
        border-bottom: 1px solid #fff;
        line-height: 50px;        
        padding-left: 20px;
    }
    .submenu li a {
        display: block;
    }
    .submenu li a::before {
        content: '\f138';
        font: var(--fa-font-solid);
        color: #8080ff;
        padding-right: 10px;
        font-size: 0.7em;
    }
    .nav-end {   
        margin: 10px 0;
        text-align: center;
    }
    .nav-end a {
        display: inline-block;
        margin: 0 auto;
        padding: 5px 0;
        width: 100%;
        max-width: 200px;
        background-color: #1a1a1a;
        border: 1px solid #fff;
        border-radius: 2px;   
        color: #fff;
    }

     /* environment1～3 */ 
    .env-articles {
        grid-template-columns: 1fr 1fr;
    }

    /* pamphlet */    
    .pamphlets {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 50px;
    }

     /* wg */  
    .wgs {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width:767px) {
    body {
        font-size: 14px;
    } 
    main {
        padding-top: 60px;
    }
    .container {
        padding: 0 4%;
    }
    .indent {
        padding-left: 4%;
    } 
    .headline {
        margin: 110px auto 0px auto; 
    } 
    .header-top {
        display: none;
    }
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
    .event_btn p {
        margin: 40px auto 0px;
    } 
    .sec-ttl {
        margin-bottom: 80px;
    }
    .works {
        grid-template-columns: 1fr 1fr;
        gap: 80px 20px;
    }
    .work img {
        width: 120px;
        height: 120px;
    }
    .work h4 {
        padding: 50px 0 10px; 
    }
    .other-works {
        grid-template-columns: 1fr 1fr;
    }
    .ev-container {
        display: block;
        padding-left: 0;
    }
    .sec03 .img {
        width: 100%;
        margin-right: 0;
    }
    .sec03 .txt {
        width: 100%;
        padding-top: 10px;
    }
    .sec04 ul {
        margin: 0 auto;
        display: block;
        max-width: 40%;
    }
    .sec05 ul {
        margin: 0 auto;
        display: block;
        max-width: 60%;
    }
    .sec06 {
        margin: 30px auto 80px;        
    }
    .bay-pr {
        display: block;
        padding: 50px 0 0;
    }
    .you-tube {
        text-align: center;        
    }
    .banner {
        padding-top: 20px;
        width: 100%;
        max-width: 350px; 
        margin: 0 auto;         
    }
    .mem-banners {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

	/* ========================================
	    - タブレット・スマホ その他のページ -
	======================================== */

    /* ページ共通 */
    .main {
        margin-top: 60px;
    }
    .white-container {
        padding-top: 20px; 
    }

    /* admission */  
    .ad-btn02 {
        margin-top: 15px;
    }

    /* english */ 
    .eng {
        display: block;
    }
    .eng-ttl {
        width: 100%;
        padding-right: 0;
    }
    .eng-img {
        width: 100%;
        margin-top: 15px;
    }
    .eng-member {
        grid-template-columns: 1fr;
    }

    /* environment1～3 */ 
    .env-03-ttl hr {
        max-width: 250px;
    } 

    /* event */ 
    .article {
        display: block;
    }
    .article-txt {
        width: 100%;
        margin: 0 0 20px 0;
    }
    .article-ttl {
        padding-left: 0px;
        text-align: center;
    }
    p.article-ttl-sub {
        margin: 10px 0 5px 0;
        text-align: center;
    }    
    .article-img {
        width: 100%;
    }

    /* hiroshima */     
    .hiroshima-figure {
        float: none;
        width: 100%;
        margin:  0 auto 15px auto;
        max-width: 400px;
    }

    /* members */
    .members {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .individual {
        grid-template-columns: 1fr 1fr 1fr;
    }

    /* organization */  
    .organization-flex {
        display: initial;
    }
    .organization-flex figure {
        max-width: 400px;
        margin-bottom: 24px;
    }
}

	/* ========================================
	    - スマホのみの設定 -
	======================================== */

    @media (max-width:500px) {
        .sp500-only {
            display: block;
        }
        .sp500-none {
            display: none;
        }
        #logo {
            width: 80%;
        }
        .works {
            grid-template-columns: 1fr;
        }
        .other-works {
            grid-template-columns: 1fr;
        }
        .other-work {
            padding: 10px;
        }

        /* admission */  
        .send-txt {
            padding: 20px 20px;
        }
        /* environment1～3 */ 
        .env-articles {
            grid-template-columns: 1fr;
        }
        /* members */
        .members {
            grid-template-columns: 1fr 1fr;
        }        
        /* pamphlet */    
        .pamphlets {
            grid-template-columns: 1fr 1fr;
            gap: 50px;
        }
        /* wg */  
        .wgs {
            grid-template-columns: 1fr;
        }
        .wg-figure {
            float: none;
            width: 100%;
            margin: 0 0 20px 0;
        }
    }

    @media (max-width:359px) {
        .you-tube {
            display: none;
        }
    }





