@charset "utf-8";
/* tomonokai */

#page_tomonokai .page_titlebox::before {
content: "TOMONOKAI";
}
.content {
padding: 0;
}

/*-------------------------------------------------
page navi
-------------------------------------------------*/

.page_navi {
font-family: "Noto Serif JP", serif;
display: flex;
justify-content: center;
align-content: center;
padding: 20px 0;
margin-bottom: 70px;
border-top: solid 1px #85723D;
border-bottom: solid 1px #85723D;
}
.page_navi li {
padding: 0 70px;
font-size: 1.5rem;
border-right: solid 1px #85723D;
}

@media all and (max-width : 1260px ){
.page_navi li {
padding: 0 50px;
}
}

@media all and (max-width : 1100px ){
.page_navi li {
font-size: 1.4rem;
padding: 0 40px;
}
}

@media screen and (max-width: 980px) {
.page_navi li {
padding: 0 30px;
font-size: 1.3rem;
}
}

@media screen and (max-width: 820px) {
.page_navi li {
padding: 0 20px;
font-size: 1.2rem;
}
}

.page_navi li:last-of-type {
border-right: none;
}
.page_navi li a {
color: #BCA461;
transition: all 0.3s	
}
.page_navi li a:hover {
color: #8E7742;
transition: all 0.3s
}
.u_line_gold {
position: relative;
z-index: 1;
}
.u_line_gold:after {
content: '';
position: absolute;
left: 0;
bottom: -8px;
width: 0%;
height: 1px;
background: #8E7742;
z-index: -1;
transition: all 0.3s;
}
.line_effect:hover .u_line_gold:after {
width: 100%;
}

