body{
    position:relative;
    font-size:16px;
    font-family: 'Noto Sans JP','游ゴシック', 'Yu Gothic', "ヒラギノ角ゴ Pro W3", sans-serif;
    line-height:1.8em;
    color:#000;
}
section{
    padding:200px 0;
}
@media screen and (max-width: 767px){
section{
    padding:100px 10px;
}
}
.animation01,.animation02,.animation03,.animation04,.animation11,.animation12,.animation13,.animation14{
    opacity:0;
}
/*************************
TOP
*************************/
.top-page{
    position:relative;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    padding:0;
    overflow: hidden;
}
.header-logo{
    width:240px;
    position:fixed;
    top:25px;
    left:20px;
    z-index:998;
}
@media screen and (max-width: 767px){
.header-logo{
    width:200px;
    top:27px;
}
}
/*************************
GALLERY
*************************/
.slide{
    margin: 0;
    padding: 0;
}
.slide img {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    object-fit: cover;
    object-position: top;
}
.page-id-83 .slide img{
    object-position: center; 
}

/*************************
メニュー
*************************/
.menu-btn{
    display:block;
    border:none;
    position:fixed;
    top:20px;
    right:22px;
    width:36px;
    height:36px;
    z-index:9998;
}
.menu-btn:hover{
    cursor:pointer;
}
.menu-btn span{
    width:100%;
    position:absolute;
    left:0;
    right:0;
    margin:auto;
    height:2px;
    transition: all 0.3s ease;
    background:#000;
}
.page-id-14 .menu-btn span{
    background:#fff;
}
.menu-1{
    top:20%;
}
.menu-2{
    top:48%;
}
.menu-3{
    top:76%;
}
.menu-1.open {
    top:48%;
    transform: rotate(45deg);
    background:#000;
}
.menu-2.open {
    top:48%;
    opacity:0;
    background:#000;
}
.menu-3.open {
    top:48%;
    transform: rotate(-45deg);
    background:#000;
}
.page-id-14 .menu-1.open,
.page-id-14 .menu-2.open,
.page-id-14 .menu-3.open{
    background:#000;
}
.menu {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
    z-index:999;
    background:#fff;
}
#menuBg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background: rgba(0,0,0,1.0);
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
}
.menu-inner{
    position:relative;
    display: table;
    width:100%;
    max-width:700px;
    height: calc(var(--vh, 1vh) * 100);
    margin:0 auto;
}
.menu ul {
    width:100%;
    display: table-cell;
    vertical-align: middle;
    padding:0;
    margin:0;
}
.menu li {
    display:block;
    width:50%;
    float:left;
    padding:0;
    margin: 30px auto;
    text-align:center;
    list-style:none;
}
.menu li a {
    width:auto;
    font-size: 24px;
    color:#000;
    letter-spacing:0.2em;
    font-weight:500;
    text-transform:uppercase;
}
/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
}
.open #menuBg {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
}
@media screen and (max-width: 767px){
.menu li {
    width:50%;
    margin: 15px auto;
}
.menu li a {
    font-size: 18px;
}
}
/*************************
フッター
*************************/
.copyright{
    margin:50px 0 20px;
    display:block;
    text-align:center;
    font-size:14px;
}
.copyright span{
    text-align:center;
    font-size:15px;
}
.page-id-14 .copyright,
.error404 .copyright{
    position:fixed;
    bottom:20px;
    left:0;
    right:0;
    margin:auto;
    color:#fff;
}
.page-id-14 .copyright span{
    color:#fff;
}
/*************************
フォーム
*************************/
.p-contact-form__list input{
    width:100%;
    border:1px solid #afafaf;
    padding:4px 10px 6px;
}
.p-contact-form__list textarea{
    width:100%;
    border:1px solid #afafaf;
    padding:5px 10px;
    resize: none;
}
.p-form__detail{
    width:100%;
}
.p-form__heading{
    font-weight:500;
}
.p-form__previous input{
    padding:5px 15px !important;
    border:1px solid #000;
    margin: 0; /* マージンをリセット */
}
.p-form__contact-btn{
    display:block;
    text-align:center;
    margin:60px 0 0;
    padding:0 !important;
}
#submit-btn{
    padding:4px 15px 6px !important;
    border:1px solid #000;
}
.c-btn__text{
    padding:0 !important;
    margin:0 !important;
}
.p-form__button-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* ボタン間の間隔 */
    margin:60px 0 0;
}
.p-form__previous,
.p-form__send {
    display: flex;
}
.wpcf7 form .wpcf7-response-output{
  display: none !important;
}
.p-form__send-btn{
    border-radius:3px;
}

.p-contact-thanks__text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}
@media screen and (max-width: 767px){
.p-contact-thanks__text{
    width:100%;
    padding:0 20px;
    text-align:left;
}
}

.google-recaptcha-text{
    margin:50px 0 0;
}
.link-text{
    text-decoration:underline;
}
.grecaptcha-badge { visibility: hidden !important; }

@media screen and (min-width: 768px){
.google-recaptcha-text{
    margin:80px 0 0;
    text-align:center;
}
}