@charset "UTF-8";


/* -- font
-------------------------------------------------------------------------------- */
@font-face {
    font-family: 'NotoSansJapanese';
    src: url('./font/NotoSansCJKjp-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'NotoSansJapanese';
    src: url('./font/NotoSansCJKjp-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'circular';
    src: url('./font/Circular-book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'circular';
    src: url('./font/Circular-medium.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'circular';
    src: url('./font/Circular-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}


/* -- Base and Reset
-------------------------------------------------------------------------------- */
html {
    font-size: 62.5%;
	width: 100%;
}
body {
	font: 1rem/1.6 'circular', 'NotoSansJapanese', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	text-align: left;
    color: #101512;
	width: 100%;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
caption,th,td {
	font-weight: normal;
	text-align: left;
}
input,textarea,select {
	font-family: 'circular', 'NotoSansJapanese', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	vertical-align: middle;
}
textarea {
	resize: vertical;
}
h1,h2,h3,h4,h5,h6 { font-size: 100%; }
ul,ol { list-style: none; }
fieldset,img { border: 0; vertical-align: top; }
iframe {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
input{
    color:#333;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
label{
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a{
    text-decoration:none;
    color:inherit;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:focus{
    outline:none;
}
select::-ms-expand {
    display: none;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -webkit-touch-callout;
}
.ta-r{
    text-align: right;
}
.sp-br{
    display: none;
}
.sp-br-374{
    display: none;
}
:root {
    --col-main: #006537;
    --col-sub: #ede9da;
    --col-bg1: #eff1f0;
    --col-bg2: #e5e8e6;
    --col-cat1: #b85f52;
    --col-cat2: #527b9b;
    --col-cat3: #80688f;
    --col-cat4: #b69a42;
    --col-cat5: #537f87;
    --col-cat6: #b47b45;
}
@media (max-width: 1200px){
    html {
        font-size: 56.5%;
    }
}
@media (max-width: 1024px){
    html {
        font-size: 0.9375vw;
    }
}
@media (max-width: 767px){
    html {
        font-size: 56.5%;
    }
    .sp-br{
        display: block;
    }
}
@media (max-width: 430px){
    html {
        font-size: 2.093023vw;
    }
}
@media (max-width: 374px){
    .sp-br-374{
        display: block;
    }
}


/* -- link-btn
-------------------------------------------------------------------------------- */
.link-btn{
    display: flex;
    justify-content: center;
}
.link-btn a{
    display: block;
    font-size: 1.6rem;
    line-height: 3.2rem;
    font-weight: bold;
    background: var(--col-main);
    color: #fff;
    padding: 1.2rem 0;
    width: 16rem;
    text-align: center;
    letter-spacing: 0.1em;
    border-radius: 1.2rem;
    transition: background 0.1s ease;
}
@media (min-width: 1025px){
    .link-btn a:hover{
        background: color-mix(in srgb, var(--col-main) 80%, white);
    }
}
@media (max-width: 767px){
    .link-btn a {
        padding: 0.8rem 0;
        width: 12.8rem;
        border-radius: 0.8rem;
    }
}


/* -- intro
-------------------------------------------------------------------------------- */
body{
    position: relative;
    opacity: 0;
}
body.show{
    opacity: 1;
}
.intro{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
}
.intro .intro-inner{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    transition: opacity 0.8s ease 0.8s;
}
.intro .intro-logo{
    height: 3.2rem;
    transition: 0.8s ease;
}
.intro .intro-logo img{
    height: 100%;
}
.intro.comp .intro-inner{
    opacity: 0;
}
.intro.comp .intro-logo{
    opacity: 0;
    transform: scale(1.2);
}


/* -- header
-------------------------------------------------------------------------------- */
header{
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 10rem;
    padding: 0 4% 0 3%;
    box-sizing: border-box;
    z-index: 100;
    transition: background 0.1s ease;
}
header.fix{
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
header a{
    display: flex;
    align-items: center;
}
header .img{
    display: block;
    width: 3.8rem;
    margin-right: 2rem;
}
header .img img{
    width: 100%;
}
header a p{
}
header a span{
    display: block;
}
header a .en{
    height: 2.8rem;
}
header a .en img{
    height: 100%;
}
header a .jp{
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-top: 0.8rem;
    text-indent: -0.1em;
}
@media (max-width: 1024px){
    .modal-nav-open header{
        background: #fff;
    }
}
@media (max-width: 767px){
    header{
        height: 8rem;
        padding: 0 4% 0 5%;
    }
    header .img {
        width: 3.4rem;
    }
    header a .en{
        height: 2.2rem;
    }
    header a .jp {
        font-size: 1.2rem;
    }
}
@media (max-width: 374px){
}


/* -- nav
-------------------------------------------------------------------------------- */
nav ul{
    display: flex;
}
nav li{
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}
nav li + li{
    margin-left: 2.8rem;
}
nav li a{
    transition: color 0.1s ease;
}
nav li a.active{
    color: var(--col-main);
}
@media (min-width: 1025px){
    header.fix nav li a:hover,
    footer nav li a:hover{
        color: var(--col-main);
    }
    header:not(.fix) nav li a:hover{
        color: #656B68;
    }
}
@media (max-width: 1024px){
    header nav{
        display: none;
    }
}
@media (max-width: 767px){
    nav li + li {
        margin-left: 2.4rem;
    }
}


/* -- nav-menu
-------------------------------------------------------------------------------- */
.nav-menu-btn{
    display: none;
    position: relative;
    width: 4rem;
    height: 4rem;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.nav-menu-btn span{
    display: block;
    width: 2.4rem;
    border-top: solid 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -1.2rem;
    margin-top: -1px;
}
.nav-menu-btn .bar-1{
    margin-top: calc(-1px - 5px);
}
.nav-menu-btn .bar-2{
}
.nav-menu-btn .bar-3{
    margin-top: calc(-1px + 5px);
}
.nav-menu-btn.active span{
    width: 2.2rem;
    margin-left: -1.1rem;
}
.nav-menu-btn.active .bar-1{
    margin-top: -1px;
    transform: rotate(45deg);
}
.nav-menu-btn.active .bar-2{
    opacity: 0;
}
.nav-menu-btn.active .bar-3{
    margin-top: -1px;
    transform: rotate(-45deg);
}
.modal-nav{
    display: none;
}
.modal-nav{
    position: fixed;
    top: 10rem;
    left: 0;
    width: 100%;
    height: calc(100% - 10rem);
    box-sizing: border-box;
    background: #fafafa;
    z-index: 10;
}
.modal-nav ul {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8rem 8% 8rem calc(8% + 2.5rem);
    box-sizing: border-box;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.modal-nav li {
    font-size: 2rem;
    letter-spacing: 0.1em;
}
.modal-nav li + li {
    margin: 2.4rem 0 0;
}
.modal-nav li ul {
    padding: 0;
    display: none;
    margin-top: 1.6rem;
}
.modal-nav li ul.active {
    display: block;
}
.modal-nav li ul li {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: normal;
}
.modal-nav li ul li + li {
    margin-top: 1em;
}
.modal-nav .nav-pulldown {
    position: relative;
}
.modal-nav .nav-pulldown-btn {
    display: block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    left: -4rem;
    margin-top: -2rem;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.modal-nav .nav-pulldown-btn::before,
.modal-nav .nav-pulldown-btn::after{
    content: "";
    display: block;
    width: 1rem;
    border-top: solid 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -2px;
    margin-left: -0.5rem;
}
.modal-nav .nav-pulldown-btn::after{
    transform: rotate(90deg);
}
.modal-nav .nav-pulldown-btn.active::after{
    transform: rotate(0);
}
@media (max-width: 1024px){
    .nav-menu-btn{
        display: block;
    }
    .modal-nav{
        display: block;
        transform: translateY(100%);
        transition: transform 0.3s ease;
    }
    .modal-nav.active{
        transform: translateY(0);
    }
}
@media (max-width: 767px){
    .modal-nav{
        top: 8rem;
        height: calc(100% - 8rem);
    }
    .modal-nav ul {
        padding-top: 4rem;
    }
}
@media print {
    header {
        display: none;
    }
    .modal-nav{
        display: none;
    }
}


/* -- nav-sub-menu
-------------------------------------------------------------------------------- */
.nav-sub-menu{
    position: absolute;
    top: 50%;
    right: 4%;
    width: 4rem;
    height: 4rem;
    transform: translateY(-50%);
    display: none;
}
.nav-sub-menu .nav-sub-menu-btn{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    transition: opacity 0.1s ease;
}
.nav-sub-menu:hover .nav-sub-menu-btn{
    opacity: 0.5;
}
.nav-sub-menu .nav-sub-menu-btn span{
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    background: #101512;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    margin-left: -0.2rem;
    margin-top: -0.2rem;
}
.nav-sub-menu .nav-sub-menu-btn .bar-1{
    top: 1.2rem;
}
.nav-sub-menu .nav-sub-menu-btn .bar-2{
    top: 2rem;
}
.nav-sub-menu .nav-sub-menu-btn .bar-3{
    top: 2.8rem;
}
.nav-sub-menu .nav-sub {
    position: absolute;
    top: 4rem;
    right: 0;
    opacity: 0;
    visibility: hidden;
    padding-top: 0;
    transition: 0.1s ease;
}
.nav-sub-menu:hover .nav-sub {
    opacity: 1;
    visibility: visible;
    padding-top: 0.8rem;
}
.nav-sub-menu .nav-sub ul {
    border-radius: 0.8rem;
    overflow: hidden;
    box-shadow: 0 0.4rem 1.2rem rgba(0,0,0,0.15);
}
.nav-sub-menu .nav-sub li{
    white-space: nowrap;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: none;
}
.nav-sub-menu .nav-sub li + li{
    border-top: solid 1px #f0f0f0;
}
.nav-sub-menu .nav-sub li a{
    padding: 1.6rem 2rem;
    background: #fff;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .nav-sub-menu .nav-sub li a:hover{
        color: var(--col-main);
    }
}
@media (max-width: 1024px){
    .nav-sub-menu{
        display: none;
    }
}


/* -- wrapper
-------------------------------------------------------------------------------- */
.wrapper{
    background: var(--col-bg1);
    position: relative;
}
.wrapper::before{
    content: "";
    display: block;
    width: 100%;
    height: 10rem;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.wrapper.not-bg::before{
    display: none;
}
 

/* -- main-visual
-------------------------------------------------------------------------------- */
.main-visual{
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-top: 10rem;
}
.main-visual::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: var(--col-main);
    position: absolute;
    inset: 0;
    mix-blend-mode: hue;
    opacity: 0.35;
    z-index: 1;
}
.main-visual video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(-1,1);
}
.main-visual .ttl-area{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12rem 12% calc(12rem + 15vw);
    position: relative;
    z-index: 2;
}
.main-visual .ttl-area .ttl{
    font-size: 3rem;
    font-weight: normal;
    text-align: center;
}
.main-visual .ttl-area .ttl .main{
    display: block;
    font-size: 1em;
    letter-spacing: 0.2em;
    line-height: 1.2;
    margin-right: -0.1em;
}
.main-visual .ttl-area .ttl .sub{
    display: block;
    font-size: 0.7em;
    letter-spacing: 0.2em;
    margin-top: 0.2em;
}
@media (max-width: 1024px){
    .main-visual .ttl-area{
        padding-bottom: calc(12rem + 20vw);
    }
}
@media (max-width: 767px){
    .main-visual {
        padding-top: 8rem;
    }
    .main-visual .ttl-area {
        padding: 10rem 5% calc(10rem + 40vw);
    }
    .main-visual .ttl-area .ttl {
        font-size: 2.6rem;
    }
}
@media (max-width: 374px){
    .main-visual .ttl-area .ttl {
        font-size: 1.6rem;
    }
}


/* -- main
-------------------------------------------------------------------------------- */
main{
    display: block;
    position: relative;
}
main.single-page{
    padding-top: 10rem;
}
@media (max-width: 767px){
    main.single-page{
        padding-top: 8rem;
    }
}


/* -- section
-------------------------------------------------------------------------------- */
.section-ttl {
    margin-bottom: 6rem;
}
.section-ttl .en {
    font-size: 4.8rem;
    line-height: 1.2;
    letter-spacing: 0;
}
.section-ttl .jp {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    margin-top: 0.8rem;
}
.section-ttl span{
    display: block;
}
@media (max-width: 767px){
    .section-ttl {
        margin-bottom: 3.2rem;
    }
    .section-ttl .en {
        font-size: 3.2rem;
    }
    .section-ttl .jp {
        font-size: 1.4rem;
        margin-top: 0.4rem;
    }
}


/* -- top-pick-up
-------------------------------------------------------------------------------- */
.top-pick-up{
    margin-top: -15vw;
    position: relative;
    z-index: 2;
}
.top-pick-up .section-inner{
    position: relative;
    overflow: hidden;
}
.top-pick-up .top-pick-up-head {
    padding: 0 6%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 6rem;
}
.top-pick-up .section-ttl {
    margin-bottom: 0;
}
.top-pick-up .section-ttl .en {
    font-size: 3.2rem;
}
@media (max-width: 1024px){
    .top-pick-up{
        margin-top: -20vw;
    }
}
@media (max-width: 767px){
    .top-pick-up {
        margin-top: -40vw;
    }
}


/* -- pick-up-wrap
-------------------------------------------------------------------------------- */
.pick-up-wrap{
    position: relative;
}
.pick-up-wrap ul{
    display: flex;
}
.pick-up-wrap li{
    width: calc(100% / 3.4);
    display: flex;
    flex-shrink: 0;
    padding: 0 1.2rem;
    box-sizing: border-box;
}
.pick-up-box{
    display: block;
}
.pick-up-box .pick-up-box-inner{
    height: 100%;
    background: #fff;
    border-radius: 2.4rem;
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease;
}
@media (min-width: 1025px){
    .pick-up-box:hover .pick-up-box-inner{
        transform: scale(0.97);
    }
}
.pick-up-box.new .pick-up-box-inner::before{
    content: "NEW";
    padding: 0.8rem 2.4rem;
    border-radius: 0 0 0 1.2rem;
    background: #f36880;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.4;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
.pick-up-box .img{
    width: 100%;
    height: 15vw;
    background-color: #f6f4f3;
    overflow: hidden;
    position: relative;
}
.pick-up-box .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (min-width: 1025px){
    .pick-up-box:hover .img img{
        transform: scale(1.12);
        opacity: 0.6;
    }
}
.pick-up-box .pick-up-box-body{
    padding: 3.2rem 4rem calc(4rem + 2.8rem + 2rem) 4rem;
}
.pick-up-box .sub-ttl{
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 0.8rem;
    color: #656B68;
}
.pick-up-box .ttl{
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0.1rem;
}
.pick-up-box .lead{
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: justify;
    margin-top: 2rem;
}
.pick-up-box .tag{
    position: absolute;
    left: 4rem;
    bottom: 4rem;
}
@media (max-width: 1024px){
    .pick-up-wrap li{
        width: calc(100% / 2.2);
    }
    .pick-up-box .img {
        height: 20vw;
    }
}
@media (max-width: 767px){
    .pick-up-wrap li{
        width: calc(100% / 1.2);
        padding: 0 0.8rem;
    }
    .pick-up-box .pick-up-box-body {
        padding: 2.4rem 2.4rem calc(2.4rem + 2.8rem + 1.2rem) 2.4rem;
    }
    .pick-up-box .tag {
        left: 2.4rem;
        bottom: 2.4rem;
    }
    .pick-up-box .img{
        height: 40vw;
        min-height: auto;
    }
    .pick-up-box .pick-up-box-inner {
        border-radius: 1.6rem;
    }
    .pick-up-box.new .pick-up-box-inner::before {
        border-radius: 0 0 0 0.8rem;
    }
}


/* -- top-topics
-------------------------------------------------------------------------------- */
.top-topics{
    padding: 8rem 8%;
}
.top-topics .section-inner{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.top-topics .top-topics-inner{
    background: #fff;
    padding: 8rem;
    border-radius: 2.4rem;
}
.top-topics .section-ttl {
    text-align: center;
}
.top-topics .link-btn{
    margin-top: 4.8rem;
}
.swiper-nav{
    display: flex;
    justify-content: center;
    margin-top: 3.2rem;
    padding: 0 8%;
}
.swiper-nav li{
    width: 6rem;
    height: 6rem;
    border: solid 2px #DADFDB;
    border-radius: 100%;
    cursor: pointer;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    outline: none;
    transition: 0.2s ease;
}
@media (min-width: 1025px){
    .swiper-nav li:hover{
        border-color: var(--col-main);
    }
}
.swiper-nav li + li{
    margin-left: 1rem;
}
.swiper-nav li .ico{
    display: block;
    width: 1.6rem;
    height: 1.6rem;
}
.swiper-nav li.prev .ico{
    transform: scale(-1, 1);
}
.swiper-nav li .ico img{
    width: 100%;
}
.important-topics{
    background: var(--col-bg2); 
    margin-top: 3.2rem;
}
.important-topics .section-ttl span{
    color:#101512;
    font-size: 3.2rem;
    line-height: 1.2;
    margin-top: 0;
}
@media (max-width: 767px){
    .top-topics {
        padding: 6rem 5%;
    }
    .top-topics .top-topics-inner {
        padding: 3.2rem;
    }
    .top-topics .link-btn {
        margin-top: 3.2rem;
    }
    .important-topics {
        margin-top: 6rem;
    }
    .important-topics .section-ttl span {
        font-size: 2.4rem;
    }
}


/* -- topics-list
-------------------------------------------------------------------------------- */
.topics-list li,
.box-list li{
    font-size: 1.6rem;
    line-height: 1.4;
}
.topics-list li + li,
.box-list li + li{
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    border-top: solid 1px #f0f0f0;
}
.topics-list dl{
    display: flex;
    align-items: center;
}
.topics-list dt,
.date-wrap .date{
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.4;
    color: #929191;
}
.topics-list dt{
    display: flex;
    align-items: center;
    padding-right: 2rem;
}
.topics-list dt .date{
    width: 12rem;
}
.topics-list dd{
    flex: 1;
}
.tag{
    width: 7em;
    font-size: 1.2rem;
    line-height: 1.6rem;
    font-weight: bold;
    text-align: center;
    background: #a6a5a5;
    color: #fff;
    padding: 0.6rem 1.2rem;
    border-radius: 0.4rem;
}
.tag.cat-1{
    background: var(--col-cat1);
}
.tag.cat-2{
    background: var(--col-cat2);
}
.tag.cat-3{
    background: var(--col-cat3);
}
.tag.cat-4{
    background: var(--col-cat4);
}
.tag.cat-5{
    background: var(--col-cat5);
}
.tag.cat-6{
    background: var(--col-cat6);
}
.tag.accept{
    background: #a94f68;
}
.tag.announce{
    background: #006537;
}
#activityreport .tag{
    width: auto;
    background: #9cb374;
}
#activityreport .tag.flag-1,
#activityreport .tag.flag-2{
    width: 7em;
    background: #e39f8a;
}
#activityreport .tag.flag-2{
    background: #a6a5a5;
}
.topics-list dd .txt{
    flex: 1;
    letter-spacing: 0.05em;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .topics-list a:hover dd .txt{
        color: var(--col-main);
    }
}
@media (max-width: 767px){
    .topics-list dl{
        display: block;
    }
    .topics-list dt{
        justify-content: space-between;
        padding-right: 0;
    }
    .topics-list dt .tag{
        margin: -3px 0;
    }
    .topics-list dd{
        margin-top: 1.6rem;
    }
    .tag{
        padding: 0.4rem 1rem;
    }
    .swiper-nav{
        display: none;
    }
}
@media (max-width: 374px){
    .tag{
        font-size: 9px;
        max-width: 14em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}


/* -- report-list
-------------------------------------------------------------------------------- */
.box-list li + li{
    padding-top: 4rem;
    margin-top: 4rem;
}
.box-list .box-list-flex{
    display: flex;
    align-items: center;
}
.box-list .box-list-img{
    width: 10rem;
    margin-right: 4rem;
    border: solid 1px #e0e0e0;
    overflow: hidden;
    position: relative;
}
.box-list .box-list-img.no-border{
    border: none;
}
.box-list .box-list-img img{
    width: 100%;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.box-list .box-list-flex .box-list-body{
    flex: 1;
}
.date-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.4rem;
}
.date-wrap .tag{
    margin: -3px 0;
}
.box-list .box-list-body .ttl{
    font-size: 2rem;
    letter-spacing: 0.1em;
    transition: color 0.1s ease;
}
.box-list a.pdf .box-list-body .ttl::after,
.box-list a[target="_blank"] .box-list-body .ttl::after,
.pick-up-box[target="_blank"] .ttl::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/ico_pdf_col.svg) no-repeat center;
    background-size: cover;
    margin: 0 0 0 0.3em;
    transform: translateY(-1px);
    transition: background 0.1s ease;
}
.box-list a[target="_blank"]:not(.pdf) .box-list-body .ttl::after,
.pick-up-box[target="_blank"] .ttl::after{
    background-image: url(../img/ico_ex_link_col.svg);
}
@media (min-width: 1025px){
    .box-list a:hover .box-list-img img{
        transform: scale(1.1);
        opacity: 0.6;
    }
    .box-list a:hover .box-list-body .ttl{
        color: var(--col-main);
    }
    .box-list a[target="_blank"]:hover .box-list-body .ttl::after{
        background-image: url(../img/ico_pdf_hover.svg);
    }
    .box-list a[target="_blank"]:not(.pdf):hover .box-list-body .ttl::after{
        background-image: url(../img/ico_ex_link_hover.svg);
    }
}
.box-list .box-list-body .lead{
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: justify;
    margin-top: 2.4rem;
}
.box-list .data-list{
    margin-top: 2.4rem;
}
.box-list .data-list dl{
    display: flex;
    line-height: 1.6;
    letter-spacing: 0.05em;
}
.box-list .data-list dt{
    width: 6em;
    color: #929191;
    font-weight: bold;
}
.box-list .data-list dd{
    flex: 1;
}
@media (max-width: 767px){
    .box-list li + li {
        padding-top: 3.2rem;
        margin-top: 3.2rem;
    }
    .date-wrap {
        margin-bottom: 1.6rem;
    }
    .box-list .box-list-body .lead {
        margin-top: 1.6rem;
    }
    .box-list .box-list-img {
        width: 6rem;
        margin-right: 2.4rem;
    }
    .box-list .data-list{
        margin-top: 1.6rem;
    }
}


/* -- banner
-------------------------------------------------------------------------------- */
.banner{
    padding: 0rem 0 3.2rem;
    position: relative;
}
.banner .banner-outer{
    overflow: hidden;
}
.banner .section-inner{
    padding: 0;
}
.banner-wrap ul{
    display: flex;
}
.banner-wrap li{
    width: calc(100% / 5.4);
    display: flex;
    flex-shrink: 0;
    padding: 0 1.2rem;
    box-sizing: border-box;
}
@media (max-width: 1600px){
    .banner-wrap li{
        width: calc(100% / 3.8);
    }
}
.banner-box{
    display: block;
    width: 100%;
}
.banner-box .banner-box-inner{
    background: #fff;
    padding: 3.2rem 2.4rem;
    box-sizing: border-box;
    border-radius: 1.6rem;
    transition: transform 0.3s ease;
}
.banner-box .img{
    width: 100%;
    max-width: 24rem;
    margin: 0 auto;
    transition: opacity 0.3s ease;
}
@media (min-width: 1025px){
    .banner-box:hover .banner-box-inner{
        transform: scale(0.96);
    }
    .banner-box:hover .img{
        opacity: 0.6;
    }
}
.banner-box .img img{
    width: 100%;
}
@media (max-width: 767px){
    .banner {
        padding: 0 0 4rem;
    }
    .banner-wrap li {
        width: calc(100% / 1.4);
        padding: 0 0.8rem;
    }
    .banner-box .banner-box-inner{
        padding: 2.4rem 2.4rem;
        border-radius: 1.2rem;
    }
}


/* -- lower-page-head
-------------------------------------------------------------------------------- */
.lower-page-head{
    padding-top: 10rem;
    position: relative;
}
.lower-page-head .lower-page-head-inner{
    position: relative;
}
.lower-page-head .lower-page-head-inner::before{
    content: "";
    width: 100%;
    height: 50%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.lower-page-head .video-area{
    width: 84%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    border-radius: 0 2.4rem 2.4rem 0;
    z-index: 1;
}
#topics .lower-page-head .video-area{
    background: var(--col-cat1);
}
#column .lower-page-head .video-area{
    background: var(--col-cat5);
}
#about .lower-page-head .video-area{
    background: var(--col-cat2);
}
#activities .lower-page-head .video-area{
    background: var(--col-cat6);
}
#activityreport .lower-page-head .video-area{
    background: var(--col-cat3);
}
#symposium .lower-page-head .video-area{
    background: var(--col-cat4);
}
#whats .lower-page-head .video-area{
    background: #ac98cb;
}
.lower-page-head video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    mix-blend-mode: color-burn;
    filter: grayscale(1);
    z-index: 2;
}
.lower-page-head .ttl-area{
    padding: 8rem 0;
    position: relative;
    text-align: center;
    z-index: 5;
}
.lower-page-head .section-ttl {
    color: #fff;
    margin-bottom: 0;
}
@media (max-width: 767px){
    .lower-page-head {
        padding-top: 8rem;
        position: relative;
    }
    .lower-page-head .video-area {
        width: 95%;
    }
    .lower-page-head .ttl-area{
        padding: 4.8rem 0;
    }
    .lower-page-head video{
        filter: blur(15px) grayscale(1);
    }
}


/* -- pager
-------------------------------------------------------------------------------- */
.pager{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 6rem;
}
.pager ul{
    display: flex;
    align-items: center;
    margin: 0 0.4rem;
}
.pager li{
    margin: 0 0.4rem;
}
.pager li a,
.pager li p{
    font-size: 1.4rem;
    width: 4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f0f0f0;
    border-radius: 50%;
    box-sizing: border-box;
    transition: background 0.1s ease;
}
.pager li p{
    background: transparent;
}
@media (min-width: 1025px){
    .pager li a:hover{
        background: #e5e5e5;
    }
}
.pager li.active p{
    background: var(--col-main);
    font-weight: bold;
    color: #fff;
}
.pager .prev,
.pager .next{
    width: 4rem;
    height: 4rem;
    display: block;
    position: relative;
}
.pager .prev::before,
.pager .next::before{
    content: "";
    width: 7px;
    height: 7px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border-top: solid 2px #929191;
    transition: border 0.1s ease;
}
.pager .prev::before{
    border-left: solid 2px #929191;
    transform: translate(-50%,-50%) rotate(-45deg);
    margin-left: 2px;
}
.pager .next::before{
    border-right: solid 2px #929191;
    transform: translate(-50%,-50%) rotate(45deg);
    margin-left: -2px;
}
.pager p.prev::before,
.pager p.next::before{
    border-color: transparent;
}
@media (min-width: 1025px){
    .pager a.prev:hover::before,
    .pager a.next:hover::before{
        border-color: var(--col-main);
    }
}
@media (max-width: 767px){
    .pager {
        margin-top: 4rem;
        margin-bottom: 1.2rem;
    }
    .pager li a,
    .pager li p{
        width: 3.2rem;
        height: 3.2rem;
    }
    .pager .prev,
    .pager .next{
        width: 3.2rem;
        height: 3.2rem;
    }
}


/* -- breadcrumb
-------------------------------------------------------------------------------- */
.breadcrumb{
    display: flex;
    padding-top: 2rem;
    margin-left: 4%;
}
.breadcrumb li{
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    line-height: 1.6;
    color: #929191;
}
.breadcrumb li + li::before{
    content: "";
    margin-left: 0.7rem;
    margin-right: 1rem;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 1px #656B68;
    border-right: solid 1px #656B68;
    transform: rotate(45deg);
}
.breadcrumb li a{
    color: #656B68;
}
.breadcrumb li a,
.breadcrumb li span{
    max-width: 24em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 767px){
    .breadcrumb {
        padding-top: 1.2rem;
        width: 100%;
        margin-left: 0;
        padding-left: 5%;
        box-sizing: border-box;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .breadcrumb li:last-child{
        padding-right: 5vw;
    }
    .breadcrumb li a, .breadcrumb li span {
        max-width: 12em;
    }
}


/* -- section-wrap
-------------------------------------------------------------------------------- */
.section-wrap{
    padding: 6rem 4% 8rem;
}
.section-wrap-inner{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.section-nav-wrap{
    max-width: calc(1100px + 34rem);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.section-nav{
    width: 32rem;
    box-sizing: border-box;
    background: #fff;
    padding: 2.4rem 4rem;
    border-radius: 2.4rem;
    margin-right: 4rem;
    position: sticky;
    top: 14rem;
}
.section-nav li + li{
    border-top: solid 1px #f0f0f0;
}
.section-nav li a{
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    padding: 2rem 0;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .section-nav li a:hover{
        color: var(--col-main);
    }
}
.section-nav li a.active{
    color: var(--col-main);
}
.section-body{
    flex: 1;
    background: #fff;
    padding: 8rem;
    border-radius: 2.4rem;
    font-size: 1.6rem;
    position: relative;
}
.section-nav.symposium-nav{
    margin-right: 0;
    margin-left: 4rem;
    padding: 4rem;
}
.section-nav.symposium-nav .data-list{
}
.section-nav.symposium-nav .data-list dl + dl{
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: solid 1px #f0f0f0;
}
.section-nav.symposium-nav .data-list dt{
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
    color: #929191;
    margin-bottom: 0.8rem;
}
.section-nav.symposium-nav .data-list dd{
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
.section-nav.symposium-nav .link-btn{
    margin-top: 3.2rem;
}
@media (max-width: 1024px){
    .section-nav-wrap{
        display: block;
    }
    .section-nav {
        width: 100%;
        position: static;
        margin-top: 3.2rem;
    }
    .section-nav.symposium-nav {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 3.2rem;
    }
}
@media (max-width: 767px){
    .section-wrap {
        padding: 3.2rem 5% 4rem;
    }
    .section-nav {
        padding: 1.6rem 3.2rem;
        margin-top: 2.4rem;
    }
    .section-body {
        padding: 3.2rem;
    }
    .section-nav.symposium-nav {
        padding: 3.2rem;
        margin-bottom: 2.4rem;
    }
    .section-nav.symposium-nav .link-btn {
        margin-top: 1.6rem;
    }
}


/* -- detail-page
-------------------------------------------------------------------------------- */
.detail-page-article-head .date{
    font-size: 1.6rem;
}
.index-btn{
    display: flex;
    justify-content: center;
    margin-top: 8rem;
    padding-right: 2.8rem
}
.index-btn a,
.index-btn p{
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
}
.index-btn a .ico,
.index-btn p .ico{
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 1.2rem;
    transition: 0.2s ease;
}
@media (min-width: 1025px){
    .index-btn a:hover .ico {
        transform: translateX(-0.4rem);
    }
}
.index-btn a .ico img,
.index-btn p .ico img{
    width: 100%;
    transform: scale(-1,1);
}
@media (max-width: 767px){
    .index-btn {
        margin-top: 4rem;
        margin-bottom: 1.2rem;
    }
}


/* -- article
-------------------------------------------------------------------------------- */
.article h2:not(.article-sub-ttl, .article-min-ttl),
.article-ttl,
.detail-page-article-head h1{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.4;
    border-bottom: solid 4px;
    padding-bottom: 1.2rem;
    margin-bottom: 4rem;
    position: relative;
    margin-top: 6rem;
}
.article-ttl.flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.article-ttl.flex span,
.article-ttl.flex a{
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 0;
    color: #656B68;
}
.article h2:not(.article-sub-ttl, .article-min-ttl)::before,
.article-ttl::before,
.detail-page-article-head h1::before{
    content: "";
    display: block;
    width: 30%;
    border-bottom: solid 4px var(--col-main);
    position: absolute;
    bottom: -4px;
    left: 0;
}
.article h3:not(.article-sub-ttl, .article-min-ttl),
.article-sub-ttl{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-top: 4.8rem;
    margin-bottom: 2rem;
    position: relative;
    padding-left: calc(0.5rem + 1.7rem);
}
.article h3:not(.article-sub-ttl, .article-min-ttl)::before,
.article-sub-ttl::before{
    content: "";
    display: block;
    width: 0.5rem;
    height: 84%;
    background: var(--col-main);
    border-radius: 2px;
    position: absolute;
    top: 6%;
    left: 0;
}
.article h4,
.article-min-ttl{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1rem;
    margin-top: 2.4rem;
    margin-bottom: 1.6rem;
}
.article-min-ttl,
.article-sub-ttl,
.article-ttl,
.detail-page-article-head h1,
.article h2:first-child,
.article h3:first-child,
.article h4:first-child{
    margin-top: 0;
}
.article h3 + h4{
    margin-top: 2.4rem;
}
.article p + h4,
.article span + h4,
.article ul + h4{
    margin-top: 3.2rem;
}
.article a{
    text-decoration: underline;
    color: #929191;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .article a:hover{
        color: var(--col-main);
    }
}
.article p,
.no-information{
    font-size: 1.6rem;
    text-align: justify;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
.no-information{
    color: #656B68;
}
.article p strong{
    background: var(--col-sub);
}
.article p + p{
    margin-top: 1.8rem;
}
.article .note{
    display: block;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #656B68;
    margin-top: 2rem;
}
.article ul{
    font-size: 1.6rem;
    margin: 2rem 0;
}
.article ul:first-child{
    margin-top: 0;
}
.article ul:last-child{
    margin-bottom: 0;
}
.article ul.num{
    list-style-type: decimal-leading-zero;
    padding-left: 2.2em;
}
.article li{
    line-height: 1.6;
    letter-spacing: 0.05rem;
}
.article ul.acf-ul li{
    color: #929191;
    font-weight: bold;
    padding-left: 2rem;
    position: relative;
}
.article ul.acf-ul li::before{
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: #929191;
    position: absolute;
    top: 0.9rem;
    left: 0;
}
.article ul.num li{
    padding-left: 0.6rem;
}
.article ul.num li::before,
.article .links li::before{
    display: none;
}
.article li + li{
    margin-top: 0.8rem;
}
.article ul.acf-ul li span{
    color: #101512;
    font-weight: normal;
}
.article ul.flex{
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
}
.article ul.flex li{
    width: calc(50% - 2.4rem);
    box-sizing: border-box;
}
.article ul.flex li:nth-child(2){
    margin-top: 0;
}
.article .img,
.article .iframe{
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.article .img:last-child,
.article .iframe:last-child{
    margin-bottom: 0;
}
.article .img .img-box{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}
.article .img.wide .img-box{
    max-width: none;
}
.article .img img,
.article .img  iframe{
    width: 100%;
}
.article .img.flex{
    display: flex;
    justify-content: center;
    margin-left: -0.8rem;
    margin-right: -0.8rem;
}
.article .img.flex .img-box{
    width: 50%;
    box-sizing: border-box;
    padding: 0 0.8rem;
}
.article .img .caption{
    display: block;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #656B68;
    margin-top: 2rem;
}
.article .iframe{
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}
.article .iframe iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.article table{
    width: 100%;
    border-collapse: collapse;
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.article table.acf-table{
    font-size: 1.6rem;
}
.article h1 + table,
.article h2 + table,
.article h3 + table,
.article h4 + table,
.article table:first-child{
    margin-top: 1.6rem;
}
.article table:last-child{
    margin-bottom: 0;
}
.article table.acf-table th,
.article table.acf-table td{
    letter-spacing: 0.05rem;
    border-top: solid 1px #e0e0e0;
    border-bottom: solid 1px #e0e0e0;
    padding: 2rem 0;
}
.article table.acf-table th{
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    font-weight: bold;
    text-align: center;
    color: #929191;
    background: #f5f5f5;
    width: 30%;
}
.article table.acf-table td{
    padding-left: 2.4rem;
}
.article .links{
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 4rem 0;
}
.article h1 + .links,
.article h2 + .links,
.article h3 + .links,
.article h4 + .links,
.article .links:first-child{
    margin-top: 0;
}
.article .links:last-child{
    margin-bottom: 0;
}
.article .links li{
    width: calc(50% - 2.4rem);
    border-bottom: solid 1px #e0e0e0;
    padding: 0;
    display: flex;
    align-items: center;
}
.article .links.wide li{
    width: 100%;
}
.article .links li:first-child,
.article .links:not(.wide) li:nth-child(2){
    border-top: solid 1px #e0e0e0;
}
.article .links li + li{
    margin: 0;
}
.article .links li a{
    display: block;
    padding: 4rem 2.4rem 4rem 0;
    color: #101512;
    display: flex;
    align-items: center;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
}
.article .links li a .txt {
    flex: 1;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .article .links li a:hover .txt {
        color: var(--col-main);
    }
}
.article .links li a .ico{
    display: block;
    width: 2rem;
    height: 2rem;
    margin-left: 2rem;
    background: url(../img/ico_arrow_link.svg) no-repeat center;
    background-size: cover;
    transition: background 0.1s ease;
}
.article .links li a.pdf .ico{
    background-image: url(../img/ico_pdf.svg);
}
.article .links li a[target="_blank"]:not(.pdf) .ico{
    background-image: url(../img/ico_ex_link.svg);
}
.article .links li .pdf::after,
.article .links li a[target="_blank"]::after{
    display: none;
}
.article .pdf::after,
.article a[target="_blank"]::after,
.topics-list a[target="_blank"] dd .txt::after,
.column-details-list li a[target="_blank"] .txt::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background: url(../img/ico_pdf_col.svg) no-repeat center;
    background-size: cover;
    margin: 0 0.2em;
    transform: translateY(-1px);
    transition: background 0.1s ease;
}
.article a[target="_blank"]::after,
.topics-list a[target="_blank"] dd .txt::after,
.column-details-list li a[target="_blank"] .txt::after{
    background-image: url(../img/ico_ex_link_col.svg);
}
.article + .link-btn{
    margin-top: 4.8rem;
    border-top: solid 1px #f0f0f0;
    border-bottom: solid 1px #f0f0f0;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
body::before{
    content: "";
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    background-image: url(../img/ico_pdf_hover.svg), url(../img/ico_ex_link_hover.svg);
}
@media (min-width: 1025px){
    .article .links li a:hover .ico svg {
        fill: var(--col-main);
    }
    .article .links li a:hover .ico{
        background-image: url(../img/ico_arrow_link_hover.svg);
    }
    .article .pdf:hover::after,
    .article .links li a.pdf:hover .ico{
        background-image: url(../img/ico_pdf_hover.svg);
    }
    .article a[target="_blank"]:hover::after,
    .article .links li a[target="_blank"]:not(.pdf):hover .ico,
    .topics-list a[target="_blank"]:hover dd .txt::after,
    .column-details-list li a[target="_blank"]:hover .txt::after{
        background-image: url(../img/ico_ex_link_hover.svg);
    }
}
@media (max-width: 767px){
    .article h2:not(.article-sub-ttl, .article-min-ttl),
    .article-ttl, .detail-page-article-head h1 {
        font-size: 2.2rem;
        margin-bottom: 3.2rem;
        padding-bottom: 0.8rem;
    }
    .article-ttl.flex span,
    .article-ttl.flex a{
        font-size: 1.4rem;
    }
    .article ul.flex{
        display: block;
    }
    .article ul.flex li{
        width: 100%;
    }
    .article ul.flex li:nth-child(2){
        margin-top: 0.8rem;
    }
    .article h3:not(.article-sub-ttl, .article-min-ttl),
    .article-sub-ttl{
        padding-left: calc(0.5rem + 1.3rem);
        margin-top: 3.2rem;
        margin-bottom: 1.2rem;
    }
    .article h4,
    .article-min-ttl {
        font-size: 1.6rem;
        margin-top: 2rem;
        margin-bottom: 1.2rem;
    }
    .article h3:not(.article-sub-ttl, .article-min-ttl)::before,
    .article-sub-ttl::before{
        height: 88%;
        top: 6%;
    }
    .article ul {
        margin: 1.6rem 0;
    }
    .article li::before{
        top: 0.7rem;
    }
    .article ul.num li {
        padding-left: 0;
    }
    .article.acf-table table th,
    .article.acf-table table td{
        font-size: 1.5rem;
        padding: 1.6rem 0;
    }
    .article.acf-table table th{
        width: 40%;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }
    .article.acf-table table td{
        padding-left: 1.6rem;
    }
    .article .links {
        display: block;
        margin: 3.2rem 0;
    }
    .article .links li {
        width: 100%;
    }
    .article .links:not(.wide) li:nth-child(2) {
        border-top: none;
    }
    .article .links li a {
        padding: 2.4rem 1.2rem 2.4rem 0;
    }
    .article .img.flex {
        display: block;
        margin-left: 0;
        margin-right: 0;
    }
    .article .img.flex .img-box {
        width: 100%;
        padding: 0;
    }
    .article .img,
    .article .iframe{
        margin-top: 4rem;
        margin-bottom: 4rem;
    }
    .article table{
    }
    .article .iframe{
        padding-top: 100%;
    }
    .article + .link-btn{
        margin-top: 3.2rem;
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
    }
    .article table.acf-table th,
    .article table.acf-table td{
        font-size: 1.4rem;
    }
    .article table.acf-table th{
        width: auto;
        min-width: 2.1em;
        padding: 1.2rem 1.6rem;
    }
    .article table.acf-table td{
        padding: 1.2rem 0 1.2rem 1.6rem;
    }
}


/* -- column-list
-------------------------------------------------------------------------------- */
.article + .column-list{
    margin-top: 6rem;
}
.column-list li{
    padding-top: 4.8rem;
    border-top: solid 1px #f0f0f0;
}
.column-list li + li{
    margin-top: 4.8rem;
}
.column-list li a{
    display: flex;
    align-items: center;
}
.column-list .ttl {
    font-size: 2rem;
    letter-spacing: 0.1em;
    transition: color 0.1s ease;
    margin-bottom: 2.4rem;
}
.column-list .column {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    font-weight: bold;
    color: #929191;
    margin-bottom: 2rem;
    transition: color 0.1s ease;
}
.column-list-img{
    width: 28rem;
    height: 28rem;
    border-radius: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease;
}
.column-list-img img{
    width: 28rem;
    height: 28rem;
    border-radius: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (min-width: 1025px){
    .column-list a:hover .ttl {
        color: var(--col-main);
    }
    .column-list a:hover .column {
        color: var(--col-main);
    }
    .column-list a:hover .column-list-img {
        transform: scale(0.97);
    }
    .column-list a:hover .column-list-img img {
        transform: scale(1.12);
        opacity: 0.6;
    }
}
.column-list-img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.column-list .column-list-body{
    flex: 1;
    padding-left: 6rem;
}
.column-list .column-list-body .sub-ttl {
    letter-spacing: 0.05em;
}
.column-list .column-list-body p {
    display: flex;
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-align: justify;
}
.column-list .column-list-body .sub-ttl + p {
    margin-top: 0.8rem;
}
.column-list .column-list-body dl {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 2rem;
}
.column-list .column-list-body dt {
    color: #929191;
    font-weight: bold;
}
.section-nav li a .column{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    color: #929191;
    transition: color 0.1s ease;
    margin-bottom: 1rem;
}
.section-nav li a.active .column {
    color: var(--col-main);
}
@media (min-width: 1025px){
    .section-nav li a:hover .column {
        color: var(--col-main);
    }
}
.lead-name{
    margin-top: 3.2rem;
}
.lead-name dt{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
.lead-name dd{
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-top: 0.4rem;
}
.column-details-list-block{
    margin-top: 6rem;
    border-top: solid 1px #f0f0f0;
}
.article .column-details-list-block h3{
    margin-top: 6rem;
}
.article .column-details-list-block h3 span{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    font-weight: normal;
    line-height: 1.6;
    margin-top: 0.4rem;
}
.article .column-details-list-block h4{
    margin-bottom: 0;
}
.article .column-details-list-block h4 span{
    background: var(--col-sub);
}
.article .column-details-list-block .note{
    margin-top: 0;
}
.article .column-details-list-block h4 + .note{
    margin-top: 0.4rem;
}
.article .column-details-list {
    margin: 4rem 0 0;
}
.column-details-list li{
    padding: 0;
    font-weight: normal;
}
.column-details-list li::before{
    display: none;
}
.column-details-list li + li{
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    border-top: solid 1px #f0f0f0;
}
.column-details-list li a{
    color: #101512;
    line-height: 1.4;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.1s ease;
}
.column-details-list li a[target="_blank"]::after{
    display: none;
}
.column-details-list li a .txt{
    flex: 1;
    transition: color 0.1s ease;
}
.column-details-list li a .num{
    width: 7rem;
    color: #929191;
    font-weight: bold;
    letter-spacing: 0.1em;
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .article .column-details-list li a:hover .txt,
    .article .column-details-list li a:hover .num{
        color: var(--col-main);
    }
}
.article .article-ttl .column{
    display: block;
    font-size: 2rem;
    letter-spacing: 0.02em;
    color: var(--col-main);
    margin-bottom: 2.4rem;
}
.index-btn.space-between{
    justify-content: space-between;
    padding-right: 0;
}
.index-btn .index-btn-page{
    display: flex;
}
.index-btn .index-btn-page .next::before{
    content: "";
    display: inline-block;
    height: 100%;
    border-left: solid 1px #e0e0e0;
    margin-left: 2.4rem;
    padding-left: 2.4rem;
}
.index-btn p{
    opacity: 0.3;
}
.index-btn a.next .ico,
.index-btn p.next .ico{
    margin-right: 0;
    margin-left: 1.1rem;
}
.index-btn a.next .ico img,
.index-btn p.next .ico img{
    transform: scale(1, 1);
}
@media (min-width: 1025px){
    .index-btn a.next:hover .ico{
        transform: translateX(0.4rem);
    }
}
.article .column-details-head{
    margin-bottom: 4.8rem;
}
.article .column-details-head .column-ttl{
    width: calc(100% + 16rem);
    margin: -8rem -8rem 0;
    border-bottom: solid 1px #f0f0f0;
    padding: 6rem 6rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
.article .column-details-head .column-ttl::before{
    display: none;
}
.article .column-details-head .column-ttl .num{
    color: var(--col-main);
}
.article .column-details-head .column-ttl .txt{
    flex: 1;
    padding-left: 3.2rem;
}
.column-details-head .column-name span.position{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    font-weight: normal;
    line-height: 1.6;
    margin-top: 0.4rem;
}
.column-details-head .article-ttl .theme{
    display: block;
    font-size: 2rem;
    letter-spacing: 0.05em;
    margin-bottom: 3.2rem;
}
.column-details-head .article-ttl .theme span{
    background: var(--col-sub);
}
.column-details-head .article-ttl .article-ttl-inner{
}
.column-details-head .article-ttl .num{
    font-size: 2rem;
    line-height: 1.6;
    display: flex;
    align-items: center;
    margin-bottom: 0.8rem;
}
.column-details-head .article-ttl .num::before{
    content: "●";
    font-size: 1.6rem;
    color: var(--col-main);
    margin-right: 0.6rem;
}
.column-details-head .article-ttl .date{
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    font-weight: normal;
    line-height: calc(2rem * 1.6);
    margin-bottom: 0.8rem;
}
.column-details-head .article-ttl .num .date{
    margin-bottom: 0;
}
.column-details-head .article-ttl .txt{
    flex: 1;
}
.article table:not(.acf-table) th,
.article table:not(.acf-table) td{
    font-size: 1.5rem;
    padding: 1.2rem;
    text-align: center;
}
.article table:not(.acf-table) th{
    font-weight: bold;
}
.article table:not(.acf-table) tbody tr .right {
    text-align: left;
    
}
.article table:not(.acf-table) tbody tr td {
    text-align: right;
}
.article table:not(.acf-table) tbody tr .tdcenter {
    text-align: center;
}
.article table:not(.acf-table) p{
    font-size: 1.5rem;
    text-align: left;
}
.article table:not(.acf-table) p strong{
    background: transparent;
}
.column-details-list-block.bt-none{
    margin-top: 0;
    border-top: none;
}
.column-details-list-block.bt-none h3{
    margin-top: 0;
}
.article-ttl .position {
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-top: 0.4rem;
}
.article sup {
    line-height: 1;
}
@media (max-width: 1320px){
    .article table:not(.acf-table) th,
    .article table:not(.acf-table) td{
        padding: 1rem;
        font-size: 1.2rem;
        min-width: 2em;
    }
    .article table:not(.acf-table) p{
        font-size: 1.2rem;
    }
}
@media (max-width: 767px){
    .article + .column-list {
        margin-top: 3.2rem;
    }
    .column-list li {
        padding-top: 3.2rem;
    }
    .column-list li + li {
        margin-top: 3.2rem;
    }
    .column-list li a {
        display: block;
    }
    .column-list .column-list-img{
        width: 24rem;
        height: 24rem;
        margin: 0 auto 2rem;
    }
    .column-list .column{
        color: var(--col-main);
        margin-bottom: 1.2rem;
    }
    .column-list .column-list-body {
        padding-left: 0;
    }
    .column-list .column-list-body dl{
        display: block;
    }
    .column-list .column-list-body dl dt{
        margin-bottom: 0.4rem;
    }
    .lead-name {
        margin-top: 2.4rem;
    }
    .column-details-list-block{
        margin-top: 4rem;
    }
    .article .column-details-list-block h3 {
        margin-top: 4rem;
    }
    .article .column-details-list {
        margin-top: 3.2rem;
    }
    .article .column-details-head {
        margin-bottom: 4rem;
    }
    .article .column-details-head .column-ttl {
        margin: -3.2rem -3.2rem 0;
        width: calc(100% + 6.4rem);
        padding: 3.2rem 3.2rem;
        font-size: 1.6rem;
        display: block;
    }
    .article .column-details-head .column-ttl .num {
        display: block;
        font-size: 1.4rem;
        letter-spacing: 0.02em;
        margin-bottom: 0.8rem;
    }
    .article .column-details-head .column-ttl .txt {
        display: block;
        padding-left: 0;
    }
    .article .column-details-head .article-ttl {
        margin-top: 3.2rem;
    }
    .article .article-ttl .column {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }
    .column-details-head .article-ttl .theme {
        font-size: 1.6rem;
        margin-bottom: 2.4rem;
    }
    .column-details-head .article-ttl .article-ttl-inner {
        display: block;
    }
    .column-details-head .article-ttl .num{
        font-size: 1.8rem;
        margin-bottom: 0.4rem;
    }
    .column-details-head .article-ttl .num::before {
        content: "●";
        font-size: 1.4rem;
        color: var(--col-main);
        margin: 0 0.4rem 0 0;
        transform: translateY(-1px);
    }
    .column-details-head .article-ttl .date {
        font-size: 1.4rem;
        line-height: calc(1.6rem * 1.6);
    }
    .column-details-head .column-name span.position {
        font-size: 1.2rem;
    }
    .index-btn .index-btn-page .next::before {
        margin-left: 2rem;
        padding-left: 2rem;
    }
    .article table{
        padding: 0.8rem;
        font-size: 1rem;
    }
    .article table:not(.acf-table) th,
    .article table:not(.acf-table) td{
        padding: 0.8rem;
        font-size: 1rem;
    }
    .article table:not(.acf-table) p {
        font-size: 1rem;
        text-align: left;
        letter-spacing: 0;
        line-height: 1.6;
    }
    .article table:not(.acf-table) p + p {
        margin-top: 1em;
    }
}


/* -- footer
-------------------------------------------------------------------------------- */
footer{
    background: #3E413F;
    color: #fff;
    padding: 6rem 0 8rem;
}
footer .footer-inner{
    padding: 0 5%;
}
footer .footer-body{
}
footer nav ul{
    justify-content: flex-end;
}
footer .footer-content{
}
footer .logo-mark{
    width: 6rem;
    margin-bottom: 2rem;
    margin-left: 0.2rem;
}
footer .logo-mark img{
    width: 100%;
    opacity: 0.5;
}
footer .ttl{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    padding-left: calc(4rem + 2rem);
    position: relative;
}
footer .ttl::before{
    content: "";
    display: block;
    width: 4rem;
    height: calc(4rem * 1.27835052);
    background: url(../img/logo.svg) no-repeat center / cover;
    filter: brightness(0) invert(1);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    opacity: 0.4;
}
footer .address{
    font-size: 1.4rem;
    line-height: 1.8;
    margin-top: 2.4rem;
}
footer .contact{
    font-size: 1.4rem;
    margin-top: 1.2rem;
}
footer .contact a{
    color: #fff;
    transition: opacity 0.1s ease;
}
@media (min-width: 1025px){
    footer .contact a:hover{
        opacity: 0.6;
    }
}
footer .footer-foot{
    margin-top: 6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
}
footer .logo{
    display: block;
    height: 2.4rem;
}
footer .logo svg{
    display: block;
    height: 100%;
    fill: #fff;
}
footer .copyright{
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 0.05em;
    opacity: 0.5;
}
@media (max-width: 767px){
    footer{
        padding: 4rem 0 6rem;
    }
    footer .footer-inner {
        padding: 0 5%;
    }
    footer .logo-mark {
        width: 4.8rem;
        margin-bottom: 1.6rem;
    }
    footer .footer-content{
        margin-top: 6rem;
    }
    footer .footer-foot {
        display: block;
    }
    footer .logo {
        height: 2rem;
    }
    footer .copyright{
        margin-top: 2rem;
    }
}