@charset "UTF-8";

#wrapper {
width:100%;}
.container {
position:relative;
padding:80px 0 80px 0;}
.container-0100 {
position:relative;
padding:0 0 100px 0;}
.contents {
position:relative;
margin:0 auto;
width:90%;
max-width:1050px;}

@media only screen and (max-width:1023px) {

.container {
padding:8% 0 8% 0;}
.container-0100 {
padding:0 0 10% 0;}

}

@media only screen and ( max-width:767px) {

.container {
padding:60px 0 60px 0;}
.container-0100 {
position:relative;
padding:0 0 75px 0;}

}

/*  header  ======================*/

.header {
position:fixed;
z-index:998;
left:0;
top:0;
width:240px;
height:60px;
background:rgba(255,255,255,0.85);}
.header .logo {
position:absolute;
width:240px;
left:0;
top:0;}

/* gmenu gmenu-pc =========== */

.gmenu {
position:sticky;
top:0;
z-index:997;
padding:0 68px 0 0px;
width:100%;
height:60px;
background:#fff;
border-bottom:1px solid rgba(0,0,0,0.4);}

@media only screen and (max-width:1023px) {

.gmenu {
display:none;}

}

.gmenu-entry {
text-align:center;
position:absolute;
right:0px;
top:50%;
width:200px;
transform:translate(0,-50%);}
.gmenu-entry a {
display:block;
position:relative;
padding:0 0.5em 0 0;
font-size:108%;
line-height:44px;
letter-spacing:0.05em;
color:#fff;
background:#600;
border-radius:6px;
transition:background 0.25s;}

.gmenu-entry.entry-off a {
font-size:100%;}

