
body {
color: #1a4017;
}


/*--------------------------------------------------------------------------
adjust
---------------------------------------------------------------------------*/
b {
font-weight: 500;
}


.cm-title {
text-align: center;
}
.cm-title .en {
display: block;
font-size: 48px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings:
"wdth" 100;
line-height: 48px;
}
.cm-title .ja {
margin-top: 6px;
font-size: 14px;
line-height: 1.6;
}
@media screen and (max-width: 960px) {
.cm-title .en {
display: block;
font-size: 40px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings:
"wdth" 100;
line-height: 40px;
}
.cm-title .ja {
margin-top: 6px;
font-size: 13px;
line-height: 1.5;
}
}

/*--------------------------------------------------------------------------
lead
---------------------------------------------------------------------------*/

.lead {
width: 86.6666%;
max-width: 1200px;
margin: 0 auto;
text-align: center;
font-family: "Shippori Mincho", serif;
font-weight: 400;
font-style: normal;
}
.lead b {
font-size: 36px;
font-weight: normal;
line-height: 2;
}
.lead p {
font-size: 16px;
line-height: 2.4;
}


@media screen and (max-width: 960px) {
.lead {
text-align: left;
}
.lead b {
font-size: 24px;
line-height: 1.5;
}
.lead p {
font-size: 14px;
line-height: 2;
}
.lead p br {
display: none;
}
}



.lead-gallery .swiper-gallery {
overflow: hidden;
}

.lead-gallery .swiper-gallery .swiper-pagination {
position: relative!important;
bottom: 0!important;
}
.lead-gallery .swiper-gallery .swiper-pagination-bullet-active {
background: #c4b62d;
}

/*--------------------------------------------------------------------------
point
---------------------------------------------------------------------------*/
.point ul.point-list {
align-items: flex-start;
}
.point ul.point-list li {
width: 31%;
}
.point ul.point-list li .txt {
margin-top: 15px;
}
.point ul.point-list li .txt .label {
width: 80px;
position: relative;
text-align: right;
opacity: 0.5;
}
.point ul.point-list li .txt .label::before {
content: "";
display: block;
width: 100%;
height: 1px;
position: absolute;
left: 0;
top: 50%;
background: #1a4017;
}
.point ul.point-list li .txt .label span {
display: inline-block;
padding-left: 10px;
font-size: 11px;
background: #fff;
position: relative;
}
.point ul.point-list li .txt b {
display: block;
margin-top: 6px;
font-size: 18px;
line-height: 1.5;
}
.point ul.point-list li .txt p {
margin-top: 6px;
font-size: 14px;
line-height: 1.8;
}

@media screen and (max-width: 960px) {
.point ul.point-list li .txt p {
margin-top: 6px;
font-size: 14px;
line-height: 1.6;
}
}

@media screen and (max-width: 768px) {
.point .point-box {
max-width: 960px;
overflow-x: scroll;
}
.point ul.point-list {
width: 960px;
margin: 0 6.7777%;
}
.point ul.point-list li {
width: 32%;
}
.point ul.point-list li .txt b {
font-size: 15px;
}
.point ul.point-list li .txt p {
font-size: 13px;
line-height: 1.7;
}
}

/*--------------------------------------------------------------------------
fair
---------------------------------------------------------------------------*/
.fair {
background: #f7f9f5;
position: relative;
}
.fair .dec {
display: block;
width: 40px;
position: absolute;
top: -3px;
left: 10%;
}

.fair .copy {
width: 80%;
max-width: 440px;
margin: 0 auto;
}
.fair ul.fair-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2%;
align-items: stretch;
}

.fair ul.fair-list li {
background: #fff;
display: flex;
flex-direction: column;
}

.fair ul.fair-list li .cover {
aspect-ratio: 3 / 2;
position: relative;
}

.fair ul.fair-list li .cover img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

/* ラベル */
.fair ul.fair-list li .cover .label {
position: absolute;
bottom: 0;
left: 0;
right: 0;
text-align: center;
transform: translateY(50%);
z-index: 2;
}
.fair ul.fair-list li .cover .label span {
display: inline-block;
padding: 5px 20px;
color: #fff;
background: #50884e;
position: relative;
}
.fair ul.fair-list li .cover .label span::before,
.fair ul.fair-list li .cover .label span::after {
content: "";
position: absolute;
top: 0;
width: 10px;
height: 100%;
background: #50884e;
}
.fair ul.fair-list li .cover .label span::before {
right: 100%;
clip-path: polygon(100% 0, 100% 100%, 0 50%);
}
.fair ul.fair-list li .cover .label span::after {
left: 100%;
clip-path: polygon(0 0, 100% 50%, 0 100%);
}
/* テキスト部分を残りの高さいっぱいにする */
.fair ul.fair-list li .txt {

padding: 35px 30px 30px;
background: transparent;
flex: 1;
}
.fair ul.fair-list li .txt .box b {
display: block;
font-size: 18px;
line-height: 1.5;
}
.fair ul.fair-list li .txt .box p {
margin-top: 8px;
font-size: 14px;
}

