@charset "utf-8";
/* CSS Document */

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,*::before,*::after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}

body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    sans-serif;
    }

:link, :visited, :active, :focus{
color:#000;
/*#b6983f*/
}

a:hover, a:active, a:focus{
color:#b6983f;
}
/*#063576*/
/*#b6983f*/


/*
  font type
*/

/*  japanese fonts */
.zen-kaku-gothic-antique-light {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-kaku-gothic-antique-regular {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-antique-medium {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-antique-bold {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-antique-black {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 900;
  font-style: normal;
}


.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*  english fonts */
.mrs-saint-delafield-regular {
  font-family: "Mrs Saint Delafield", cursive;
  font-weight: 400;
  font-style: normal;
}

.corinthia-regular {
  font-family: "Corinthia", cursive;
  font-weight: 400;
  font-style: normal;
}

.corinthia-bold {
  font-family: "Corinthia", cursive;
  font-weight: 700;
  font-style: normal;
}

.en{
  font-family: "Mrs Saint Delafield", cursive;
  font-weight: 400;
  font-style: normal;
}
.jp{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-style: normal;
}


/* ハンバーガーメニュー */
#header-hamburger {
    /* 見た目のCSS */
    background: none;
    cursor: pointer;
    width: 24px;
    aspect-ratio: 1/0.8;
    margin-left: auto;
    /* ボタンがハンバーガーウィンドウの下に隠れないようにする指定 */
    position: relative;
    z-index: 10;
}

/* 三本線 */
#header-hamburger span {
    /* 見た目のCSS */
    display: inline-block;
    background: #000;
    width: 100%;
    height: 4px;
    /* バーガー線の太さ */
    /*アニメーションの設定*/
    transition: all .4s;
    position: absolute;
    left: 50%;
    /* バーガー線の位置 */
    transform: translateX(-50%);
}

/* １本目 */
#header-hamburger span:nth-of-type(1) {
    top: 0%;
}

/* ２本目 */
#header-hamburger span:nth-of-type(2) {
    top: 50%;
}

/* ３本目 */
#header-hamburger span:nth-of-type(3) {
    top: 100%;
}

/* ×印 */
/*activeクラスが付与されると線が回転して×になる*/
#header-hamburger.active span:nth-of-type(1) {
    top: 50%;
    left: 0%;
    transform: rotate(-45deg);
    width: 100%;
}

#header-hamburger.active span:nth-of-type(2) {
    opacity: 0;
}

#header-hamburger.active span:nth-of-type(3) {
    top: 50%;
    left: 0%;
    transform: rotate(45deg);
    width: 100%;
}

/* メニューウィンドウ */
#hamburger-window {
opacity:0;
transition: opacity 0.5s;
    text-align: left;
    /* 初期状態は非表示 */
    visibility: hidden;
    position: fixed;
    top: 63px;
    right: -100vw;
    z-index: 1;
    /* 画面いっぱいに表示されるサイズに設定 */
    width: 100%;
    background-color: rgba(255, 255, 255, 0.75); 
}

/*スクロールバー非表示（Chrome・Safari）*/
.content::-webkit-scrollbar{
    display:none;
}

#hamburger-window.open {
    visibility: visible;
    opacity:1;
    right: 0;
}

.hamburger-window__link {
    display: block;
}

.hamburger-window__link:hover {
    background-color: ;
}

.hamburger-window__link p {
    margin: 0;
    padding-top: 20px;
    padding-bottom: 20px;
}

.hamburger-window__link:first-child .acordion-btn {
}


/*ハンバーガーアコーディオン部分*/

nav{
position:relative;
display:block;
}

.hamburger-window__nav-list{
display:flex;
justify-content: flex-end;
width: 100%;
margin:0;
list-style:none;
padding:0 22px;
}

.acordion-menu-wrapper {
    background-color: #fff;
}    

.acordion-btn {
    display: flex;
    align-items: center;
}

.acordion-btn:hover {
    background-color: #ccc;
}

#header-top-inner{
display:flex;
justify-content: flex-start;
width: 100%;
}

.search_icon{
width:1.3rem;
}

.search-expand{
width: calc( 100% - 1.3rem) ;
}

/* アコーディオン表示の＋を出したい時 */
/*
.acordion-btn.is-open::after {
    content: '\f068';
}
*/

.hamburger-window__link {
font-size:0.8rem;
padding:0.5rem;
}

.hamburger-window__title,
.hamburger-window__link > a {
}

.hamburger-window__link > a {
    display: block;
    text-align: left;
    padding-left: 0;
    position: relative;
}


.acordion>.acordion__item {
    position: relative;
    text-align: left;
    width: ;
    /* 閉じている状態 */
    border-top: 0 #ccc solid;
    line-height: 0;
    /* 閉じるアニメーション */
    transition:
    border-top .1s ease-out,
}

.acordion.is-open>.acordion__item {
    background-color: #dfdfdf;
    /* 開いている状態 */
    border-top: 1px #ccc solid;
    /* 開くアニメーション */
    transition: border-top .1s ease-out,
}