@media all and (max-width : 767px ){
.page_navi {
padding: 15px 0 0px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.page_navi li {
padding: 0 15px;
margin-bottom: 15px;
font-size: 1.1rem;
white-space: nowrap;
letter-spacing: 0.05em;
}
.page_navi li:nth-child(3) {
border-right: none;
}
}


/*-------------------------------------------------
sec_about
-------------------------------------------------*/

.sec_about {
padding: 0 0 80px;
}

@media all and (max-width : 1024px ){
.sec_about {
padding: 0 0 40px;
}
}

.intro_imgbox {
position: relative;
margin-bottom: 40px;
}
.intro_img {
position: relative;
width: 100%;
height: auto;
z-index: 3;
}
.intro_img::after {
content: "";
display: block;
background-image: url("../img/common/bg_grid_40.png");
background-repeat: repeat;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.intro_img img {
width: 100%;
}
.about_tiltle {
font-family: "EB Garamond", serif;
font-weight: 400;
font-size: 5.0rem;
letter-spacing: 0.05em;
line-height: 100%;
color: #B29458;
writing-mode: vertical-rl;
position: absolute;
top: -45px;
right: 0;
z-index: 4;
}
.about_txtbox {
max-width: 980px;
margin: 0 auto;
}
.about_subtitle {
font-family: "Noto Serif JP", serif;
font-weight: 400;
font-size: 2.2rem;
letter-spacing: 0.4em;
color: #fff;
margin-bottom: 30px;
}
.about_txt {
font-size: 1.5rem;
line-height: 200%;
}

@media all and (max-width : 767px ){
.sec_about {
padding: 0 0 20px;
}
.intro_imgbox {
position: relative;
margin-bottom: 20px;
}
.about_tiltle {
font-size: 2.0rem;
top: -15px;
right: 0;
}
.about_subtitle {
font-size: 1.6rem;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.about_txt {
font-size: 1.3rem;
line-height: 180%;
}
}


/*-------------------------------------------------
sec_title
-------------------------------------------------*/

.sec_titlebox {
display: flex;
flex-direction: column;
align-items: center;
padding-bottom: 20px;
margin-bottom: 50px;
position: relative;
}
.sec_titlebox::after {
content: "";
display: block;
width: 15px;
height: 1px;
background-color: #cc0000;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.sec_titlebox dt {
font-family: "Noto Serif JP", serif;
font-weight: 500;
font-size: 2.4rem;
color: #fff;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 10px;
}
.sec_titlebox dd {
font-family: "EB Garamond", serif;
font-weight: 500;
font-size: 1.4rem;
color: #B29458;
}

@media all and (max-width : 767px ){
.sec_titlebox {
margin-bottom: 20px;
}
.sec_titlebox dt {
font-size: 1.6rem;
letter-spacing: 0.2em;
}
.sec_titlebox dd {
font-size: 1.0rem;
letter-spacing: 0.05em;
}
}



/*-------------------------------------------------
sec_outline
-------------------------------------------------*/

.sec_outline {
/*background: linear-gradient(rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.0001) 30%), linear-gradient(rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.975) 100%);*/
background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 1.0), transparent);
position: relative;
padding: 80px 0;
}

@media all and (max-width : 1024px ){
.sec_outline {
padding: 40px 0;
}
}

.outline_box {
display: flex;
align-items: center;
letter-spacing: 0.2em;
padding: 25px 20px;
border-bottom: solid 1px rgba(255,255,255,0.2);
}
.outline_box dt {
width: 20%;
}
.outline_box dd {
width: 80%;
}
.outline_box dd a {
color: #B29458;
text-decoration: underline;
}
.outline_box dd a:hover {
text-decoration: none;
}
.outline_box dd ul li {
padding-left: 15px;
background-image: url("../img/common/icon_nakaguro.svg");
background-repeat: no-repeat;
background-position: left 10px;
margin-bottom: 6px;
}
.sponsor_txt {
padding: 30px 0 10px;
}

@media all and (max-width : 767px ){
.outline_box {
display: flex;
flex-direction: column;
align-items: flex-start;
letter-spacing: 0.2em;
padding: 20px 10px;

}
.outline_box dt {
width: 100%;
font-size: 1.4rem;
margin-bottom: 15px;
}
.outline_box dd {
width: 100%;
font-size: 1.3rem;
}
.outline_box dd ul li {
padding-left: 12px;
background-position: left 8px;
margin-bottom: 5px;
}
.sponsor_txt {
padding: 20px 0 10px;
}
}


/*-------------------------------------------------
天長地久
-------------------------------------------------*/

.sec_tencho {
padding: 80px 0 100px;
background: rgba(0,0,0,0.85);
}

@media all and (max-width : 1024px ){
.sec_tencho {
padding: 80px 0 50px;
}
}

.news_box {
display: flex;
align-items: center;
padding: 25px 15px;
border-bottom: solid 1px rgba(255,255,255,0.2);
}
.news_box dt {
width: 20%;
font-family: "EB Garamond", serif;
font-weight: 400;
font-size: 1.6rem;
letter-spacing: 0.15em;
}
.news_box dd {
width: 80%;
}
.news_box dd a {
letter-spacing: 0.2em;
transition-duration: 0.5s;
}
.news_box dd a:hover {
color: #B29458;
text-decoration: underline;
}
.news_box.hidden {
opacity: 0;
height: 0;
padding: 0;
}
.link_btn_box .more_btn {
font-family: "Noto Serif JP", serif;
font-weight: 500;
max-width: 380px;
color: #B29458;
width: 100%;
background: transparent;
padding: 15px 20px;
margin-top: 50px;
border: solid 1px #8E7742;
position: relative;
letter-spacing: 0.2em;
transition: all 0.3s;
}
.link_btn_box .more_btn:hover {
background-color: #8E7742;
color: #fff;
transition: all 0.3s;
cursor: pointer;
}
.sec_tencho .link_btn_box .btn_arrow::after {
content: '';
position: absolute;
top: 40%;
right: 20px;
width: 8px;
height: 8px;
border-top: 1px solid #B29458;
border-right: 1px solid #B29458;
transform: rotate(135deg);
transition: ease .3s;
}
.sec_tencho .link_btn_box .btn_arrow:hover::after { /*hoverした際のアニメーション*/
top: 48%;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transition: .3s;
}

@media all and (max-width : 767px ){
.sec_tencho {
padding: 20px 0 40px;
}
.news_box {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 20px 10px;
}
.news_box dt {
width: 100%;
font-size: 1.4rem;
margin-bottom: 10px;
}
.news_box dd {
width: 100%;
font-size: 1.2rem;
}
.news_box dd a {
letter-spacing: 0.1em;
}
.link_btn_box .more_btn {
font-size: 1.2rem;
max-width: 280px;
padding: 12px 20px;
margin-top: 25px;

}
}


/*-------------------------------------------------
sec_public
-------------------------------------------------*/

.sec_public {
padding: 80px 0 100px;
background: rgba(0,0,0,0.85);
}

@media all and (max-width : 1024px ){
.sec_public {
padding: 80px 0 50px;
}
}

.sec_txt {
line-height: 200%;
margin-bottom: 50px;
}

@media all and (max-width : 767px ){
.sec_public {
padding: 30px 0 0px;
}
.sec_txt {
line-height: 180%;
margin-bottom: 30px;
font-size: 1.2rem;
}
}

/* swiper
-------------------------------------------------- */


.l-inner {
position: relative;
}
.slide-media,
.thumb-media {
position: relative;
overflow: hidden;
}
.slide-media img,
.thumb-media img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
object-fit: cover;
}
.swiper-button-prev, .swiper-button-next {
display: grid;
place-content: center;
width: 6.4rem;
height: 6.4rem;
cursor: pointer;
transition: .8s;
}
.swiper-button-prev::before, .swiper-button-next::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
content: "";
border-radius: 50%;
}
.swiper-button-prev::after, .swiper-button-next::after {
width: 1.2rem;
height: 1.2rem;
content: "";
border: solid #000;
border-width: 3px 3px 0 0;
}
.swiper-button-prev::after {
margin-left: 0.4rem;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.swiper-button-next::after {
margin-right: 0.4rem;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.swiper-button-disabled {
pointer-events: none;
opacity: 0;
}
.gallery01 {
overflow: hidden;
}
.gallery01 .swiper-fade .swiper-slide {
transition-property: opacity, transform !important;
pointer-events: none;
}
.gallery01 .swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.gallery01 .swiper-controller {
position: absolute;
top: 0;
left: 0;
width: 100%;
padding-top: 66.6%;
}
.gallery01 .swiper-button-prev, .gallery01 .swiper-button-next {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
margin: auto;
}
.gallery01 .swiper-scrollbar {
position: relative;
margin-top: 30px;
}
.gallery01 .swiper-scrollbar::after {
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
margin: auto;
content: "";
background-color: #eee;
}
.gallery01 .swiper-scrollbar-drag {
height: 4px;
cursor: pointer;
z-index: 5;
background-color: #8E7742;
background-clip: content-box;
}
.gallery01 .swiper-scrollbar-drag:active {
background-color: #8E7742;
}
.gallery01 .slide {
display: block;
overflow: hidden;
}
.gallery01 .slide-media {
padding-top: 66.6%;
}
.gallery01 .slide-media img {
object-fit: contain;
}
.gallery01 .slide-title {
font-size: 1.4rem;
letter-spacing: 0.2em;
padding: 3.2rem 0;
}
.gallery01 .thumb-media {
padding-top:66.45%;
opacity: 0.3;
padding-bottom: 3px;
}
.gallery01 .thumb-media img {
width: 100%;
height: auto;
object-fit: cover;
}
.gallery01 .swiper-slide-thumb-active {
transition: .8s;
opacity: 1;
}
.gallery01 .swiper-slide-thumb-active .thumb-media {
opacity: 1;
}
.gallery01 .swiper-slide-thumb-active .thumb-media img {
border: solid 3px #B29458;
}
.gallery01 .swiper-button-prev::before, .gallery01 .swiper-button-next::before {
background-color: #fff;
}
.gallery01 .swiper-button-prev::after, .gallery01 .swiper-button-next::after {
border-color: #000;
}
.gallery01 .swiper-button-prev {
right: calc(100% - 3.2rem);
}
.gallery01 .swiper-button-next {
left: calc(100% - 6.2rem);
}
.swiper-button-prev, .swiper-button-next {
width: 5.5rem;
height: 5.5rem;
}
.swiper-button-prev::before, .swiper-button-next::before {
transition: .8s;
}
.gallery01 .swiper-scrollbar-drag:hover {
background-color: #37454A;
}

@media all and (max-width : 767px ){
.swiper-button-prev, .swiper-button-next {
width: 36px;
height: 36px;
}
.swiper-button-prev::after, .swiper-button-next::after {
width: 0.8rem;
height: 0.8rem;
border-width: 2px 2px 0 0;
}
.gallery01 .slide-title {
font-size: 1.1rem;
padding: 10px 0;
}
.gallery01 .swiper-scrollbar-drag {
height: 4px;
position: relative;
top: 1px;
}
}



/*-------------------------------------------------
.sec_member
-------------------------------------------------*/

.sec_member {
padding: 80px 0 100px;
background: rgba(0,0,0,0.85);
}
.table_scroll_wrap {
width: 100%;
overflow: hidden;
}
.table_scroll_inner {
overflow-x: auto;
}
.member_table {
width: 100%;
border-collapse: collapse;
margin-bottom: 50px;
}
.member_table th {
padding: 20px 10px;
font-size: 1.8rem;
font-weight: 400;
color: #BCA461;
letter-spacing: 0.2em;
text-align: center;
background: rgba(255,255,255,0.16);
border-right: solid 1px #000;
border-bottom: solid 1px #000;
}
.member_table td {
padding: 20px 10px;
font-size: 1.5rem;
font-weight: 400;
text-align: center;
background: rgba(255,255,255,0.1);
border-right: solid 1px #000;
border-bottom: solid 1px #000;
}
.join_title {
font-family: "Noto Serif JP", serif;
font-size: 2.2rem;
font-weight: 500;
color: #B29458;
letter-spacing: 0.4em;
display: block;
text-align: center;
margin-bottom: 35px;
}
.join_box {
width: 100%;
font-family: "Noto Serif JP", serif;
padding: 40px 20px;
border: solid 1px #8E7742;
margin-bottom: 60px;
display: flex;
flex-direction: column;
align-items: center;
}
.block_subtitle {
font-size: 2.2rem;
font-weight: 500;
color: #B29458;
letter-spacing: 0.4em;
}
.block_txtbox {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 30px;
letter-spacing: 0.2em;
}
.block_txtbox dt {
font-size: 1.6rem;
margin-bottom: 10px;
}
.block_txtbox dt span {
font-size: 1.4rem;
}
.block_txtbox dt a {
text-decoration: underline;
}
.block_txtbox dt a:hover {
text-decoration: none;
}
.block_txtbox dd {
font-size: 1.4rem;
}
.join_box .link_btn_box {
margin-top: 30px;
}
.apply_txt {
text-align: center;
margin-bottom: 50px;
}

@media all and (max-width : 767px ){
.sec_member {
padding: 60px 0 50px;
}
.component_box {
width: 550px;
}
.member_table {
margin-bottom: 0px;
}
.member_table th {
padding: 15px 15px;
font-size: 1.4rem;
letter-spacing: 0.15em;
}
.member_table td {
padding: 15px 10px;
font-size: 1.2rem;
text-align: left;
background: rgba(255,255,255,0.1);
}
.member_table td.no_wrap {
white-space: nowrap;
}
.member_table td.txt_center {
text-align: center;
}
.join_title {
font-size: 1.8rem;
letter-spacing: 0.2em;
margin: 30px 0 20px;
}
.join_box {
padding: 20px 10px 25px;
margin-bottom: 30px;
}
.block_subtitle {
font-size: 1.5rem;
font-weight: 600;
letter-spacing: 0.2em;
}
.block_txtbox {
margin-top: 15px;
letter-spacing: 0.1em;
}
.block_txtbox dt {
font-size: 1.3rem;
text-align: center;
margin-bottom: 10px;
}
.block_txtbox dt span {
font-size: 1.2rem;
}
.block_txtbox dd {
font-size: 1.2rem;
text-align: center;
}
.apply_txt {
font-size: 1.2rem;
margin-bottom: 30px;
}
}