@media screen and (max-width: 960px) {
.fair .dec {
width: 30px;
}

.fair ul.fair-list {
display: block;
}
.fair ul.fair-list li {
margin-bottom: 30px;
}
.fair ul.fair-list li:last-child {
margin-bottom: 0;
}
.fair ul.fair-list li .txt .box b {
font-size: 16px;
}
.fair ul.fair-list li .txt .box p {
margin-top: 6px;
font-size: 13px;
line-height: 1.7;
}
}


.fair .present {
width: 86.6666%;
max-width: 960px;
margin: 0 auto;
}
.fair .present .label {
max-width: 440px;
margin: 0 auto;
}
.fair .present ul.present-list li {
width: 49%;
display: flex;
background: #fff;
border: solid 1px #1a4017;
}
.fair .present ul.present-list .cover {
width: 150px;
}
.fair .present ul.present-list .txt {
width: calc(100% - 150px);
padding: 0 20px;
align-self: center;
line-height: 1.5;
}
@media screen and (max-width: 960px) {
.fair .present .label {
max-width: 300px;
margin: 0 auto;
}
.fair .present ul.present-list li {
width: 100%;
margin-bottom: 15px;
}
.fair .present ul.present-list li:last-child {
margin-bottom: 0;
}
.fair .present ul.present-list .cover {
width: 120px;
}
.fair .present ul.present-list .txt {
width: calc(100% - 120px);
}
}

/*--------------------------------------------------------------------------
information
---------------------------------------------------------------------------*/

.information {
}
.information dl.information-list {
width: 86.6666%;
max-width: 800px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}
.information dl.information-list dt,.information dl.information-list dd {
padding: 20px 0;
border-bottom: dotted 1px #d7ddd6;
}
.information dl.information-list dt {
width: 120px;
}
.information dl.information-list dd {
width: calc(100% - 120px);
}
.information .label {
text-align: center;
font-size: 32px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings:
"wdth" 100;
line-height: 32px;
}
.information .map iframe {
width: 100%;
height: 20vw;
}
@media screen and (max-width: 768px) {
.information .label {
text-align: center;
font-size: 24px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings:
"wdth" 100;
line-height: 24px;
}
.information dl.information-list dt {
width: 90px;
}
.information dl.information-list dd {
width: calc(100% - 90px);
}
.information .map iframe {
width: 100%;
height: 250px;
}
}

/*--------------------------------------------------------------------------
contact
---------------------------------------------------------------------------*/
.contact {
background: #f7f9f5;
}
.contact .message {
width: 86.6666%;
max-width: 560px;
margin: 0 auto;
}
.contact .message .cover {
width: 120px;
}
.contact .message .cover img {
border-radius: 100px;
}
.contact .message .txt {
width: calc(100% - 120px);
padding: 0 0 0 20px;
}
.contact .message .txt p {
display: inline-block;
padding: 5px 10px;
border: solid 1px #1a4017;
text-align: center;
line-height: 1.6;
}

.contact ul.question-list {
width: 86.6666%;
max-width: 960px;
margin: 0 auto;
}
.contact ul.question-list li {
width: 48%;
display: flex;
padding: 15px 0;
border-bottom: dotted 1px #d7ddd6;
}
.contact ul.question-list li i {
width: 20px;
display: flex;
}
.contact ul.question-list li p {
padding-left: 10px;
}

.contact .btn {
text-align: center;
}
.contact .btn a {
width: 86.6666%;
max-width: 440px;
display: inline-block;
margin: 0 auto;
padding: 25px 0;
background: #50884e;
font-size: 15px;
color: #fff;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.contact .btn a:hover {
background: #333;
}


@media screen and (max-width: 768px) {
.contact .message .cover {
width: 100px;
}
.contact .message .txt {
width: calc(100% - 100px);
}
.contact .message .txt p {
text-align: left;
}
.contact ul.question-list li {
width: 100%;
padding: 12px 0;
}
.contact ul.question-list li i {
width: 12px;
}
}