.acordion.is-open>.acordion__item:first-child {
    border-top: none;
}

.acordion>.acordion__item>.acordion__link {
    color: #333;
    display: block;
    padding-left: 7%;
    /* 閉じている状態 */
    padding-top: 0;
    padding-bottom: 0;
    line-height: 0;
    opacity: 0;
    visibility: hidden;
    /* 閉じるアニメーション */
    transition:
        padding-top .3s ease-out,
        padding-bottom .3s ease-out,
        line-height .3s ease-out,
        opacity .1s linear,
        visibility .1s linear;
}

.acordion.is-open>.acordion__item>.acordion__link {
    display: block;
    padding-left: 7%;
    /* 開いている状態 */
    padding-top: 23px;
    padding-bottom: 23px;
    line-height: 1.5;
    opacity: 1;
    visibility: visible;
    /* 開くアニメーション */
    transition:
        padding-top .3s ease-out,
        padding-bottom .3s ease-out,
        line-height .3s ease-out,
        opacity .1s linear,
        visibility .1s linear;
}



/*
アコーディオンCSS
*/

.accordions {

}
.accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.accordion__menu {
}
.accordion__button {
  text-align: inherit;
  width: 100%;
  padding: 20px;
  cursor: pointer;
}
.accordion__body {
  height: 0;
  overflow: hidden;
  transition: all 0.5s;
}
.accordion__text {
}


/*
コンテンツCSS
*/

header{
position:fixed;
display:flex;
justify-content: space-between;
width:100%;
/*position:fixed;*/
top:0;
left:0;
z-index:9999;
padding:22px;
background:#ffffff;
font-size:1em;
}

header .logo{
}
header .logo img{
height:14px;
}

header h1:hover, header h1:active, header h1:focus,header h1 span:hover, header h1 span:active, header h1 span:focus{
color:#fff;
background:#4e4e4e;
}

header h1 span{
display:block;
font-size:0.5em;
}

footer{
padding:40px calc(4vw + 10px);
margin: 0 auto;
}

footer .sitemap {
display:flex;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
margin:0 0 10px;
}

footer .sitemap p{
font-weight:bold;
}
footer .sitemap ul{
display:flex;
justify-content: space-between;
width: 36em;
margin:0;
list-style:none;
padding-left:0;
}
footer .sitemap ul li{
font-size:0.8rem;
}

footer small{
font-size:0.8rem;
}

a{
text-decoration: none;
}


aside{
margin-top:100px;
background: #f6f6f6;
padding:95px 0;
}
aside div.other{
display:flex;
justify-content: space-between;
flex-wrap: wrap;
width: calc(75vw + 60px);
margin:0 auto;
}
aside .other article{
width:33.3333%;
padding:5px 30px;
border-left:1px solid #8d8d8d;
}
aside .other article:first-child{
border:none;
}
aside .other article p{
font-size:0.8rem;
}

/*Photo動画用アスペクト比*/
.gallery_youtube .video-container {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-top:15px;
}
.gallery_youtube .video-container iframe {
  width: 100%;
  height: 100%;
}

/*Photo付帯情報用マージン*/
.gallery_note p{
margin-top:15px;
}

@media screen and (max-width: 738px) {
/*検索用*/
.search-expand{
top:0 !important;
right:0 !important;
position:relative !important;
}

.toggle-search{
position: relative !important;
}
}

@media screen and (max-width: 1024px) {
  
.toggle-search{
top:0 !important;
right: 0 !important;
}
}
       
@media screen and (max-width: 750px) {
	/* 750px以下に適用されるCSS（SP用） */


}

@media screen and (max-width: 959px) {
	/* 959px以下に適用されるCSS（SP用） */


#hamburger-window {
height: 100vh;
/* 画面からはみ出したらスクロール可能にする */
overflow-y: scroll;
-ms-overflow-style: none;
scrollbar-width: none;
}

.hamburger-window__nav-list{
display:block;
justify-content: none;
width: 100%;
margin:0;
list-style:none;
padding:22px;
}

.hamburger-window__link {
font-size:0.9rem;
}

aside{
margin-top:100px;
background: #f6f6f6;
padding: 10px calc(4vw + 10px) 0;
}
aside div.other{
display:block;
justify-content: none;
flex-wrap: none;
width: 100%;
margin:0 auto;
}
aside .other article{
width:100%;
padding:30px 5px;
border-left:none;
border-top:1px solid #8d8d8d;
}
aside .other article:first-child{
border:none;
}

footer{
padding:40px calc(4vw + 10px);
margin: 0 auto;
}

footer .sitemap {
display:block;
justify-content: none;
flex-wrap: none;
width: 100%;
margin:0 0 10px;
}

footer .sitemap ul{
display:block;
justify-content: none;
width: 100%;
margin:10px 0;

}
footer .sitemap ul li{

}

footer small{

}

}