.gmenu-entry a:hover {
background:#900;}
.gmenu-entry a::after {
content:"";
position:absolute;
z-index:2;
top:50%;
right:10px;
width:7px;
height:7px;
border-bottom:1px solid #fff;
border-right:1px solid #fff;
transform:translate(0,-50%) rotate(-45deg);}

ul.gmenu-pc {
text-align:center;
justify-content:space-between;
margin:0 auto 0 0;
width:calc(100% - 200px);
max-width:920px;}
ul.gmenu-pc > li {
position:relative;
flex-grow:1;}
ul.gmenu-pc > li.arrow::before {
content:"";
position:absolute;
left:50%;
bottom:3px;
width:0;
height:0;
border-left:5px solid transparent;
border-right:5px solid transparent;
border-top:7px solid #222;
transform:translate(-50%,0);
transition:transform 0.25s;}
ul.gmenu-pc > li.arrow:hover::before {
transform:translate(-50%,0) rotate(180deg);}
ul.gmenu-pc > li > a {
position:relative;
display:block;
font-size:92%;
line-height:60px;
letter-spacing:0.00em; 
white-space:nowrap;
color:#222;}
ul.gmenu-pc > li > a::after {
content:"";
position:absolute;
right:0;
top:50%;
width:1px;
height:20px;
background:rgba(0,0,0,0.4);
transform:translate(0,-50%) rotate(15deg);}
ul.gmenu-pc > li:last-child > a::after {
display:none;}
ul.gmenu-pc > li > a:hover {
color:#900;}
ul.gmenu-pc > li ul.sub-menu {
text-align:left;
visibility:hidden;
opacity:0;
position:absolute;
z-index:300;
padding:5px 20px 20px 20px;
top:80%;
left:50%;
width:250px;
overflow:hidden;
background:linear-gradient(0deg,#f3f0eb, #f3f0eb);
transform:translate(-50%,0);
transition:0.25s;}
ul.gmenu-pc > li:hover ul.sub-menu {
top:100%;
visibility:visible;
opacity:1;}
ul.gmenu-pc > li ul.sub-menu li {}
ul.gmenu-pc > li ul.sub-menu li a {
display:block;
padding:5px 0 0 0;
font-size:92%;
line-height:35px;
color:#222;
white-space:nowrap;
border-bottom:1px solid rgba(0,0,0,0.1);}
ul.gmenu-pc > li ul.sub-menu li a:hover {
color:#900;}

/* hamburger =================== */

.gmenu-sp-btn {
position:fixed;
z-index:999;
display:flex;
cursor:pointer;
justify-content:center;
align-items:center;
top:0;
right:0;
width:60px;
height:60px;
background:#333;
transition:0.25s;}
.gmenu-sp-btn span, .gmenu-sp-btn span::before, .gmenu-sp-btn span::after {
content:"";
position:absolute;
display:block;
height:1px;
width:30px;
background:#fff;
transition:0.25s;}
.gmenu-sp-btn span::before {
bottom:7px;}
.gmenu-sp-btn span::after {
top:7px;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn {
display:flex;
background:none;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span {
background:none;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span::before {
bottom:0;
background:#000;
transform:rotate(45deg);}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span::after {
top:0;
background:#000;
transform:rotate(-45deg);}
#gmenu-sp-btn-check {
display:none;}
.gmenu-sp-btn-bg {
pointer-events:none;
opacity:0;
position:fixed;
z-index:997;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.01);
transition:0.25s;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn-bg {
pointer-events:auto;
opacity:1;}

/* gmenu-sp ===================== */

.gmenu-sp-bg {
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
pointer-events:none;
opacity:0;
position:fixed;
z-index:998;
overflow-y:auto;
overscroll-behavior-y:contain;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(255,255,255,0.95);
transition:0.25s;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-bg {
pointer-events:auto;
opacity:1;}
.gmenu-sp-modal {
margin:70px auto 40px;
width:86%;
max-width:480px;}
.gmenu-sp-modal .logo {
text-align:center;
margin:0 0 20px 0;}
.gmenu-sp-modal .sns-icon {
margin:30px auto 0;
width:240px;
justify-content:center;}
.gmenu-sp-modal .sns-icon li {
width:20%;}
.gmenu-sp-modal .sns-icon img {
max-width:90%;
border-radius:50%;
box-shadow:1px 1px 2px rgba(0,0,0,0.1);}
ul.gmenu-sp {}
ul.gmenu-sp a {
display:block;
color:#222;}
ul.gmenu-sp a:hover {
color:#900;}
ul.gmenu-sp > li {
text-align:left;
padding:0 0 0 8px;
border-bottom:1px solid #ddd;}
ul.gmenu-sp > li > a {
position:relative;
padding:0 0 0 4px;
font-size:108%;
line-height:48px;
white-space:nowrap;}
ul.gmenu-sp > li > a::before {
content:"";
position: absolute;
right:100%;
top:50%;
width: 0;
height: 0;
border-style: solid;
border-width: 5px 0 5px 8px;
border-color: transparent transparent transparent #000;
transform:translate(0,-50%);}
ul.gmenu-sp ul.sub-menu {
padding:0 0 15px 0;}
ul.gmenu-sp ul.sub-menu a {
padding:0 0 0 6px;
font-size:92%;
line-height:30px;
white-space:nowrap;}

/* mainimg ================== */

.mainimg {
text-align:left;
position:relative;
width:100%;
height:310px;
color:#fff;
background:url("../../images/mainimg00.jpg") no-repeat center center / cover;}
.mainimg-index {
height:560px;}
.mainimg .ttl {
position:absolute;
left:50%;
top:50%;
width:86%;
max-width:1200px;
transform: translate(-50%,-47.5%);}
.mainimg h1 {}
.mainimg .logo {
position:absolute;
left:0px;
top:5px;}

@media only screen and ( max-width:1023px) {

.mainimg-index {
height:auto;
aspect-ratio:9 / 5;}
.mainimg .logo {
width:216px;}

}

@media only screen and ( max-width:640px) {

.mainimg {
height:auto;
aspect-ratio:3 / 2;}
.mainimg-index {
aspect-ratio:1 / 1;}

}

.mainimg .link {
position:absolute;
left:11px;
top:11px;}
.mainimg .link a {
position:relative;
display:block;
padding:1px 10px 0 25px;
font-size:68%;
line-height:24px;
background:rgba(0,0,0,0.1);
white-space:nowrap;
color:#fff;
border:1px solid #fff;
transition:0.3s;}
.mainimg .link a:hover {
background:rgba(0,0,0,0);
color:#ffaa00;
border:1px solid #ffaa00;}
.mainimg .link a::after {
content:"";
position:absolute;
z-index:2;
top:50%;
left:7px;
width:6px;
height:6px;
border-top:1px solid #fff;
border-left:1px solid #fff;
transform:translate(0,-50%) rotate(-45deg);
transition:0.3s;}
.mainimg .link a:hover::after {
border-top:1px solid #ffaa00;
border-left:1px solid #ffaa00;}
.mainimg a.scroll {
display:block;
position:absolute;
left:50%;
bottom:12px;
width:18px;
height:18px;
border-bottom:2px solid #fff;
border-left:2px solid #fff;
transform:translate(-50%,0) rotate(-45deg);
animation:vertical01 2s ease-in-out infinite alternate;}

@keyframes vertical01 {

0% { margin:0;}
50% { margin:-6px 0 6px 0;}
100% { margin:0;}

}

/* gallery =========== */

ul.gallery {
/* text-align:center; */
margin-bottom:1em;
justify-content:space-between;}
ul.gallery::after {
content:"";
display:block;
width:32%;}
ul.gallery li {
text-align:center;
padding:1% 0;
width:32%;}
ul.gallery li img {
width:100%;}
ul.gallery li img.img-tate {
width:70%;}
ul.gallery li.col-50 {
padding:1% 0;
width:48.5%;}
ul.gallery li .txt {
margin-top:0.5em;
font-size:76%;
line-height:1.4;}

@media only screen and (max-width:767px) {

ul.gallery li {
padding:1.2% 0 !important;
width:48.5%;}

}

@media only screen and (max-width:480px) {

ul.gallery li {
padding:1.5% 0 !important;
width:100% !important;}

}

/* privacy-notice =========== */

.privacy-notice {
text-align:left;}
.privacy-notice dl {
font-size:84%;
line-height:1.5;}
.privacy-notice dt {
width:15px;
white-space:nowrap;
padding:3px 0 4px 0;}
.privacy-notice dd {
width: calc(100% - 17px);
padding:3px 0 4px 0;}

/* footer =========== */

.footer-entry {
text-align:center;
padding:65px 0 80px 0;
color:#fff;}
.footer-entry h2 {
font-family: "Noto Serif JP", serif;
margin-bottom:0.5em;
font-size:316%;
line-height:1.2;
font-weight:600;
letter-spacing:0.05em;}
.footer-entry .txt {}
.footer-entry a.btn-link {
border:1px solid #fff;
color:#fff;}
.footer-entry a.btn-link:hover {
background:#fff;
color:#222;}
.footer-entry a.btn-link::after {
border-bottom:1px solid #fff;
border-right:1px solid #fff;}
.footer-entry a.btn-link:hover::after {
border-bottom:1px solid #222;
border-right:1px solid #222;}

@media only screen and ( max-width:1023px) {

.footer-entry {
padding:6.5% 0 8% 0;}

}

@media only screen and ( max-width:640px) {

.footer-entry {
padding:45px 0 55px 0;}
.footer-entry .txt {
text-align:left;}
.footer-entry .txt br {
display:none;}

}

.footer {
text-align:center;
padding:48px 0 0 0;
background:#fff;
font-size:84%;}
.footer-logo {
margin:0 0 18px 0;}
ul.footer-menu {
margin-top:33px;
width:100%;
justify-content:center;
border-top:1px solid #9c9999;}
ul.footer-menu li {}
ul.footer-menu li a {
position:relative;
display:block;
padding:0 15px;
font-size:14px;
line-height:55px;
color:#222;
white-space: nowrap;}
ul.footer-menu li a:hover {
color:#900;}
ul.footer-menu li a::after {
position:absolute;
display:block;
content:'';
right:0;
top:35%;
width:1px;
height:30%;
background:#9c9999;}
ul.footer-menu li:last-child a::after {
background:none;}

@media only screen and (max-width:1023px) {

ul.footer-menu {
justify-content:normal;}
ul.footer-menu li {
width:50%;
box-shadow:1px 1px 0 0 #9c9999;}
/*
ul.footer-menu li:last-child {
width:100%;}
*/
ul.footer-menu li a {
font-size:13px;
padding:0;}
ul.footer-menu li a::after {
display:none;}

}

.sns-icon {
width:240px;
margin:24px auto;
text-align:center;
justify-content:center;}
.sns-icon li {
width:20%;}
.sns-icon img {
max-width:90%;
border-radius:50%;
box-shadow:1px 1px 2px rgba(0,0,0,0.2);}

.copyright {
border-top:1px solid #9c9999;
text-align:center;
padding:24px 0;
font-size:12px;
line-height:1.2;}

.page-top {
position:fixed;
bottom:30px;
right:15px;
width:36px;
height:36px;
line-height:0;}
.page-top a {
padding:10px;
display:block;
background:#696666;
transition:0.3s;}
.page-top a:hover {
background:#9c9999;}
