@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;
}



/* アコーディオン表示の＋を出したい時 */
/*
.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;
}

main{
padding:;
}

section, main h1 {
padding: 50px  calc(4vw + 10px) 0;
margin: 0 0 5px;
text-align: left;
}

section h1, main h1{
font-family: "Zen Kaku Gothic Antique", sans-serif;
font-weight: 900;
font-style: normal;
font-size: clamp(32px,5vw,2.8em);
}

section h2{
font-family: "Zen Kaku Gothic Antique", sans-serif;
font-weight: 900;
font-style: normal;
font-size: clamp(32px,5vw,2.8em);
}

section h3{
font-family: "Zen Kaku Gothic Antique", sans-serif;
font-weight: 900;
font-style: normal;
font-size:1.5em;
margin-bottom:0.5em;
}


section .message{
position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index:99999;
  color:#ffffff;
}

main section .message h1{ 
font-family: "Zen Kaku Gothic Antique", sans-serif;
font-weight: 500;
font-style: normal;
font-size: clamp(18px,4vw,2.0em);
padding:0;
}

a .message:hover, a .message:active, a .message:focus, a .message:hover, a .message:active, a .message:focus{
color:#b6983f;
}

section p{
margin-bottom:20px;
line-height:1.6rem;
}


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;
}

section ul{
margin: 0;
padding:0;
}

section ul li{
list-style-type: none;
padding:0px;
margin: 0;	
}

section ul li figure{
width:100%;
/*aspect-ratio: 8 / 5;*/
margin: 0 0 10px;
}

section ul li figcaption{
text-align: left;
}

section ul li figcaption span{
display:block;
font-size:80%;
}


main p.sttl{
padding: 0  calc(4vw + 10px) 0;
margin: 0 0 0;
text-align: left;
}

.video video{
width:100%;
}

.intro ul{
display:flex;
align-content: flex-start;
margin-top:50px;
list-style:none;
flex-wrap: wrap;
}

.intro ul li{
display:block;
width:auto;
padding-right:0.8rem;
}

.luminous {
max-width: 100%;
}
img.lum-img{
display: inline-block;
}

@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{

}

}

