/*
Theme Name: Original Theme
Theme URI: 
Author: the WordPress team
Author URI: 
Description: 
Version: 1.0
Tags: 
*/


/* --------------------------------------------------
	reset
-------------------------------------------------- */
:root {
  --light-gray1: #dce0d3; /* #dcdcdc */
  --dark-gray1: #62685d;  /* #646464 */
}

/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}
/*
.slick-arrow{ width: 34px; height: 34px; position: absolute; top: 50%; transform: translateY(-50%);
 background: #000; border: none; border-radius: 50%; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 0px; height: 0px; top: 50%; transform: translateY(-50%);}
.slick-prev:before { left: 30%; border: solid 9px transparent; border-right: solid 16px #fff; border-left: 0;}
.slick-next:before { right: 30%; border: solid 9px transparent; border-left: solid 16px #fff; border-right: 0;}
*/
/** Dots */
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; font-size: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 10px; height: 10px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 10px; height: 10px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: #ccc; border-radius: 50%;
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li.slick-active button { background: #000;}

@media (max-width: 481px) {
}


.sline {
  position: relative;          /* 疑似要素の基準 */
  display: inline-block;
  z-index: 1;                  /* 文字を最前面に */
}

/* 太め＋文字に食い込む下線 */
.sline::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.2em;
  height: 0.5em;
  background:linear-gradient(to right, #fffa86 0%, #b6d992 100%);
  border-radius: 2px;
  border-radius: 2px;
  z-index: -1;                 /* 文字の背面に敷く */
  pointer-events: none;
}


/*		font-style
-------------------------------------------------- */
body { width: 100%;
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.fixed { position: fixed;}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min { font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: "Jost", sans-serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

.pc-only,
.sp-only, 
.pc-only--inline,
.sp-only--inline {
  display: none;
}

@media (max-width: 800px) {
  .sp-only {    display: block; }
  .sp-only--inline {    display: inline; }
}

@media (min-width: 801px) {
  .pc-only {    display: block; }
  .pc-only--inline {    display: inline; }
}

@media (max-width: 641px) {
}


#wrapper { padding-top: 80px;}
@media (max-width: 800px) {
	#wrapper { padding-top: 70px;}
}


#hd { width: 100%; background-color: #fff; position: fixed; top: 0; left: 0; z-index: 100;}
#hd .inner-hd { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 80px; padding: 0 3%;}
@media screen and (max-width: 800px) {
  #hd .inner-hd { height: 70px; padding: 0 18px;}
}
#hd .hd-logo { width: 30%;}
#hd .hd-logo h1 { }
#hd .hd-logo h1 { line-height: 1;}
#hd .hd-logo h1 a { display: block; width: 100%; max-width: 180px;}
#hd .hd-logo h1 a img { width: 100%;}
@media screen and (max-width: 480px) {
	#hd .hd-logo { width: 50%;}
}

#hd #overlay { /*width: 65%;*/}
@media screen and (max-width: 800px) {
	#overlay { display: none; width: 100% !important; height: 100%; position: fixed; top: 58px; right: 0px; z-index: -1; overflow-y: scroll;
	padding: 50px 30px 90px; background: rgb(0, 0, 0);
	}
	#overlay.open { z-index: 100;}
}




#gNav ul { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; justify-content: space-between; font-size: 0;}
#gNav ul li { position: relative; font-size: 15px;}
#gNav ul li span { display: block; padding: 20px 25px; letter-spacing: 0.1rem;}
#gNav ul li span:hover { background: #000; color: #fff;}
@media screen and (max-width: 1280px) {
  #gNav ul li span { padding: 1.25em 1.5em;}
}
@media screen and (max-width: 1000px) {
	#gNav ul li span { padding: 20px 1.1vw;}
}
@media screen and (max-width: 800px) {
  #gNav ul { display: block; -ms-flex-wrap: wrap; flex-wrap: wrap;}
  #gNav ul li { width: 100%; margin: 0 0 15px; }
  #gNav ul li span { display: inline-block; width: 100%; padding: 0 10px; background: #fff; font-size: 1.2em; line-height: 1.3;}
	#gNav ul li span:hover { background: #fff; color: #000;}
}

#gNav ul li ul.menu__second-level {
  display: block !important; width: 220px;
  position: absolute; top: 58px; visibility: hidden; opacity: 0; z-index: 1;
  background: #dcdcdc;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 800px) {
  #gNav ul li ul.menu__second-level { display: flex !important; width: 100%; background: none;
    visibility: inherit; opacity: 1; position: relative; top: 5px;
  }
}
#gNav ul li ul.menu__second-level li { margin: 0 !important; font-weight: 700;}
#gNav ul li ul.menu__second-level li a { display: block; padding: 5px 20px !important; color: #000; font-size: 16px; text-decoration: none;}
#gNav ul li ul.menu__second-level li .link_external { display: inline-block; padding: 0 20px 0 0;
  background: url('img/icon_external_black.svg') no-repeat right/14px 14px;
}
#gNav ul li ul.menu__second-level li:hover a { color: #fff; background: var(--dark-gray1) !important;}
#gNav ul li ul.menu__second-level li:hover .link_external { background-image: url('images/icon_external.svg');}

.level_right {
  right: 0;
}

#gNav ul li:hover ul.menu__second-level { top: 64px; visibility: visible; opacity: 1;}
@media screen and (max-width: 800px) {
  #gNav ul li ul.menu__second-level li a { padding: 0 5px !important; background: none !important; color: #fff;}
  #gNav ul li ul.menu__second-level li .link_external { background-image: url('img/icon_external.svg');}
  #gNav ul li ul.menu__second-level li:hover a { background: none !important;}
  #gNav ul li:hover ul.menu__second-level { top: 5px;}
}




.menu-trigger { display: none;}
@media screen and (max-width: 800px) {
  .menu-trigger { display: inline-block; width: 40px; height: 40px; border: none; background-color: transparent;
    position: fixed; right: 10px; top: 10px; z-index: 10; cursor: pointer; text-align: center;}
}
.menu-trigger .menu_line { position: absolute; top: 0; right: 0; bottom: 0; left: 0;  margin: auto;
  width: 25px; height: 2px; border-radius: 2px; background-color: #000;
}
.menu-trigger .menu_line::before,
.menu-trigger .menu_line::after { content: ""; display: block; width: 100%; height: 100%; border-radius: 2px; background: #000; position: absolute; transition: all 0.3s;}
.menu-trigger .menu_line::before{ top: -8px;}
.menu-trigger .menu_line::after { top: 8px;}
.menu-trigger.active .menu_line { background: transparent;}
.menu-trigger.active .menu_line::before,
.menu-trigger.active .menu_line::after { top: 0; background: #000;}
.menu-trigger.active .menu_line::before{ -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.menu-trigger.active .menu_line::after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}


.fix-bnr { position: fixed; right: 0; bottom: 100px; width: 150px; z-index: 99;}
.fix-bnr ul li { padding: 8px 15px; font-size: 16px;}
.fix-bnr ul li.tel,
.fix-bnr ul li.event { display: none;}
.fix-bnr ul li.catalog:before,
.fix-bnr ul li.reserve:before { content: ""; display: block; width: 118px; height: 40px;}
.fix-bnr ul li.catalog:before { margin: 0 auto; background: url('img/txt_catalog.svg') no-repeat center / 112px auto;}
.fix-bnr ul li.reserve:before { margin: 0 auto; background: url('img/txt_campaign_top.svg') no-repeat center / 112px auto;}
.fix-bnr ul li a { position: relative; display: block; width: 120px; height: 120px; background: #62685d; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.5);
 color: #fff; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none;
 transition: 0.3s linear;
}
.fix-bnr ul li.reserve a {  background: rgb(0,0,0);}
.fix-bnr ul li a span { display: block; width: 100%; position: absolute; left: 0; padding-top: 38px;}
.fix-bnr ul li.catalog a span { top: 24%; background: url('img/icn-catalog.png') no-repeat top / auto 30px;}
.fix-bnr ul li.reserve a span { top: 16%; background: url('img/icn-reserve.png') no-repeat top / auto 30px;}
.fix-bnr ul li a:hover {  background: rgb(60,60,60);}
@media screen and (max-width: 800px) {
	.fix-bnr { width: 100%; bottom: 0; z-index: 20;}
	.fix-bnr ul { display: flex; align-items: center; width: 100%;}
	.fix-bnr ul li { width: 50%; padding: 0; font-size: 12px;}
	.fix-bnr ul li.tel { display: block; border-right: solid 1px #fff;}
	.fix-bnr ul li.reserve { display: none;}
	.fix-bnr ul li.event { display: block; width: 50%; border-left: solid 1px #fff;}
	.fix-bnr ul li.catalog:before,
	.fix-bnr ul li.reserve:after { content: none;}
	.fix-bnr ul li a { width: 100%; height: 60px; border-radius: 0; padding-top: 9px; border: none;}
	.fix-bnr ul li.event a {  background: #000;}
	.fix-bnr ul li a span { position: relative; left: 0; padding-top: 25px; letter-spacing: 0.08rem;}
	.fix-bnr ul li.tel a span { top: auto; background: url('img/icn-tel-wh.svg') no-repeat top / auto 20px;}
	.fix-bnr ul li.catalog a span { top: auto; background-size: auto 20px;}
	.fix-bnr ul li.reserve a span { top: auto; background-size: auto 20px;}
	.fix-bnr ul li.event a span { top: auto; background: url('img/icn-reserve.png') no-repeat top / auto 20px;}
}

#ft { position: relative; background-color: #000; color: #fff; z-index: 10;}
#ft .inner-ft { width: 100%; max-width: 1144px; margin: 0 auto; padding: 60px 20px;}
#ft .ft-logo { width: 50%; max-width: 300px; margin: 0 auto 80px;}
#ft .ft-logo h3 { line-height: 1; text-align: center;}
#ft .ft-logo h3 img { width: 100%;}
#ft .ft-flex { display: flex; justify-content: space-between; margin: 0 auto 80px;}
#ft .ft-flex .bloc { width: 22%;}
#ft .nav-ctn:not(:last-child) { margin: 0 0 28px;}
#ft .ft-nav-ttl { padding: 0.25em 0.5em; background-color: #fff; pointer-events: none; color: #000; font-size: 20px; font-weight: 400; letter-spacing: 0.08rem; line-height: 1;}
#ft .nav-ctn ul { padding: 0.75em 0 0;}
#ft .nav-ctn ul li { padding: 2px 0; color: #fff; font-size: 17px; font-weight: 700; letter-spacing: 0.08rem;}
#ft .nav-ctn ul li:not(:last-child) { margin: 0 0 0.25em;}
#ft .nav-ctn ul li a { color: #fff; text-decoration: none;}
#ft .nav-ctn ul li a:hover { text-decoration: underline;}
#ft p.copy { font-size: 10px; font-weight: 700; text-align: center;}

@media screen and (max-width: 1000px) {
	#ft .nav-ctn ul li { font-size: 15px;}
}
@media screen and (max-width: 800px) {
	#ft { padding: 60px 0 90px;}
	#ft .inner-ft { width: 100%; padding: 0 50px;}
	#ft .ft-logo { margin: 0 auto 50px;}
	#ft .ft-nav-ttl { position: relative; padding: 0.12em 0.5em; pointer-events: all; font-size: 21px;}
	#ft .ft-nav-ttl::before { content: ""; width: 0; height: 0; margin: auto;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #000 transparent transparent transparent;
    position: absolute; right: 10px; top: 0; bottom: 0;
  }
	#ft .ft-nav-ttl.active::before { -webkit-transform: rotate(180deg); transform: rotate(180deg);}
	#ft .ft-flex { display: block;}
	#ft .ft-flex .bloc { width: 100%; padding: 9px 0;}
	#ft .nav-ctn { width: 100%;}
	#ft .nav-ctn:not(:last-child) { margin: 0 0 20px;}
	#ft .nav-ctn ul { display: none; }
  #ft .nav-ctn ul li { font-size: 1.14em;}
}
@media screen and (max-width: 480px) {
	#ft .inner-ft { padding: 0 32px;}
	#ft .ft-logo { width: 80%;}
	#ft .ft-flex { margin: 0 auto 50px;}
}
@media screen and (min-width: 768px) {
}

