@charset "utf-8";

@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Ropa+Sans&display=swap&family=Kaisei+Decol&display=swap');

/*----------------------------------------------------
	ベース設定
----------------------------------------------------*/

/*ブラウザサイズ960以上はスクロールバーを出さない*/
body { margin:0; padding:0; overflow-x:hidden; }
@media ( max-width : 960px ) {
body {
overflow-x:inherit;
color:#585253;
}
}

html, body { height:100%;}

/* スムーズスクロール */
html {
scroll-behavior: smooth;
}
/* ヘッダー固定した場合のマージン */
:target {
scroll-margin-top: 100px;
}
@media ( max-width : 960px ) {
:target {
scroll-margin-top: 53px;
}
}

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

body {
/*font-size: 13px/1.231;*/
font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", 'Helvetica Neue', Helvetica, Arial, Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
color:#585253;
font-weight: 400;
}


@media ( max-width : 960px ) {
body {
  font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", 'Helvetica Neue', Helvetica, Arial, Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
  /*font-weight: 600;*/
}
}
.gothic {
font-family: 'Noto Sans JP', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.bebas {
font-family: 'Bebas Neue', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.garamond {
font-family: "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
}
.eb_garamond {
font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
}
.mincho {
font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", 'Helvetica Neue', Helvetica, Arial, Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
}
.josefin {
font-family: 'Josefin Sans', 'Noto Sans JP', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.hind {
font-family: 'Hind', sans-serif;
}
.s_waku_wrapper p {
font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", 'Helvetica Neue', Helvetica, Arial, Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
}

select, input, button, textarea {
font-size: 99%;
font-family: Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
table {
font-size: inherit;
}
pre, code, kbd, samp, tt {
font-family: monospace;
line-height: 100%;
}
.text10 { font-size:77%; }
.text11 { font-size:85%; }
.text12 { font-size:93%; }
.text13 { font-size:100%; }
.text14 { font-size:108%; }
.text15 { font-size:116%; }
.text16 { font-size:123.1%; }
.text17 { font-size:131%; }
.text18 { font-size:138.5%; }
.text19 { font-size:146.5%; }
.text20 { font-size:153.9%; }
.text21 { font-size:161.6%; }
.text22 { font-size:167%; }
.text23 { font-size:174%; }
.text24 { font-size:182%; }
.text25 { font-size:189%; }
.text26 { font-size:197%; }

.text11px {font-size:11px;}
.text12px {font-size:12px;}
.text14px {font-size:14px;}
.text16px {font-size:16px;}
.text18px {font-size:18px;}
.text20px {font-size:20px;}
.text22px {font-size:22px;}
.text24px {font-size:24px;}
.text26px {font-size:26px;}
.text28px {font-size:28px;}
.text30px {font-size:30px;}
.text32px {font-size:32px;}
.text34px {font-size:34px;}
.text36px {font-size:36px;}
.text38px {font-size:38px;}
.text40px {font-size:40px;}
.text42px {font-size:42px;}
.text44px {font-size:44px;}
.text46px {font-size:46px;}
.text48px {font-size:48px;}
.text50px {font-size:50px;}
.text60px {font-size:60px;}
.text70px {font-size:70px;}
.text80px {font-size:80px;}
p.text10px span {font-size:11px; transform: scale(0.9);letter-spacing: 0em; }
p.text11px {font-size:11px;}
@media ( max-width : 768px ) {
p.text10px span {font-size:1.6vw; line-height: 1.3; transform: scale(0.6);}
.text11px {font-size:2.0vw;}
p.text11px {font-size:2.0vw;}
.text12px {font-size:2.0vw;}
.text14px {font-size:2.0vw;}
.text16px {font-size:2.1vw;}
.text18px {font-size:2.2vw;}
.text20px {font-size:2.8vw;}
.text22px {font-size:3.0vw;}
.text24px {font-size:3.2vw;}
.text26px {font-size:3.4vw;}
.text28px {font-size:3.6vw;}
.text30px {font-size:4.0vw;}
.text32px {font-size:4.2vw;}
.text34px {font-size:4.4vw;}
.text36px {font-size:4.6vw;}
.text38px {font-size:4.8vw;}
.text40px {font-size:5.0vw;}
.text42px {font-size:5.2vw;}
.text44px {font-size:5.4vw;}
.text46px {font-size:5.6vw;}
.text48px {font-size:5.8vw;}
.text50px {font-size:6vw;}
.text60px {font-size:6.5vw;}
.text70px {font-size:7vw;}
.text80px {font-size:9vw;}
.sp_text9px {font-size:1.6vw;}
.sp_text11px {font-size:2.0vw;}
.sp_text14px {font-size:2.6vw;}
.sp_text16px {font-size:2.8vw;}
}
.font-weight-400 {font-weight: 400;}
.font-weight-500 {font-weight: 500;}
.font-weight-600 {font-weight: 600;}
.font-weight_normal {
font-weight: normal;
}
.font-weight_bold {
font-weight: normal;
}

h2.bebas {
padding-bottom:0;
line-height: 1.4;
}
h3, p {
font-feature-settings: "palt";
letter-spacing: 0.1em;
}
h2 {
font-feature-settings: "palt";
letter-spacing: 0.02em;
padding-bottom:0.3em;
}
@media ( max-width : 768px ) {
h2, h3 {
letter-spacing: 0.02em;
padding-bottom:0.5em;
}
}

.ovf_hidden {
overflow: hidden;
}
.lineheight12em {
line-height: 1.2em;
}
.lineheight14em {
line-height: 1.4em;
}
.lineheight16em {
line-height: 1.6em;
}
.lineheight18em {
line-height: 1.8em;
}
.lineheight20em {
line-height: 2.0em;
}
.lineheight22em {
line-height: 2.2em;
}
.lineheight24em {
line-height: 2.4em;
}
.lineheight26em {
line-height: 2.6em;
}
.lineheight30em {
line-height: 3.0em;
}

.text_center {
text-align: center;
}
.text_left {
text-align: left;
}
.text_right {
text-align: right;
}
@media ( max-width : 768px ) {
.sp_text_left {
text-align: left;
}
.sp_lineheight22em {
line-height: 2.2em;
}
}



.text_color_green {
color:#009c45;
}
.text_color_blue {
color:#0f385a;
}
.text_color_blue2 {
color:#182987;
}
.text_color_blue3 {
color:#0071bc;
}
.text_color_lblue {
color:#00ffff;
}
.text_color_white {
color:#ffffff;
}
.text_color_lgray {
color:#86807e;
}
.text_color_dgray {
color:#4b4a44;
}
.text_color_gold {
color:#c0a256;
}
.text_color_black {
color:#000000;
}
.text_color_brown {
color:#6f5648;
}

.text-line_green {
display: flex;
align-items: center;
}
.text-line_green:before {
content: "";
flex-grow: 1;
height: 1px;
background: #009c45;
margin:0 1em 0 0;
}
.text-line_green:after {
content: "";
flex-grow: 1;
height: 1px;
background: #009c45;
margin:0 0 0 1em;
}
.text-line_white {
display: flex;
align-items: center;
}
.text-line_white:before {
content: "";
flex-grow: 1;
height: 1px;
background: #ffffff;
margin:0 1em 0 0;
}
.text-line_white:after {
content: "";
flex-grow: 1;
height: 1px;
background: #ffffff;
margin:0 0 0 1em;
}


.w400 {
width:100%;
margin:0 auto;
max-width: 400px;
}
.w500 {
width:100%;
margin:0 auto;
max-width: 500px;
}
.w600 {
width:100%;
margin:0 auto;
max-width: 600px;
}
.w700 {
width:100%;
margin:0 auto;
max-width: 700px;
}
.w730 {
width:100%;
margin:0 auto;
max-width: 730px;
}
.w780 {
width:100%;
margin:0 auto;
max-width: 780px;
}
.w780_sp78 {
width:78%;
margin:1% auto;
max-width: 780px;
}
.w870 {
width:100%;
margin:0 auto;
max-width: 870px;
}
.w900 {
width:100%;
margin:0 auto;
max-width: 900px;
}
.w900_sp88 {
width:86%;
margin:2% auto;
max-width: 900px;
}
.w960 {
width:100%;
margin:0 auto;
max-width: 960px;
}
.w1050 {
width:100%;
margin:0 auto;
max-width: 1050px;
}

.w1100 {
width:100%;
margin:0 auto;
max-width: 1100px;
}
.w1200 {
width:100%;
margin:0 auto;
max-width: 1200px;
}
.w1230 {
width:100%;
margin:0 auto;
max-width: 1230px;
}
.w1280 {
width:100%;
margin:0 auto;
max-width: 1280px;
}
.w1440 {
width:100%;
margin:0 auto;
max-width: 1440px;
}
.w1680 {
width:100%;
margin:0 auto;
max-width: 1680px;
}
@media ( max-width : 1280px ) {
.w1280 .inner {
padding-left:60px;
padding-right:60px;
}
}
@media ( max-width : 1230px ) {
.w1230 .inner {
padding-left:60px;
padding-right:60px;
}
}
@media ( max-width : 1200px ) {
.w1200 .inner {
padding-left:60px;
padding-right:60px;
}
.w1200 .inner2 {
padding-left:30px;
padding-right:30px;
}
}
@media ( max-width : 1100px ) {
.w1100 .inner {
padding-left:60px;
padding-right:60px;
}
}
@media ( max-width : 1050px ) {
.w1050 .inner {
padding-left:60px;
padding-right:60px;
}
.w1050 .inner2 {
padding-left:30px;
padding-right:30px;
}
}
@media ( max-width : 960px ) {
.w960 .inner {
padding-left:40px;
padding-right:40px;
}
}
@media ( max-width : 870px ) {
.w870 .inner {
padding-left:40px;
padding-right:40px;
}
}
@media ( max-width : 780px ) {
.w780 .inner {
padding-left:40px;
padding-right:40px;
}
}
@media ( max-width : 768px ) {
.w400 .inner {
padding-left:40px;
padding-right:40px;
}
.w500 .inner {
padding-left:40px;
padding-right:40px;
}
.w600 .inner {
padding-left:40px;
padding-right:40px;
}
.w700 .inner {
padding-left:40px;
padding-right:40px;
}
.w730 .inner {
padding-left:40px;
padding-right:40px;
}
.w870 .inner {
padding-left:40px;
padding-right:40px;
}
.w1100 .inner {
padding-left:40px;
padding-right:40px;
}
.w400 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w500 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w600 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w700 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w730 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w870 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w1100 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w1050 .inner {
padding-left:40px;
padding-right:40px;
}
.w1050 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w1056 .inner {
padding-left:40px;
padding-right:40px;
}
.w1056 .inner2 {
padding-left:40px;
padding-right:40px;
}
.w1200 .inner {
padding-left:40px;
padding-right:40px;
}
.w1230 .inner {
padding-left:40px;
padding-right:40px;
}
.w1280 .inner {
padding-left:40px;
padding-right:40px;
}
.sp_w80per {
width:80%;
margin:0 auto;
}
}

.mt10 { margin-top:10px; }
.mt20 { margin-top:20px; }
.mt30 { margin-top:30px; }
.mt40 { margin-top:40px; }
.mt50 { margin-top:50px; }
.mt60 { margin-top:60px; }
.mt70 { margin-top:70px; }
.mt80 { margin-top:80px; }
.mt90 { margin-top:90px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }

.mr10 { margin-right:10px; }
.mr20 { margin-right:20px; }
.mr30 { margin-right:30px; }
.mr40 { margin-right:40px; }
.mr50 { margin-right:50px; }
.mr60 { margin-right:60px; }
.mr70 { margin-right:70px; }
.mr80 { margin-right:80px; }
.mr90 { margin-right:90px; }
.mr100 { margin-right:100px; }

.mb10 { margin-bottom:10px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb90 { margin-bottom:90px; }
.mb100 { margin-bottom:100px; }

.ml10 { margin-left:10px; }
.ml20 { margin-left:20px; }
.ml30 { margin-left:30px; }
.ml40 { margin-left:40px; }
.ml50 { margin-left:50px; }
.ml60 { margin-left:60px; }
.ml70 { margin-left:70px; }
.ml80 { margin-left:80px; }
.ml90 { margin-left:90px; }
.ml100 { margin-left:100px; }

.pt5 { padding-top:5px; }
.pt10 { padding-top:10px; }
.pt15 { padding-top:15px; }
.pt20 { padding-top:20px; }
.pt30 { padding-top:30px; }
.pt40 { padding-top:40px; }
.pt50 { padding-top:50px; }
.pt60 { padding-top:60px; }
.pt70 { padding-top:70px; }
.pt80 { padding-top:80px; }
.pt90 { padding-top:90px; }
.pt100 { padding-top:100px; }
.pt120 { padding-top:120px; }
.pt150 { padding-top:150px; }
.pt160 { padding-top:160px; }

.pr5 { padding-right:5px; }
.pr10 { padding-right:10px; }
.pr20 { padding-right:20px; }
.pr30 { padding-right:30px; }
.pr40 { padding-right:40px; }
.pr50 { padding-right:50px; }
.pr60 { padding-right:60px; }
.pr70 { padding-right:70px; }
.pr80 { padding-right:80px; }
.pr90 { padding-right:90px; }
.pr100 { padding-right:100px; }
.pr160 { padding-right:160px; }

.pb5 { padding-bottom:5px; }
.pb10 { padding-bottom:10px; }
.pb15 { padding-bottom:15px; }
.pb20 { padding-bottom:20px; }
.pb30 { padding-bottom:30px; }
.pb40 { padding-bottom:40px; }
.pb50 { padding-bottom:50px; }
.pb60 { padding-bottom:60px; }
.pb70 { padding-bottom:70px; }
.pb80 { padding-bottom:80px; }
.pb90 { padding-bottom:90px; }
.pb100 { padding-bottom:100px; }
.pb120 { padding-bottom:120px; }
.pb140 { padding-bottom:140px; }
.pb160 { padding-bottom:160px; }
.pb180 { padding-bottom:180px; }
.pb240 { padding-bottom:240px; }

.pl5 { padding-left:5px; }
.pl10 { padding-left:10px; }
.pl20 { padding-left:20px; }
.pl30 { padding-left:30px; }
.pl40 { padding-left:40px; }
.pl50 { padding-left:50px; }
.pl60 { padding-left:60px; }
.pl70 { padding-left:70px; }
.pl80 { padding-left:80px; }
.pl90 { padding-left:90px; }
.pl100 { padding-left:100px; }
.pl120 { padding-left:120px; }
.pl160 { padding-left:160px; }

.pl_pc80_sp20 { padding-left:80px; }
.pr_pc80_sp20 { padding-right:80px; }
.pl_pc120_sp20 { padding-left:120px; }
.pr_pc120_sp20 { padding-right:120px; }
.pc_pl160 { padding-left:160px; }
.pc_pr160 { padding-right:160px; }

@media ( max-width : 1660px ) {
.pb240 { padding-bottom:180px; }
}
@media (960px <= width < 1200px) {
.tab_pt0 {
margin-top:0px;
}
}
@media ( max-width : 768px ) {
.mt10 { margin-top:5px; }
.mt20 { margin-top:10px; }
.mt30 { margin-top:15px; }
.mt40 { margin-top:20px; }
.mt50 { margin-top:25px; }
.mt60 { margin-top:30px; }
.mt70 { margin-top:35px; }
.mt80 { margin-top:40px; }
.mt90 { margin-top:45px; }
.mt100 { margin-top:50px; }
.mt120 { margin-top:60px; }

.mr10 { margin-right:5px; }
.mr20 { margin-right:10px; }
.mr30 { margin-right:15px; }
.mr40 { margin-right:20px; }
.mr50 { margin-right:25px; }
.mr60 { margin-right:30px; }
.mr70 { margin-right:35px; }
.mr80 { margin-right:40px; }
.mr90 { margin-right:45px; }
.mr100 { margin-right:50px; }

.mb10 { margin-bottom:5px; }
.mb20 { margin-bottom:10px; }
.mb30 { margin-bottom:15px; }
.mb40 { margin-bottom:20px; }
.mb50 { margin-bottom:25px; }
.mb60 { margin-bottom:30px; }
.mb70 { margin-bottom:35px; }
.mb80 { margin-bottom:40px; }
.mb90 { margin-bottom:45px; }
.mb100 { margin-bottom:50px; }

.ml10 { margin-left:5px; }
.ml20 { margin-left:10px; }
.ml30 { margin-left:15px; }
.ml40 { margin-left:20px; }
.ml50 { margin-left:25px; }
.ml60 { margin-left:30px; }
.ml70 { margin-left:35px; }
.ml80 { margin-left:40px; }
.ml90 { margin-left:45px; }
.ml100 { margin-left:50px; }

.pt5 { padding-top:2px; }
.pt10 { padding-top:5px; }
.pt15 { padding-top:8px; }
.pt20 { padding-top:10px; }
.pt30 { padding-top:15px; }
.pt40 { padding-top:20px; }
.pt50 { padding-top:25px; }
.pt60 { padding-top:30px; }
.pt70 { padding-top:35px; }
.pt80 { padding-top:40px; }
.pt90 { padding-top:45px; }
.pt100 { padding-top:50px; }
.pt120 { padding-top:60px; }
.pt150 { padding-top:75px; }
.pt160 { padding-top:80px; }

.pr5 { padding-right:2px; }
.pr10 { padding-right:5px; }
.pr20 { padding-right:10px; }
.pr30 { padding-right:15px; }
.pr40 { padding-right:20px; }
.pr50 { padding-right:25px; }
.pr60 { padding-right:30px; }
.pr70 { padding-right:35px; }
.pr80 { padding-right:40px; }
.pr90 { padding-right:45px; }
.pr100 { padding-right:50px; }
.pr160 { padding-right:80px; }

.pb5 { padding-bottom:2px; }
.pb10 { padding-bottom:5px; }
.pb15 { padding-bottom:8px; }
.pb20 { padding-bottom:10px; }
.pb30 { padding-bottom:15px; }
.pb40 { padding-bottom:20px; }
.pb50 { padding-bottom:25px; }
.pb60 { padding-bottom:30px; }
.pb70 { padding-bottom:35px; }
.pb80 { padding-bottom:40px; }
.pb90 { padding-bottom:45px; }
.pb100 { padding-bottom:50px; }
.pb120 { padding-bottom:60px; }
.pb140 { padding-bottom:70px; }
.pb160 { padding-bottom:80px; }
.pb180 { padding-bottom:90px; }
.pb240 { padding-bottom:120px; }

.pl5 { padding-left:2px; }
.pl10 { padding-left:5px; }
.pl20 { padding-left:10px; }
.pl30 { padding-left:15px; }
.pl40 { padding-left:20px; }
.pl50 { padding-left:25px; }
.pl60 { padding-left:30px; }
.pl70 { padding-left:35px; }
.pl80 { padding-left:40px; }
.pl90 { padding-left:45px; }
.pl100 { padding-left:50px; }
.pl120 { padding-left:60px; }
.pl160 { padding-left:80px; }

.sp_pt0 { padding-top:0px; }
.sp_pt5 { padding-top:5px; }
.sp_pt10 { padding-top:10px; }
.sp_pt20 { padding-top:20px; }
.sp_pb0 { padding-bottom:0px; }
.sp_pb200 { padding-bottom:100px; }

.sp_mb10 { margin-bottom:10px; }
.sp_mb20 { margin-bottom:20px; }

.sp_pl10 { padding-left:10px; }
.sp_pr10 { padding-right:10px; }
.sp_pt0 { padding-top:0px; }
.sp_pt40 { padding-top:40px; }
.sp_pl20 { padding-left:20px; }
.sp_pr20 { padding-right:20px; }

.sp_pl30 { padding-left:30px; }
.sp_pr30 { padding-right:30px; }

.sp_pl40 { padding-left:40px; }
.sp_pr40 { padding-right:40px; }

.sp_pl60 { padding-left:60px; }
.sp_pr60 { padding-right:60px; }

.pl_pc80_sp20 { padding-left:20px; }
.pr_pc80_sp20 { padding-right:20px; }
.pl_pc120_sp20 { padding-left:20px; }
.pr_pc120_sp20 { padding-right:20px; }
.pc_pl160 { padding-left:0px; }
.pc_pr160 { padding-right:0px; }
}


img { vertical-align:bottom; }
img { -ms-interpolation-mode: bicubic; }

sup,
sub {
height: 0;
line-height: 1;
vertical-align: baseline;
_vertical-align: bottom;
position: relative;
 font-size:60%;
}
sup { bottom: 1ex; }
sub { top: .5ex; }

.display_none { display: none; }
.display_block { display: block; }

/* 	SET ALL ELEMENTS TO BOX-SIZING : BORDER-BOX */
* { 
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
*behavior: url(boxsizing.htc); 
}

/*	SELF CLEARING FLOATS - CLEARFIX METHOD */
.container:after,
.row:after, 
.col:after, 
.clr:after, 
.g_navi,
.group:after { 
content: ""; 
display: table; 
clear: both; 
}

/* clerfix */
.cf:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.cf {display: inline-table;}
* html .cf {height: 1%;}
.cf {display: block;}

.fit_image img {
width:100%;
height: inherit;
}

.float_l {
float:left;
}
.float_r {
float:right;
}
.position_a {
position:absolute;
}
.position_r {
position:relative;
}
.aline_c {
text-align: center;
}
.ovf_h {
overflow: hidden;
}

.c_btn {
width:100%;
text-align: center;
margin-bottom:40px;
}
.c_btn img {
margin:0 auto;
}
.c_btn a:hover img {
opacity: .50; /* Standard: FF gt 1.5, Opera, Safari */
filter: alpha(opacity=50); /* IE lt 8 */
-ms-filter: "alpha(opacity=50)"; /* IE 8 */
-khtml-opacity: .50; /* Safari 1.x */
-moz-opacity: .50; /* FF lt 1.5, Netscape */
}

/*#container img {
width:100%;
}*/
/*a { 
transition:all 0.4s ease-out;
}
#container a:not(a.transition):hover {
opacity: 0.4;
}*/

.pc {
display:block;
}
.sp {
display:none;
}
.tab_hide {
display:block;
}
.pc_hide {
display:none;
}
.tab {
display:none;
}
@media (960px <= width < 1200px) {
.tab_hide {
display:none;
}
.sp {
display:none;
}
.tab {
display:block;
}
}
.inline_pc {
display:inline-block;
}
.inline_sp {
display:none;
}
@media ( max-width : 960px ) {
.pc {
display:none;
}
.sp {
display:block;
}
.inline_pc {
display:none;
font-size:0;
}
.inline_sp {
display:inline-block;
font-size:0;
}
.tab {
display:none;
}
}

.bg_white {
background: #ffffff;
}
.bg_red {
background: #783233;
}
.bg_redred {
background: #ba0505;
}
.bg_green {
background: #006136;
}
.bg_dgreen {
background: #0b4725;
}
.bg_gray {
background: #b6b6b6;
}
.bg_gray2 {
background: #666666;
}
.bg_lgray {
background: #efefef;
}
.bg_dgray {
background: #111111;
}
.bg_black {
background: #000000;
}
.bg_yellow {
background: #F9F9E9;
}
.bg_blue {
background:rgba(15,56,90,1);
}
.bg_lblue {
background: #d2e8f5;
}
.bg_lblue2 {
background: #f5fbff;
}
.bg_gold {
background: #b79b5b;
}
.bg_orange {
background: #f15a23;
}
.bg_brown {
background: #3d2304;
}
.bg_lbrown {
background: #6f5544;
}
.bg_lbrown2 {
background: #6f5648;
}
.bg_lbrown3 {
background: #765e52;
}

.bg_silk {
background: #faf8f4;
background-image: url("../images/top/bg_silk.png");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_info {
background: #faf8f4;
background-image: url("../images/top/info_base.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_info_white {
background: #d2e8f5;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_story {
background: #faf8f4;
background-image: url("../images/common/top_act_story_bg.png");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_caption{
/*position:absolute;*/
bottom:5px;
right:5px;
color:#000;
margin-bottom:0px !important;
margin-top: 10px;
text-align: right;
}
@media ( max-width : 960px ) {
.bg_top_act_caption{
font-size: xx-small;
padding-right: 15px;
}
}
.bg_top_act_story2 {
background: #fff;
background-image: url("../images/common/top_act_story_bg2.png");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_story3 {
background: #fff;
background-image: url("../images/common/top_act_story_bg3.png");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_story4 {
background: #081735;
background-image: url("../images/common/top_act_story_bg4.png");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_story5 {
background: #fff;
background-image: url("../images/common/top_act_story_bg5.png");
background-position: center;
background-repeat: repeat-y;
background-size: cover;
}
.bg_top_act_story6 {
background: #27b2d5;
background-image: url("../images/common/top_act_story_bg6.png");
background-position: center top;
background-repeat: repeat-y;
background-size: cover;
}
.bg_gold2 {
background: #ede6d6;
}
.bg_lgold {
background: #e6e4cf;
}
.bg_lgold2 {
background: #daca9d;
}
.bg_beige {
background: #efeee3;
}
.bg_dbeige {
background: #d1c4ab;
}
.bg_img01 {
background: url("../images/common/base.png") 0 0 repeat-y;
background-size:100% 100%;
}
.border_black {
border:solid 1px #030000;
}
.border_green {
border:solid 1px #009c45;
}
.border_dgray {
border:solid 1px #4b4a44;
}
.border_b_dgray {
border-bottom:solid 1px #4b4a44;
}
.border_t_lgray {
border-top:solid 1px #dddddd;
}
.border_t_white {
border-top:solid 1px #ffffff;
}
.border_t_blue {
border-top:solid 1px rgba(15,56,90,1);
}
.border_t_lbrown {
border-top:solid 1px #6f5544;
}
.border_b_white {
border-bottom:solid 1px #ffffff;
}
.border_b_black {
border-bottom:solid 1px #000000;
}
.border_l_blue {
border-left:solid 4px #0ba8c3;
padding-left:1em;
}
.border_b_white_dotted {
  background-image : linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
  background-size: 4px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.border_b_white_dotted2 {
  background-image : linear-gradient(to right, #fff, #fff 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
  background-size: 8px 3px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.border_b_white_dashed2 {
  background-image : linear-gradient(to right, #fff, #fff 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
  background-size: 8px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
@media ( max-width : 768px ) {
.border_b_white_dotted2 {
  background-image : linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
  background-size: 5px 2px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.border_b_white_dashed2 {
  background-image : linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
  background-size: 5px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
}

.border_b_lgray {
border-bottom:solid 1px #999999;
}
.border_b_gold {
border-bottom:solid 1px #b79b5b;
}
.border_b_blue {
border-bottom:solid 1px rgba(15,56,90,1);
}
.border_b_lblue {
border-bottom:solid 1px #0071bc;
}
.border_b_blk {
border-bottom:solid 2px #333333;
}
.border_t_lgold_bold {
border-top:solid 3px #cab797;
}
.border_b_lgold_bold {
border-bottom:solid 3px #cab797;
}

.bg_img02 {
background: url("../images/quality/bg.jpg") 0 0 repeat-y;
background-size:100% 100%;
}



.youtube{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    background: #000;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.youtube video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
#cboxLoadedContent {
    border: 5px solid #000;
    background: #000;
    overflow-x:hidden;
}


/*----------------------------------------------------
	スケジュール
----------------------------------------------------*/

.sche{
width: 100%;
max-width: 700px;
margin: auto;
padding: 1.2%;
font-size: 3.25em;
text-align: center;
color: black;
letter-spacing: 0.3em;
}

.annaikai_title{
font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
font-weight: bold;
margin: auto;
padding: 1.2%;
font-size: 2.05em;
text-align: center;
color: #910010;
}

@media ( max-width : 960px ) {
.sche{
margin: auto;
padding: 50 20 50 20;
font-size: 1.8em;
text-align: center;
color: black;
letter-spacing: 0.1em;
}
}


/*----------------------------------------------------
	キャプション
----------------------------------------------------*/
.caption_wrapper {
padding:3em 0 3em 0;
}
.caption ul li {
padding-left:1em;
text-indent: -1em;
margin-bottom:0;
}
.caption p {
line-height:1.6;
font-size: 12px;
}
@media ( max-width : 960px ) {
.caption_wrapper {
padding:0px 5vw 5vw 5vw;
margin-top:5vw;
}
.caption p {
font-size: 1.6vw;
}
.caption {
font-size: 1.6vw;
}
}
.indent {
text-indent:-1em;
padding-left:1em;
}
/*写真上　黒フチ　白　右寄せ*/
p.pic_caption_right_wht {
position:absolute;
bottom:5px;
right:5px;
color:#fff;
margin-bottom:0px !important;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 1), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.81), -1px -1px 2px rgba(0, 0, 0, 0.8);
text-align: right;

}
/*写真上　黒フチ　白　左寄せ*/
p.pic_caption_left_wht {
position:absolute;
bottom:5px;
left:5px;
color:#fff;
margin-bottom:0px !important;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 1), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.81), -1px -1px 2px rgba(0, 0, 0, 0.8);
text-align: left;
}
/*写真上 白フチ　スミ　右寄せ*/
p.pic_caption_right_blk {
position:absolute;
bottom:5px;
right:5px;
color:#333;
margin-bottom:0px !important;
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
-1px 1px 0 #FFF, 1px -1px 0 #FFF,
0px 1px 0 #FFF,  0-1px 0 #FFF,
-1px 0 0 #FFF, 1px 0 0 #FFF;
text-align: right;
}

/*写真上　フチなし　白　右寄せ*/
p.pic_caption_right_wht_noborder {
position:absolute;
bottom:5px;
right:5px;
color:#fff;
margin-bottom:0px !important;
text-align: right;
}
/*写真上 フチなし　スミ　右寄せ*/
p.pic_caption_right_blk_noborder {
position:absolute;
bottom:5px;
right:5px;
color:#333;
margin-bottom:0px !important;
text-align: right;
}

/*写真上　フチなし　白　左寄せ*/
p.pic_caption_left_wht_noborder {
position:absolute;
bottom:5px;
left:5px;
color:#fff;
margin-bottom:0px !important;
text-align: left;
}
/*写真上 フチなし　スミ　左寄せ*/
p.pic_caption_left_blk_noborder {
position:absolute;
bottom:5px;
left:5px;
color:#333;
margin-bottom:0px !important;
text-align: left;
}

/*写真上 フチなし　スミ　左寄せ*/
p.pic_caption_left_blk_noborder {
position:absolute;
bottom:5px;
left:5px;
color:#333;
margin-bottom:0px !important;
text-align: left;
}

/*写真下 フチなし　スミ　右寄せ*/
p.caption_right_blk {
margin-top:0.3em;
text-align: right;
}
/*写真下 フチなし　スミ　左寄せ*/
p.caption_left_blk {
margin-top:0.3em;
text-align: left;
line-height:1.4;
}

/*写真下 フチなし　白　右寄せ*/
p.caption_right_wht {
margin-top:0.3em;
text-align: right;
color:#fff;
}
/*写真下 フチなし　白　左寄せ*/
p.caption_left_wht {
margin-top:0.3em;
text-align: left;
color:#fff;
}

p.caption_left_wht {
color:#fff;
margin-top:0.3em;
text-align: left;
}

p.pic_caption_right_wht,
p.pic_caption_left_wht,
p.pic_caption_left_blk,
p.pic_caption_right_blk,
p.pic_caption_right_wht_noborder,
p.pic_caption_left_blk_noborder,
p.pic_caption_right_blk_noborder,
p.pic_caption_left_wht_noborder,
p.pic_caption_left_blk_noborder,
p.caption_right_blk,
p.caption_left_blk,
p.caption_right_wht,
p.caption_left_wht {
line-height:1.6;
font-size: 12px;
}

@media ( max-width : 960px ) {
p.pic_caption_right_wht,
p.pic_caption_left_wht,
p.pic_caption_right_blk,
p.pic_caption_left_blk,
p.pic_caption_right_wht_noborder,
p.pic_caption_left_blk_noborder,
p.pic_caption_right_blk_noborder,
p.pic_caption_left_wht_noborder,
p.pic_caption_left_blk_noborder,
p.caption_right_blk,
p.caption_left_blk,
p.caption_right_wht,
p.caption_left_wht {
font-size:1.8vw;
line-height: 1.4;
}
.access p.pic_caption_right_wht_noborder {
font-size:1.8vw;
line-height: 1.4;
transform: scale(0.9);
display:block;
-webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
}
p.caption_right_blk {
font-size:1.8vw !important;
}
p.caption_left_blk {
font-size:1.8vw !important;
}
}
.photo_caption_bg_blk {
background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.0));
position: absolute;
left:0px;
bottom:0px;
width:100%;
}
/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
a.link_btn_01 {
background:#b6b6b6;
font-size:18px;
text-decoration: none;
color:#fff;
line-height: 20px;
text-align: center;
padding: 0.8em;
display: block;
}
a.link_kadomaru_btn_01 {
border-radius: 36px;
text-decoration: none;
text-align: center;
padding: 0.3em 0.8em 0.5em;
color:#fff;
margin-left:auto;
margin-right:auto;
display:block;
}
@media ( max-width : 768px ) {
a.link_kadomaru_btn_01 {
border-radius: 30px;
padding: 0.6em 0.8em 1em;
}
}
a.link_btn_02 {
  position: relative;
  color: #111;
  font-weight: bold;
  background: #fff;
  padding: 0.3em 3em 0.3em 4em;
  border:solid 1px #111;
  border-radius: 2em;
  font-size:20px;
  text-decoration: none;
  font-weight: 400;
}
a.link_btn_02::before {
  position: absolute;
  top: 50%;
  left: 22px;
  content: '';
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
a.link_btn_02::after {
  position: absolute;
  top: 50%;
  left: 26px;
  content: '';
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
a.link_btn_02:hover {
  color: #fff;
  background: #111;
  border:solid 1px #111;
  opacity: 1;
}
a.link_btn_02:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
a.link_btn_02:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media ( max-width : 1200px ) {
a.link_btn_02 {
  font-size:1.8vw;
}
}
@media ( max-width : 768px ) {
a.link_btn_02::before {
  width: 6px;
  height: 6px;
}
a.link_btn_02::after {
  width: 6px;
  height: 6px;
}
a.link_btn_02 {
  font-size:2.5vw;
}
}
a.link_btn_02w {
  position: relative;
  color: #fff;
  font-weight: bold;
  background: none;
  padding: 0.3em 3em 0.3em 4em;
  border:solid 1px #fff;
  border-radius: 2em;
  font-size:20px;
  text-decoration: none;
  font-weight: 400;
}
a.link_btn_02w::before {
  position: absolute;
  top: 50%;
  left: 22px;
  content: '';
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
a.link_btn_02w::after {
  position: absolute;
  top: 50%;
  left: 26px;
  content: '';
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
a.link_btn_02w:hover {
  color: #fff;
  background: #111;
  border:solid 1px #111;
  opacity: 1;
}
a.link_btn_02w:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
a.link_btn_02w:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media ( max-width : 1200px ) {
a.link_btn_02w {
  font-size:1.8vw;
}
}
@media ( max-width : 768px ) {
a.link_btn_02w::before {
  width: 6px;
  height: 6px;
}
a.link_btn_02w::after {
  width: 6px;
  height: 6px;
}
a.link_btn_02w {
  font-size:2.5vw;
}
}

/*----------------------------------------------------
	エントリーはこちら
----------------------------------------------------*/

.entry_kochira{
font-size: small;
width: 100%;
max-width: 550px;
margin: auto;
padding-left: 30px;
padding-right: 30px;
}
@media ( max-width : 768px ) {
.entry_kochira{
padding-left: 15px;
padding-right: 15px;
}
}
.entry_kochira p{
font-size: 28px;
font-weight: 600;
color: white !important;
background: #f15a23;
border-radius: 36px;
text-decoration: none;
text-align: center;
padding: 16px;
color:#fff;
margin-left:auto;
margin-right:auto;
display:block;
}



/*----------------------------------------------------
	枠タイトル
----------------------------------------------------*/
.g_flame::before,
.g_flame::after {
clip-path: polygon(0 100%, 0 15px, 15px 0,
100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%,
2px 100%, 2px calc(100% - 2px), calc(100% - 16px) calc(100% - 2px),
calc(100% - 2px) calc(100% - 16px), calc(100% - 2px) 2px, 16px 2px,
2px 16px, 2px 100%);
content: "";
display: block;
height: 100%;
left: 50%;
position: absolute;
top: 0;
transform: translateX(-50%);
width: 100%;
}
.g_flame {
position:relative;
text-align: center;
padding:12px 10px 10px 10px;
}
.g_flame::before {
background-color:#009c45;
z-index: 10;
}
.g_flame::after {
transform: translate(calc(-50% + 1px), 1px);
}
@media ( max-width : 768px ) {
.g_flame {
padding:5px 10px 2px 10px;
}
}

.kadomaru_title_01 {
border-radius: 36px;
text-decoration: none;
text-align: center;
padding-top: 0.3em;
padding-bottom:0.5em;
color:#fff;
margin-left:auto;
margin-right:auto;
display:block;
}
@media ( max-width : 768px ) {
.kadomaru_title_01 {
border-radius: 30px;
padding-top: 0.6em;
padding-bottom:1em;
}
}

/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/

/*ゆっくり点滅*/
.blink2 {
	-webkit-animation: blink2 2s ease-in-out infinite alternate;
	-ms-animation: blink2 2s ease-in-out infinite alternate;
	animation: blink2 2s ease-in-out infinite alternate;

}
@-webkit-keyframes blink2 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes blink {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


.blink {
	position: relative;
	overflow: hidden;
}
.blink::before {
	content: "";
	width: 20px;
	height: 100%;
	background: rgba(255,255,255,.8);
	position: absolute;
	top: -100px;
	left: 0;
	opacity: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-animation: blink 2s ease-in-out infinite;
	animation: blink 2s ease-in-out infinite;
}
@-webkit-keyframes blink {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		transform: scale(0) rotate(45deg);
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		transform: scale(0) rotate(45deg);
		opacity: .5;
	}
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		transform: scale(4) rotate(45deg);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		transform: scale(50) rotate(45deg);
		opacity: 0;
}
}
@keyframes blink {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		transform: scale(0) rotate(45deg);
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		transform: scale(0) rotate(45deg);
		opacity: .5;
	}
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		transform: scale(4) rotate(45deg);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(300px);
    transform: translateX(300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(300px);
    transform: translateX(300px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

/*----------------------------------------------------
	カーテン
----------------------------------------------------*/

.kage {
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(-180deg, rgba(85, 85, 85, 0) 40%, rgba(0, 0, 0, 0.4));
}
.curtain {
  width: 100%;
  position: relative;
  margin: 0 0 0 0;
  overflow: hidden;
}

/*.curtain .curtain_inner {
  width: inherit;
  height: inherit;
  position: relative;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  background-color: #fff;
  opacity: 0;
}*/
.isPlay {
  animation-name: play;
  animation-duration: .4s;
  animation-delay: .2s;
  animation-fill-mode: forwards;
  animation-timing-function:cubic-bezier(0.25, 0.1, -0.37, 0.98);
  position: relative;
  opacity: 1 !important;
}
.isPlay:before {
  animation-name: maskOut;
  animation-duration: .4s;
  animation-delay: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function:cubic-bezier(0.25, 0.1, -0.37, 0.98);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient( 109.6deg, rgba(44,53,145,1) 11.2%, rgba(100,195,239,1) 91.1% );
}
.isPlay:after {
  animation-name: maskOut;
  animation-duration: 1.0s;
  animation-delay: 1.0s;
  animation-fill-mode: forwards;
  animation-timing-function:cubic-bezier(0.08, 0.02, 0.22, 0.82);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient( 109.6deg, rgba(100,195,239,0.5) 11.2%, rgba(34,161,241,0.2) 91.1% );
}
@keyframes play {
  from {
    transform: translateX(-100%);
  }
  
  to {
    transform: translateX(0);
  }
}
@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  
  to {
    transform: translateX(100%);
  }
}
.kage {
z-index: 1;
}
.isPlay:before {
z-index: 4;
}
.pic_caption_right_wht,
.pic_caption_left_wht,
.pic_caption_left_blk{
z-index: 2;
}
.page_title {
z-index: 3;
}

.page_title {
font-size:100px;
color:#fff;
font-family: "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
position:absolute;
margin:0 auto;
left:0px;
right:0px;
bottom:0px;
padding-bottom:100px;
font-weight: 200;
line-height: 0.9;
}
.page_title span {
font-size:70px;
font-weight: 200;
}
@media ( max-width : 768px ) {
.curtain_inner {
overflow:hidden;
}
/*#container .curtain_inner img {
  width: calc(100% + 25%);
  margin: 0 -40% 0 -20%;
}
#container .curtain_inner img {
  width: calc(100% + 25%);
  margin: 0 -45% 0 -60%;
}*/
.page_title {
font-size:12vw;
padding-bottom:0.7em;
}
.page_title span {
font-size:7vw;
}
}

.title_eng {
font-family: "Cinzel", "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
}

/********************************************************************/
/*Flexbox*/

.col-pcflex-spblock {	
display: flex;
}
.col-pcflex-spflex {	
display: flex;
}
.col-pcblock-spflex {	
display: block;
}
.flex-wrap_wrap {
flex-wrap:wrap;
}
.flex-wrap_nowrap {
flex-wrap:nowrap;
}
.flex-justify-content_center {
justify-content:center;
}
.flex-justify-content_space-between {
justify-content:space-between;
}
.flex-justify-content_space-around {
justify-content:space-around;
}
.flex-align-items_center {
align-items: center;
}
.flex-align-items_top {
align-items: top;
}
.flex-align-items_stretch {
align-items: stretch;
}

.w-pc15per-sp30per {
width:15%;
}
.w-pc19per-sp32per {
width:19%;
}
.w-pc23per-sp48per {
width:23%;
}
.w-pc24per-sp48per {
width:24%;
}
.w-pc25per-sp50per {
width:25%;
}
.w-pc26per-sp32per {
width:26%;
}
.w-pc30per-sp32per {
width:30%;
}
.w-pc31per-sp48per {
width:31%;
}
.w-pc32per-sp49per {
width:32%;
}
.w-pc32per-sp100per {
width:32%;
}
.w-pc32per-sp90per {
width:32%;
margin: auto;
}
.w-pc32per-sp32per {
width:32%;
}
.w-pc33per-sp33per {
width:33%;
}
.w-pc35per-sp50per {
width:35%;
}
.w-pc35per-sp70per {
width:35%;
}
.w-pc48per-sp100per {
width:48%;
}
.w-pc49per-sp100per {
width:49%;
}
.w-pc49per-sp49per {
width:49%;
}
.w-pc48per-sp48per {
width:48%;
}
.w-pc48per-sp56per {
width:48%;
}
.w-pc45per-sp45per {
width:45%;
}
.w-pc46per-sp46per {
width:46%;
}
.w-pc24per-sp49per {
width:24%;
}
.w-pc24per-sp50per {
width:24%;
}
.w-pc24per-sp100per {
width:24%;
}
.w-pc25per-sp100per {
width:25%;
}
.w-pc25per-sp80per {
width:25%;
}
.w-pc28per-sp100per {
width:28%;
}
.w-pc30per-sp30per {
width:32%;
}
.w-pc30per-sp90per {
width:32%;
margin: auto;
}
.w-pc33per-sp50per {
width:33.3333%;
}
.w-pc50per-sp100per {
width:50%;
}
.w-pc60per-sp100per {
width:60%;
}
.w-pc65per-sp100per {
width:65%;
}
.w-pc70per-sp100per {
width:70%;
}
.w-pc50per-sp50per {
width:50%;
}
.w-pc58per-sp100per {
width:58%;
}
.w-pc58per-sp58per {
width:58%;
}
.w-pc38per-sp100per {
width:38%;
}
.w-pc23per-sp23per {
width:23%;
}
.w-pc38per-sp38per {
width:38%;
}
.w-pc42per-sp42per {
width:42%;
}
.w-pc58per-sp58per {
width:58%;
}
.w-pc100per-sp48per {
width:100%;
}
.w-pc70per-sp70per {
width:70%;
}
.w-pc100per-sp100per {
width:100%;
}
.w-pc100per-sp58per {
width:100%;
}
.w-pc25per-sp35per{
width: 25%;
margin: auto;
margin-top: 10%;
}
@media screen and (max-width: 768px) {

.w-pc25per-sp35per{
width: 35%;
margin-top: 10%;
margin: auto;
}


.w-pc19per-sp32per {
width:32%;
}
.w-pc23per-sp48per {
width:48%;
}
.w-pc24per-sp48per {
width:48%;
}
.w-pc25per-sp50per {
width:50%;
}
.w-pc26per-sp32per {
width:32%;
}
.w-pc30per-sp32per {
width:32%;
}
.w-pc32per-sp49per {
width:49%;
}
.w-pc31per-sp48per {
width:48%;
}
.w-pc30per-sp90per {
width:90%;
}
.w-pc33per-sp50per {
width:50%;
}
.w-pc35per-sp50per {
width:50%;
}
.w-pc35per-sp70per {
width:70%;
}
.w-pc25per-sp100per {
width:100%;
}
.w-pc25per-sp80per {
width:80%;
}
.w-pc28per-sp100per {
width:100%;
}
.w-pc32per-sp100per {
width:100%;
}
.w-pc32per-sp90per {
width:86%;
margin-top: 2%;
}
.w-pc48per-sp56per {
width:56%;
}
.w-pc48per-sp100per {
width:100%;
}
.w-pc49per-sp100per {
width:100%;
}
.col-pcflex-spblock {	
display: block;
}
.col-pcblock-spflex {	
display: flex;
}
.w-pc24per-sp49per {
width:49%;
}
.w-pc24per-sp50per {
width:50%;
}
.w-pc24per-sp100per {
width:100%;
}
.w-pc50per-sp50per {
width:50%;
}
.w-pc50per-sp100per {
width:100%;
}
.w-pc60per-sp100per {
width:100%;
}
.w-pc65per-sp100per {
width:100%;
}
.w-pc70per-sp100per {
width:100%;
}
.w-pc58per-sp100per {
width:100%;
}
.w-pc42per-sp42per {
width:42%;
}
.w-pc58per-sp58per {
width:58%;
}
.w-pc38per-sp100per {
width:100%;
}
.w-pc38per-sp38per {
width:38%;
}
.w-pc15per-sp30per {
width:30%;
}
.w-pc100per-sp48per {
width:48%;
}
.w-pc100per-sp58per {
width:58%;
}
.w-pc28per-sp28per {
width:28%;
}
.sp_ml15p {
margin-left:-15%;
}
.sp_mr15p {
margin-right:-15%;
}
.sp_pl0p {
padding-left:0%;
}
.sp_pr0p {
padding-right:0%;
}
.sp_pr10px {
padding-right:10px;
}
.sp_pl20px {
padding-left:20px;
}
.sp_pr20px {
padding-right:20px;
}
.sp_pt10px {
padding-top:10px;
}
.sp_pb10px {
padding-bottom:10px;
}
}
.pc_oder_1 {
order: 1;
}
.pc_oder_2 {
order: 2;
}
@media screen and (max-width: 768px) {
.pc_oder_1 {
order: 2;
}
.pc_oder_2 {
order: 1;
}
.sp_oder_1 {
order: 1;
}
.sp_oder_2 {
order: 2;
}
}
/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
.btn_entry a {
background: #520008;
background: linear-gradient(180deg,rgba(82, 0, 8, 1) 0%, rgba(136, 0, 14, 1) 100%);
display: block;
color: #fff;
text-align: center;
font-size:16px;
text-decoration: none;
padding:0.8em 2em 1.5em;
letter-spacing: 0.1em;
}
.btn_entry a span {
display: block;
width:100%;
text-align: center;
color:#d5c8a0;
font-size:40px;
}
@media screen and (max-width: 768px) {
.btn_entry a {
background: #520008;
background: linear-gradient(180deg,rgba(82, 0, 8, 1) 0%, rgba(136, 0, 14, 1) 100%);
display: block;
color: #fff;
text-align: center;
font-size:3vw;
text-decoration: none;
padding:0.6em 2em 1.2em;
letter-spacing: 0.1em;
}
.btn_entry a span {
display: block;
width:100%;
text-align: center;
color:#d5c8a0;
font-size:6vw;
}
}


.btn_gold {
background:rgba(192,162,86,1);
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_gold:hover {
background:#000;
}
.btn_gold img {
width:1em !important;
margin-right:1em;
}
a.btn_gold {
text-decoration: none;
}

.btn_blue {
background:rgba(43,136,175,1);
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_blue:hover {
background:#000;
}
.btn_blue img {
width:1em !important;
margin-right:1em;
}
a.btn_blue {
text-decoration: none;
}

.btn_red {
background:rgba(88,14,24,1);
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_red:hover {
background:#000;
}
.btn_red img {
width:1em !important;
margin-right:1em;
}
a.btn_red {
text-decoration: none;
}

.btn_gray {
background:rgba(85,85,85,1);
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_gray:hover {
background:#000;
}
.btn_gray img {
width:1em !important;
margin-right:1em;
}
a.btn_gray {
text-decoration: none;
}


.btn_lblue {
background:#26b2d4;
font-size:22px;
text-align: center;
color:#ffffff;
padding:1.2em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
font-weight: 500;
}
.btn_lblue:hover {
background:#4fcae8;
}
.btn_lblue img {
width:1em !important;
margin-right:1em;
}
a.btn_lblue {
text-decoration: none;
}
.btn_lblue2 {
background:#d3e0f1;
font-size:22px;
text-align: center;
color:#274a9d;
padding:1.2em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
font-weight: 500;
}
.btn_lblue2:hover {
background:#ffffff;
}
.btn_lblue2 img {
width:1em !important;
margin-right:1em;
}
a.btn_lblue2 {
text-decoration: none;
}

.btn_map {
background:rgba(192,162,86,1);
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_map:hover {
background:#000;
}
.btn_map img {
width:1em !important;
margin-right:1em;
}
a.btn_map {
text-decoration: none;
}
@media screen and (max-width: 768px) {
.btn_map {
font-size:1rem;
}
}
.plan_btn {
transition:all 0.3s;
}
.plan_btn:hover {
cursor: pointer;
opacity: .3;
}


/*.plan_btn {
transition:all 0.4s ease-out;
margin:0 auto;
}
.plan_btn:hover {
opacity:1;
transition:all 0.3s ease-out;
}
.plan_btn:hover {
transform: scale(1.24,1.24);
}
.plan_btn {
overflow: hidden;
position: relative;
}*/

.btn_ext {
background:#111;
font-size:20px;
text-align: center;
color:#ffffff;
padding:1em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
}
.btn_ext:hover {
background:#a59472;/*hover背景色*/
}
.btn_ext img {
width:1em !important;
margin-right:1em;
}
a.btn_ext {
text-decoration: none;
}
@media screen and (max-width: 768px) {
.btn_ext {
font-size:1rem;
}
}
.btn_ext_ico {
display: inline-block;
vertical-align: middle;
color: #111;
line-height: 1;
width: 0.6em;
height: 0.6em;
border: 0.1em solid #fff;/*文字と同じ色*/
border-radius: 0.1em;
box-sizing: content-box;
position: relative;
margin-left:1em;
}
.btn_ext_ico > span {
position: absolute;
top: -0.2em;
right: -0.2em;
width: 45%;
height: 45%;
border: 0.1em solid #fff;/*文字と同じ色*/
border-bottom: 0;
border-left: 0;
background: #111;/*背景と同じ色*/
box-shadow: -0.1em 0.1em 0 0.1em #111;/*背景と同じ色*/
box-sizing: border-box;
transition:all 0.3s;
}
.btn_ext_ico > span::before {
content: '';
position: absolute;
top: -0.05em;
right: -0.1em;
width: 0.1em;
height: 0.6em;
background: #fff;/*文字と同じ色*/
transform: rotate(45deg);
transform-origin: top center;
transition:all 0.3s;
}
.btn_ext:hover .btn_ext_ico > span {
background: #a59472;/*hover背景と同じ色*/
box-shadow: -0.1em 0.1em 0 0.1em #a59472;/*hover背景と同じ色*/
}

/*----------------------------------------------------
	スクロールボタン
----------------------------------------------------*/

#page_top {
    position: fixed;
    right: 0;
    bottom: 0;
    text-indent: -9999px;
    margin: 0;
    z-index:5;
}
#page_top a {
    position: relative;
    display: block;
    width: 65px;
    height: 65px;
    background: rgba(0,0,0,1);
    transition: opacity .6s ease;
}
#page_top a:hover {
    opacity: .3;
}
#page_top a::before {
    position: absolute;
    top: 7px;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 14px;
    height: 14px;
    margin: auto;
    content: '';
    transform: rotate(-45deg);
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
}
@media screen and (max-width:767px) {
#page_top a {
    width: 55px;
    height: 55px;
}
#page_top a::before {
    top: 9px;
    width: 15px;
    height: 15px;
}
#page_top {
    right: 0;
    bottom: 85px;
    margin: 0;
}
.sp_margin {
padding-bottom:20%;
}
.sp_margin_top_30px {
padding-top:30px;
}
.sp_side_pdg {
padding-left: 30px;
padding-right: 30px;
}
}

/*----------------------------------------------------
	スマホ時スクロール画像
----------------------------------------------------*/

.img_swipe_01 {
border:solid 1px #ccc;
}
.ico_img_swipe {
display:none;
}
@media ( max-width : 960px ) {
.ico_img_swipe {
display:block;
width:40px !important;
position: absolute;
bottom:-20px;
margin:0 auto;
left:0px;
right:0px;
}
.img_swipe_01 {
overflow-x: scroll;
-ms-overflow-style: none;
scrollbar-width: none;
text-align: center;
border:solid 1px #ccc;
}
.img_swipe_01::-webkit-scrollbar {
display:none;
}
.img_swipe_01 img {
width:160% !important;
height:inherit;
margin-left:auto;
margin-right:auto;
}
}

/*----------------------------------------------------
	MOVIE BOX
----------------------------------------------------*/

.section-inner3 {
width: 100%;
  max-width: 1080px;
  margin: 20px auto;
}

.border-box {
  margin: auto;
  margin-top: 10px;
  border: 3px solid #fff;
  padding: 80px;
  text-align: center;
}

video.topMoive{
width:100%;
height: auto;
padding-top: 25px;
margin-bottom: 25px;
}

/*----------------------------------------------------
	限定ページ用アセット
----------------------------------------------------*/

.limited_contents {
background:rgba(39,178,213,0.4);
background:rgba(0,0,0,0.4);
border:solid 1px rgba(255,255,255,0.5);
}
.box1 {
background:rgba(0,0,0,0.6);
}
.box2 {
background:rgba(0,0,0,1);
}

.formMember .button {
display:inline-block;
background:#666;
font-size:14px;
text-decoration: none;
color:#fff;
line-height: 20px;
text-align: center;
padding: 0.5em;
cursor:pointer;
border:none;
transition: 300ms;
height:50px;
width:36%;
}
.formMember .button:hover {
background:#ccc;
}
.formMember input[type=text],
.formMember input[type=password] {
font-size:18px;
border : 1px solid #ccc;
padding: 0.5em;
-webkit-border-radius : 0;
-webkit-appearance : none;
-webkit-tap-highlight-color : rgba(0,0,0,0);
height:50px;
width:60%;
}
.formMember .cf {
display:flex;
align-items: center;
justify-content:space-between;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

　　レイアウト

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
#container {
/*margin-top:76px;*/
}
@media ( max-width : 1060px ) {
#container {

}
}
.header {
transition: all 0.5s ease;
}
/* headerの色を変える */
.header.change-color {
}
@media ( max-width : 768px ) {
.header.change-color {
background:rgba(255,255,255,1);
}
}
.header {
position: fixed;
width:100%;
max-width: 100%;
left:0;
right:0;
top:0px;
margin:0 auto;
z-index: 100;
}
.header_bg {
background:rgba(255,255,255,1);
transition: all 0.5s ease;
}
.header_bg.scroll {
background:rgba(255,255,255,0.9);
}
.header_bg.active {
background:rgba(218,218,218,0.98);
}
.header.change-color .header_bg2 {
background:rgba(117,112,111,1);
}
.header.change-color {
max-width: 100%;
}

.header_inner {
display:flex;
align-items: center;
max-width: 100%;
margin:0 auto;
transition: all 0.5s ease;
width:100%;
}
.header.change-color .header_inner {
max-width: 100%;
width:100%;
max-width:1240px;
}

.header .gnavi {
max-width: 100%;
margin:0 auto;
transition: all 0.3s ease;
width:100%;
}
.header.change-color .gnavi {
max-width: 100%;
width:100%;
}

.logo {
width: 160px;
padding-left:20px;
transition: all 0.5s ease;
margin-top:19px;
margin-bottom:16px;
}
.logo img {
width:100%;
}
.header.change-color .logo {
width: 130px;
}
@media ( max-width : 1060px ) {
.header {
padding-top:0px;
padding-bottom:0px;
max-width: 100%;
height:50px;
}
.header.change-color {
height:50px;
padding-top:0px;
padding-bottom:0px;
}
.header .logo img {
width:100%;
}
.header .logo {
width: 120px;
padding-bottom:10px;
margin-bottom:0px;
margin-top:8px;
padding-left:18px;
z-index: 9;
}
.header.change-color .logo {
width: 180px;
padding-bottom:2px;
margin-bottom:0px;
margin-top:6px;
padding-left:18px;
z-index: 9;
}
.header_inner,
.header.change-color .header_inner {
max-width: 100%;

}
.header .gnavi,
.header.change-color .gnavi {
max-width: 100%;
}
.header.change-color .gnavi ul {
border-top:none;
border-bottom:none;
}
}



.gnavi ul li.selected {
}
.gnavi ul li {
opacity: 0;
margin-top:40px;
}
.gnavi.open ul li:nth-child(1) {
animation: gnavifade 0.7s ease 0.2s 1 forwards;
/*width:100%;*/
}
.gnavi.open ul li:nth-child(2) {
animation: gnavifade 0.7s ease 0.3s 1 forwards;
}
.gnavi.open ul li:nth-child(3) {
animation: gnavifade 0.7s ease 0.4s 1 forwards;
}
.gnavi.open ul li:nth-child(4) {
animation: gnavifade 0.7s ease 0.5s 1 forwards;
}
.gnavi.open ul li:nth-child(5) {
animation: gnavifade 0.7s ease 0.6s 1 forwards;
}
.gnavi.open ul li:nth-child(6) {
animation: gnavifade 0.7s ease 0.7s 1 forwards;
}
.gnavi.open ul li:nth-child(7) {
animation: gnavifade 0.7s ease 0.8s 1 forwards;
}
.gnavi.open ul li:nth-child(8) {
animation: gnavifade 0.7s ease 0.9s 1 forwards;
}
.gnavi.open ul li:nth-child(9) {
animation: gnavifade 0.7s ease 1.0s 1 forwards;
}
.gnavi.open ul li:nth-child(10) {
animation: gnavifade 0.7s ease 1.1s 1 forwards;
}

.gnavi.open .gnavi3 ul li:nth-child(1) {
animation: gnavifade 0.7s ease 1.2s 1 forwards;
}
.gnavi.open .gnavi3 ul li:nth-child(2) {
animation: gnavifade 0.7s ease 1.3s 1 forwards;
}
.gnavi.open .gnavi4 ul li:nth-child(1) {
animation: gnavifade 0.7s ease 1.4s 1 forwards;
width:100%;
}
.gnavi.open .gnavi4 ul li:nth-child(2) {
animation: gnavifade 0.7s ease 1.5s 1 forwards;
}
@-webkit-keyframes gnavifade {
  100% {
    opacity: 1;
    margin-top:0px;
  }
}
@keyframes gnavifade {
  100% {
    opacity: 1;
    margin-top:0px;
  }
}
.gnavi ul li a {
text-decoration: none;
color:rgba(255,255,255,1);
font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
font-size:12px;
letter-spacing: 0.02em;
display: block;
padding-top:18px;
padding-bottom:18px;
font-weight:600;
padding-left:1em;
padding-right:1em;
}

.gnavi ul li a span {
font-size:12px;
display: block;
font-weight: 200;
padding-top:0.6em;
font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN","小塚明朝 Pro","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝", Roboto, 'Droid Sans', 'メイリオ', Meiryo, serif;
opacity: 0.8;
color:rgba(255,255,255,1);
font-weight:500;
}

.gnavi {
position: fixed;
background:rgba(218,218,218,0.98);
height:100vh;
top:100px;
right:0;
padding-top:180px;
z-index: 99;
width:100%;
}
@media ( max-width : 1060px ) {
.gnavi {
top:140px;
padding-top:130px;
}
}
.gnavi.open {
top:0px;
z-index: 99;
}
.gnavi {
opacity: 0;
transition: 300ms;
visibility: hidden;
}
.gnavi.open {
opacity: 1;
visibility: visible;
top:0px;
right:0;
}
.gnavi ul {
display:flex;
align-items: center;
justify-content:space-between;
flex-wrap: wrap;
padding-left:30px;
padding-right:30px;
margin:0 auto 2em;
background:none;
border-top:none;
border-bottom:none;
max-width:1100px;
}
.gnavi3 ul {
display:flex;
align-items: center;
justify-content:center;
flex-wrap: wrap;
margin:0 auto 2em;
background:none;
border-top:none;
border-bottom:none;
max-width:800px;
}
.gnavi3 ul li {
margin-left:0.5%;
margin-right:0.5%;
}
.gnavi4 ul {
display:flex;
align-items: center;
justify-content:center;
flex-wrap: wrap;
margin:0 auto;
background:none;
border-top:none;
border-bottom:none;
max-width:800px;
}
.gnavi4 ul li {
margin-left:0.5%;
margin-right:0.5%;
}
.gnavi2 ul {
display:flex;
align-items: center;
justify-content:center;
flex-wrap: wrap;
padding-left:30px;
padding-right:30px;
margin:0 auto;
background:none;
border-top:none;
border-bottom:none;
max-width:800px;
}
.gnavi ul li {
width:32.333%;
margin-bottom:5px;
background: #fff;
}
.gnavi ul li {
  margin-left: 0.5%;
  margin-right: 0.5%;
}
.gnavi3 ul li {
width:49%;
margin-bottom:5px;
background: #fff;
}
.gnavi.active ul li {
padding-top:4vw;
padding-bottom:12px;
display: flex;
  justify-content: center;
  align-items: center;
font-feature-settings: "palt";
letter-spacing: 0.005em;
}
@media ( max-width : 1060px ) {
.gnavi ul li {
width:49%;
}
.gnavi.active ul li {
padding-top:11px;
padding-bottom:12px;
display: flex;
justify-content: center;
align-items: center;
font-feature-settings: "palt";
letter-spacing: 0.005em;
}
}
.gnavi ul li a {
font-size:11px;
letter-spacing: 0.02em;
font-weight:400;
color:#2b2b2b;
position: relative;
}
/*.gnavi ul li a span {
font-size:16px;
color:rgba(255,255,255,0.8);
color:#2b2b2b;
position:absolute;
white-space: nowrap;

top: 40%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
z-index: 1; 
}*/
.gnavi ul li a span {
  font-size:16px;
  color:#2b2b2b;
  position:absolute;
  white-space: nowrap;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
/*.gnavi ul li a {
font-size:14px;
letter-spacing: 0.05em;
font-weight:400;
color:#2b2b2b;
position: relative;
}
.gnavi ul li a span {
font-size:16px;
color:rgba(255,255,255,0.8);
color:#2b2b2b;
position:absolute;
white-space: nowrap;

top: 42%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
}

.gnavi ul li a {
  transition: color .5s ease;
  
  &:hover {
    color: #fff;
    opacity: 1;

    &::before {
      transform: scaleX(1);
    }
  }
  
  &::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #c4b098;
    transform: scaleX(0);
    transform-origin: left;
    transition: all .25s ease;
    transition-property: transform;
  }
}*/

/* ================================
   グロナビ ボタン演出
   ・ホバー時：背景が左→右へ伸びる
   ・openbtn クリック時：枠線が一周描かれる（JS で .gnavi.loaded を付与）
================================ */
#container .gnavi ul li a:hover {
  opacity: 1;
}
.gnavi ul li a {
  position: relative;
  overflow: hidden;
  display: block;
  line-height: 1.3;
  transition: color .8s ease;
  z-index: 0;
  --border-delay: 0s; /* JS でナビ順に設定される */
}

/* 背景（hover／selected 共通） */
.gnavi ul li a::before {
  content: '';
  position: absolute;
  inset: 0;                 /* ← a 内側にピッタリ収まる */
  display: block;
  background: #c4b098;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s ease;
  z-index: -1;              /* ← 文字より常に背面 */
}

/* 英語＋日本語テキストは最前面レイヤー */
.gnavi ul li a,
.gnavi ul li a span {
  position: relative;
  z-index: 1;
}

/* ★ 英語ラベル（中央重ね配置を復活）★ */
.gnavi ul li a span {
  position: absolute !important;
  white-space: nowrap;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/* hover：背景伸び＋文字白化 */
.gnavi ul li a:hover {
  color: #fff;
  opacity: 1;
}
.gnavi ul li a:hover span {
  color: #fff;
}
.gnavi ul li a:hover::before {
  transform: scaleX(1);
}

/* selected：背景MAX＋文字白（はみ出しなし） */
.gnavi ul li.selected a::before {
  transform: scaleX(1);  /* ← 背景100% 伸ばすだけ */
}
.gnavi ul li.selected a,
.gnavi ul li.selected a span {
  color: #fff;
}


/* =========================================================
   ■ 枠線一周アニメーション
========================================================= */

.gnavi ul li a::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;

  background:
    linear-gradient(#cab191 0 0) 0 0 / 0 1px no-repeat,       /* 上 */
    linear-gradient(#cab191 0 0) 100% 0 / 1px 0 no-repeat,    /* 右 */
    linear-gradient(#cab191 0 0) 100% 100% / 0 1px no-repeat, /* 下 */
    linear-gradient(#cab191 0 0) 0 100% / 1px 0 no-repeat;    /* 左 */
}
.gnavi ul li.disabled a::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;

  background:
    linear-gradient(#ccc 0 0) 0 0 / 0 1px no-repeat,       /* 上 */
    linear-gradient(#ccc 0 0) 100% 0 / 1px 0 no-repeat,    /* 右 */
    linear-gradient(#ccc 0 0) 100% 100% / 0 1px no-repeat, /* 下 */
    linear-gradient(#ccc 0 0) 0 100% / 1px 0 no-repeat;    /* 左 */
}
@keyframes nav-border-draw {
  0%   { background-size: 0 1px, 1px 0, 0 1px, 1px 0; }
  25%  { background-size: 100% 1px, 1px 0, 0 1px, 1px 0; }
  50%  { background-size: 100% 1px, 1px 100%, 0 1px, 1px 0; }
  75%  { background-size: 100% 1px, 1px 100%, 100% 1px, 1px 0; }
  100% { background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%; }
}

/* JS が .gnavi.loaded をつける → 枠線アニメ発火 */
.gnavi.loaded ul.main li a::after {
  animation: nav-border-draw .5s ease forwards;
  animation-delay: var(--border-delay, 0s);
}

/* =========================================================
   GNAVI4（ENTRY / 来場予約）
   ・通常：色付き背景＋英日とも白文字
   ・hover：白背景が左→右に伸びて黒文字に反転
   ・英語は左寄せ、日本語は 16px の白文字でその下に表示
   ・高さは他ボタンと同じ padding ベース
========================================================= */

/* ボタン本体 */
.gnavi4 ul li:nth-child(1) a {
  position: relative;
  overflow: hidden;
  display: block;
  padding: 24px 1em 24px;        /* 他 .gnavi と同等の高さ */
  line-height: 1.4;
  text-align: left;         /* ★ 英語ラベル左寄せ */
  background: #c3a681;      /* 通常背景色 */
  color: #fff;              /* 英語の文字色（通常時） */
  font-weight: 600;
  z-index: 0;
  background-image: url("../images/ico_entry.png");
  background-repeat: no-repeat;
  background-position: 10% center;
  background-size:20px;
}
.gnavi4 ul li:nth-child(2) a {
  position: relative;
  overflow: hidden;
  display: block;
  padding: 24px 1em 24px;       /* 他 .gnavi と同等の高さ */
  line-height: 1.4;
  text-align: left;         /* ★ 英語ラベル左寄せ */
  background: #a7ba9e;      /* 通常背景色 */
  color: #fff;              /* 英語の文字色（通常時） */
  font-weight: 600;
  z-index: 0;
  background-image: url("../images/ico_book.png");
  background-repeat: no-repeat;
  background-position: 10% center;
  background-size:20px;
}

/* 日本語ラベル：下に 16px で表示（白文字固定） */
.gnavi4 ul li a span {
  position: static;         /* ★ メインナビの absolute を無効化 */
  display: block;
  margin-top: 18px 0;
  font-size: 16px;          /* ★ ご希望のサイズ */
  font-weight: 500;
  color: #fff;              /* ★ 通常時は白文字 */
}

/* 英語＋日本語テキストを前面レイヤーに */
.gnavi4 ul li a,
.gnavi4 ul li a span {
  position: relative;
  z-index: 1;
}

/* hover / selected 時に伸びる白背景レイヤー */
.gnavi4 ul li a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s ease;
  z-index: 0;               /* テキストより背面、背景色より前面 */
}

/* hover：白背景が全体に伸びて文字色が黒に */
.gnavi4 ul li a:hover::before {
  transform: scaleX(1);
}
.gnavi4 ul li a:hover,
.gnavi4 ul li a:hover span {
  color: #000;
}

/* selected：常に hover 状態と同じ見た目に */
.gnavi4 ul li.selected a::before {
  transform: scaleX(1);
}
.gnavi4 ul li.selected a,
.gnavi4 ul li.selected a span {
  color: #000;
}
/* 枠線アニメ：他ナビと統一 */
.gnavi3 ul li a::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(#cab191 0 0) 0 0 / 0 1px no-repeat,
    linear-gradient(#cab191 0 0) 100% 0 / 1px 0 no-repeat,
    linear-gradient(#cab191 0 0) 100% 100% / 0 1px no-repeat,
    linear-gradient(#cab191 0 0) 0 100% / 1px 0 no-repeat;
}

/* .gnavi.loaded が付いた時に一周アニメ */
.gnavi.loaded .gnavi3 ul li a::after {
  animation: nav-border-draw .5s ease forwards;
  animation-delay: var(--border-delay, 0s);
}
/* 枠線アニメ：他ナビと統一 */
.gnavi4 ul li a::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(#cab191 0 0) 0 0 / 0 1px no-repeat,
    linear-gradient(#cab191 0 0) 100% 0 / 1px 0 no-repeat,
    linear-gradient(#cab191 0 0) 100% 100% / 0 1px no-repeat,
    linear-gradient(#cab191 0 0) 0 100% / 1px 0 no-repeat;
}

/* .gnavi.loaded が付いた時に一周アニメ */
.gnavi.loaded .gnavi4 ul li a::after {
  animation: nav-border-draw .7s ease forwards;
  animation-delay: var(--border-delay, 0s);
}


/* =========================================================
   ■ Media Query（元デザイン維持）
========================================================= */
@media (max-width: 1060px) {
  .gnavi ul li a {
    font-size: 1.6vw;
    letter-spacing: 0.08em;
    font-weight: 300;
  }
  .gnavi ul li a span {
    font-size: 2.4vw;
  }
}


/* =========================================================
   ■ その他（元コード維持）
========================================================= */

.gnavi ul li:hover { }

.gnavi ul li.selected { }

.gnavi2 ul {
  margin-top: 3em;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
}
.gnavi2 ul li {
  width: 49%;
  border: solid 0px rgba(255,255,255,0.4);
  margin-bottom: 5px;
  text-align: center;
}
.gnavi2 ul li a {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
.gnavi2 ul li:nth-child(1) a {
  background: #fff;
  border: none;
}
.gnavi2 ul li:nth-child(1) a,
.gnavi2 ul li:nth-child(1) a span {
  color: #111;
}
.gnavi2 ul li:nth-child(2) a {
  background: #88000e;
  border: none;
}
.gnavi2 ul li:hover {
  opacity: 0.5 !important;
  transition: all 1.4s;
}

/* 非アクティブ */
.gnavi ul li.non-active a {
  pointer-events: none;
  opacity: .4;
}

.gnavi .non-active {
pointer-events: none;
}
.gnavi .non-active a {
opacity: 0.3;
}


.hnavi.active {
opacity: 1;
visibility: visible;
}
@media ( max-width : 1060px ) {
/*.hnavi,
.hnavi.active {
display:none;
}
.hnavi.active {
opacity: 0;
visibility: hidden;
}*/
.hnavi li:nth-child(1),
.hnavi li:nth-child(2),
.hnavi li:nth-child(3),
.hnavi li:nth-child(4),
.hnavi li:nth-child(5),
.hnavi li:nth-child(6),
.hnavi li:nth-child(7),
.hnavi li:nth-child(8),
.hnavi li:nth-child(9),
.hnavi li:nth-child(10) {

}
}

.header_inner {
display:flex;
align-items: center;
justify-content:space-between;
margin:0 auto;
}
.hnavi {
display:flex;
align-items:center;
}
.hnavi ul {
display:flex;
align-items: center;
justify-content:flex-end;
text-align: center;
order: 1;
}
/* ------------------------------
  資料請求ボタン
------------------------------ */
.hnavi ul li a.btn{
  background-color: #c3a681;
  color:#fff;
  font-weight: 600;
  display: block;

  /* ← paddingはそのまま効く */
  padding: 0.5em 2em 0.5em 3.5em;
  line-height: 1.4;
  font-size:18px;
  border:solid 1px #c3a681;

  background-image: url("../images/ico_entry.png");
  background-repeat: no-repeat;
  background-position: 10% center;
  background-size:20px;

  position: relative;
  overflow: hidden;
}

/* 伸びる白背景 */
.hnavi ul li a.btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:#fff;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .5s ease;
  z-index:-1;
  pointer-events:none;
}

.hnavi ul li a.btn:hover::before{
  transform:scaleX(1);
  transform-origin:left;
}

/* テキスト：padding内で中央基準 */
.hnavi ul li a.btn > span{
  display:inline-block;
  width:100%;
  text-align:center;

  /* 通常時：アイコン分だけ右寄り */
  transform:translateX(0px);
  transition:transform .5s ease, color .2s ease;
}

/* hover：完全中央へ */
.hnavi ul li a.btn:hover > span{
  transform:translateX(-14px);
  color:#000;
}

/* hover時：アイコンを消す */
.hnavi ul li a.btn:hover{
  background-image:none;
  color:#000;
}
@media ( max-width : 1060px ) {
.hnavi ul li a.btn {
display:none;
}
}

.gnavi4 p{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s ease;
}

.gnavi4 p.is-show{
  opacity: 1;
  transform: translateY(0);
}


.hnavi h1 {
order: 0;
align-items: center;
height: 30px;
}
@media ( max-width : 768px ) {
.hnavi h1 {
order: 0;
align-items: center;
height: 5vw;
margin-top:8px;
}
.gnavi4 p {
font-size:2.5vw;
}
}
.hnavi li a {
color:#ffffff;
}
.hnavi a img {
width:14px !important;
margin-right:8px;
}

.hnavi li:nth-child(3) img {
margin-right:12px;
width:16px !important;
height:inherit;
}
.hnavi li:nth-child(4) img {
margin-right:12px;
width:16px !important;
height:inherit;
}
.hnavi li {
margin-right:30px;
font-size:16px;
transition: 300ms;
}
.hnavi li:nth-child(3) a {
background: #111;
color: rgba(255,255,255,1);
padding:0.4em 1em 0.6em;
min-width: 8em;
color: #fff;
display: block;
font-weight: 300;
font-size:20px;
letter-spacing: 0.05em;
text-align: center;
}
.hnavi li:nth-child(4) a {
background: #88000e;
color: rgba(255,255,255,1);
padding:0.4em 1em 0.6em;
min-width: 8em;
color: #fff;
display: block;
font-weight: 300;
font-size:20px;
letter-spacing: 0.05em;
text-align: center;
}

.hnavi li:nth-child(3) a span {
display: block;
width:100%;
font-size:12px;
}
.hnavi li:nth-child(4) a span {
display: block;
width:100%;
font-size:12px;
}

@media ( max-width : 1320px ) {
.hnavi li {
margin-right:30px;
font-size:14px;
transition: 300ms;
}
}
@media ( max-width : 1060px ) {
.hnavi li {
margin-right:10px;
font-size:12px;
transition: 300ms;
}
}
.hnavi.active li {
margin-right:20px;
margin-top:0px;
}
.hnavi li:nth-child(3) {
margin-right:0px;
}
.hnavi li:nth-child(4) {
margin-right:0px;
}
.hnavi li:last-child {
margin-right:0px;
}
.hnavi li a {
text-decoration: none;
color:#ffffff;
padding-bottom:0.2em;
}
.hnavi li a:hover {
color:#ffffff;
opacity: 0.5 !important;
}

.hnavi li a span {
color:#ffffff;
}
/*.openbtn_wrapper {
display:none;
}*/
/*@media ( max-width : 1060px ) {
.openbtn_wrapper {
display:block;
}
}*/

.openbtn_wrapper {
/*position:absolute;
top:10px;
right:8px;
z-index: 8;*/
transition: 300ms;
margin-top:0px;
margin-right:20px;
margin-left:20px;
position: relative;
z-index: 102;
}
.header.change-color .openbtn_wrapper {
/*top:10px;
right:8px;*/
}

.openbtn {
position: relative;/*ボタン内側の基点となるためrelativeを指定*/
background:none;
cursor: pointer;
width: 66px;
height:60px;
border-radius: 0px;
color:rgba(0,134,205,1);
padding-top:30px;
text-align: center;
font-size:12px;
}
@media ( max-width : 1060px ) {
.openbtn {
width: 69px;
height:40px;
padding-top:26px;
font-size:10px;
transform: scale(0.9);
}
.openbtn_wrapper {
margin-right:-2px;
margin-left:0px;
}
}
/*ボタン内側*/

.openbtn .openbtn-area{
transition: all .4s;
letter-spacing: 0.2em;
}
@media ( max-width : 768px ) {
.openbtn .openbtn-area{
letter-spacing: 0.3em;
}
}

.openbtn span{
display: inline-block;
transition: all .4s;/*アニメーションの設定*/
position: absolute;
left: 0px;
height: 3px;
border-radius: 0px;
background:rgba(0,134,205,1);
width: 42px;
margin-left:12px;
margin-right:12px;
}


.openbtn span:nth-of-type(1) {
  top:0px; 
}

.openbtn span:nth-of-type(2) {
  top:9px;
}

.openbtn span:nth-of-type(3) {
  top:17px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

/*.openbtn.active .openbtn-area{
  transform: rotateY(-360deg);
}*/

.openbtn.active span:nth-of-type(1) {
    top: 6px;
    left: 14px;
    transform: translateX(-14px) rotate(35deg) ;
    width: 42px;
}

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

.openbtn.active span:nth-of-type(3){
    top: 6px;
    left: 14px;
    transform: translateX(-14px) rotate(-35deg);
    width: 42px;
}
.openbtn.active {
/*border:solid 1px rgba(255,255,255,0.5);*/
}
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.footer {
text-align: center;
}
.bg_footer {
background-image: url("../images/common/bg_series.jpg");
background-position: center top;
background-size:100% 100%;
background-repeat: no-repeat;
}
.entry_contact {
text-align: center;
}
.entry_contact img {
width:100%;
}
.series_contact ul {
display:flex;
align-items: center;
justify-content: center;
align-content:flex-start;
}
.entry_contact ul li {
margin-right:2%;
}
.entry_contact ul li:last-child {
margin-right:0%;
}
.entry_contact h5 {
font-size:18px;
display:block;
text-align: center;
font-weight: 400;
padding:0 0.8em 0.8em 0.8em;
margin:0 auto;
max-width: 700px;
letter-spacing: 0.02em;
}
@media ( max-width : 768px ) {
.entry_contact ul li {
margin-right:0%;
margin-bottom:8px;
}
.entry_contact ul li:last-child {
margin-right:0%;
margin-bottom:0px;
}
.entry_contact h5 {
font-size:4vw;
max-width: 100%;
}
}

.series_contact {
text-align: center;
}
.series_contact img {
width:100%;
}
.series_contact ul {
display:flex;
align-items: center;
justify-content: center;
align-content:flex-start;
}
.series_contact ul li {
margin-right:2%;
}
.series_contact ul li:last-child {
margin-right:0%;
}
.series_contact h5 {
font-size:18px;
display:block;
background: #111;
color: #fff;
text-align: center;
font-weight: 400;
padding:0.8em;
margin:0 auto;
max-width: 700px;
letter-spacing: 0.02em;
}
@media ( max-width : 768px ) {
.series_contact ul li {
margin-right:0%;
margin-bottom:8px;
}
.series_contact ul li:last-child {
margin-right:0%;
margin-bottom:0px;
}
.series_contact h5 {
font-size:4vw;
}
}

.company_contact .inner ul {
display:flex;
align-items: center;
justify-content: center;
align-content:flex-start;
flex-wrap:nowrap;
}
.company_contact .inner li {
/*padding-left:1.25%;
padding-right:1.25%;*/
}


/* 1件用
.company_contact .inner li:nth-child(1) {
max-width:80px;
padding-right:15px;
}
.company_contact .inner li:nth-child(2) {
max-width: 270px;
}
@media ( max-width : 768px ) {
.company_contact .inner li:nth-child(1) {
max-width:80px;
padding-right:15px;
font-size:1.8vw;
}
.company_contact .inner li:nth-child(2) {
max-width: 220px;
padding-right:20px;
}
}
*/
.company_contact .inner ul {
display:flex;
justify-content:center;
align-items:flex-start;
}
.company_contact .inner li {
text-align:center;
}
.company_contact .inner li img {
width:100%;
height:auto;
}
.company_contact .inner li:nth-child(1) {
width: 30%;
margin-right:3%;
}
.company_contact .inner li:nth-child(1) img {
margin-top:50px;
}
.company_contact .inner li:nth-child(2) {
width: 20%;
margin-right:3%;
}
.company_contact .inner li:nth-child(3) {
width: 20%;
}
.company_contact .inner li:nth-child(3) img {
margin-top:35px;
}
.company_contact .inner li:nth-child(4) {
width: 20%;
}
.company_contact .inner li:nth-child(4) img {
margin-top:40px;
}
@media ( max-width : 768px ) {
.company_contact .inner ul {
display:block;
}
.company_contact .inner li:nth-child(1) {
width: 100%;
font-size:1.8vw;
padding-right:0px;
text-align: center;
margin-left:auto;
margin-right:auto;
}
.company_contact .inner li:nth-child(2) {
width: 60%;
font-size:1.8vw;
padding-right:0px;
text-align: center;
margin-top:25px;
margin-left:auto;
margin-right:auto;
}
.company_contact .inner li:nth-child(3) {
width: 60%;
font-size:1.8vw;
padding-right:0px;
text-align: center;
margin-top:25px;
margin-left:auto;
margin-right:auto;
}
.company_contact .inner li:nth-child(4) {
width: 60%;
font-size:1.8vw;
padding-right:0px;
text-align: center;
margin-top:25px;
margin-left:auto;
margin-right:auto;
margin-bottom:30px;
}
.company_contact .inner li:nth-child(1) img {
margin-top:5px;
}
.company_contact .inner li:nth-child(2) img {
margin-top:5px;
}
.company_contact .inner li:nth-child(3) img {
margin-top:5px;
}
.company_contact .inner li:nth-child(4) img {
margin-top:5px;
}
}

.tel_contact {
text-align: center;
}
.tel {
display:flex;
margin:0 auto;
text-align: center;
width:100%;
}
.tel a {
display:flex;
margin:0 auto;
text-align: center;
font-size:60px;
color:#111;
line-height: 1;
letter-spacing: 0.02em;
text-decoration: none;
flex-wrap:nowrap;
align-items: center;
}
.tel a img {
margin-right:8px;
width:inherit !important;
height:35px !important;
}
@media ( min-width : 770px ) {
.tel {
pointer-events: none;
}
}
@media ( max-width : 768px ) {
.tel a {
font-size:11vw;
letter-spacing: 0.02em;
}
.tel a img {
margin-right:4px;
width:inherit !important;
height:6vw !important;
}
.tel_contact h5 {
font-size:2.4vw;
}
}

.copyright {
background: #c3a681;
padding:0.5em;
color: #fff;
text-align: center;
line-height:2em;
}
@media ( max-width : 768px ) {
.copyright {
padding-bottom:74px;
}
}


.footer_fix {
position: fixed;
bottom:-72px;
left:0px;
right:0px;
width:100%;
margin:0 auto;
background: var(--accent);
z-index: 100;
/*border-top:solid 1px rgba(255,255,255,0.5);*/
transition: all  0.3s ease;
}

@media ( max-width : 1060px ) {
.footer_fix.active {
bottom:0px;
}
}
.footer_fix ul {
display: flex;
align-items: center;
justify-content:center;
width:100%;
margin:0 auto;
max-width: 1050px;
}
.footer_fix ul li {
width:20%;
width:33.333%;
text-align: center;
border-right:solid 1px rgba(255,255,255,0.2);
height:70px;
padding:5px;
display: flex;
align-items: center;
justify-content:center;
}
.footer_fix ul li:last-child {
border-right:none;
line-height:1.2;
}
.footer_fix ul li a {
text-decoration: none;
color:#ffffff;
display: block;
width:100%;
}
.footer_fix ul li a span {
font-size:9px;
display: block;
}
.footer_fix ul li a span.small {
-webkit-transform:scale(0.5);
transform:scale(0.5);
display: block;
white-space: nowrap;
}
.footer_fix ul li img {
width:inherit;
margin-top:8px;
max-width:20px;
}
.footer_fix ul li:nth-child(6) img {
width:inherit;
margin-top:8px;
}

.footer_fix ul li:nth-child(3) {
background: var(--accent2);
border-right:none;
}
.footer_fix ul li:nth-child(4) {
background: var(--accent2);
border-right:none;
}
.footer_fix ul li:nth-child(5) {
background: #88000e;
/*background: #e48d03;来場予約挿入時削除*/
border-right:none;
}
.footer_fix ul li:nth-child(6) {
background: #e48d03;
border-right:none;
}
.footer_fix ul li:nth-child(4) a,
.footer_fix ul li:nth-child(5) a {
color:#ffffff;
}
/*----------------------------------------------------
	メインビジュアル
----------------------------------------------------*/
.mv {
width:100%;
margin:0 auto;
}
.mv img,
.mv video {
width:100%;
vertical-align: bottom;
}

.contents_header_img {
position: relative;
}
.contents_header_img .left {
width:57.5%;
padding-bottom:10%;
}
.contents_header_img .right {
position:absolute;
width:57.5%;
right:0px;
top:10%;
}
.replay,
.skip {
cursor:pointer;
width:150px;
text-align:center;
color:rgba(255,255,255,0.8);
border:solid 1px rgba(255,255,255,0.5);
background:rgba(255,255,255,0.1);
display:block;
padding:0.3em 1em;
position:absolute;
bottom:30px;
left:0px;
right:0px;
margin:0 auto;
font-size:15px;
}
@media ( max-width : 768px ) {
.replay,
.skip {
width:100px;
font-size:12px;
}
}

/*----------------------------------------------------
	モーダルコンテンツ Basic Modal Styles
----------------------------------------------------*/
.modal {
  display: none;
  transition:all 0.3s;
}
.modal.is-open {
  display: block;
}
.modal {
  font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal__container {
  background-color: none;
  padding: 18px;
  width:100%;
  max-height: 90vh;
  border-radius: 0px;
  overflow: auto;
  box-sizing: border-box;
transition:all 0.3s;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
}
.modal-button {
cursor: pointer;
}
.modal__close {
background: transparent;
border: 0;
widht:100%;
background: #333;
color:#fff;
text-align: center;
font-size: 18px;
line-height:1.6;
cursor: pointer;
max-width: 500px;
margin:0 auto;
}
@media ( max-width : 768px ) {
.modal__close {
font-size: 22px;
line-height:1.8;
max-width: 100%;

}
}
.modal__header .modal__close:before {
content: "\2715";
color:#fff;
text-align: center;
font-size: 20px;
width:100%;
}

.modal__content {
margin-top: 0rem;
margin-bottom: 0rem;
line-height: 1.5;
color:#fff;
max-width: 1920px;
margin-left:auto;
margin-right:auto;
/*color: rgba(0,0,0,.8);*/
background:#ffffff;
}
@media ( max-width : 768px ) {
.modal__content {
max-width:240%;
width:240%;
}
}
.modal__content2 {
margin-top: 0rem;
margin-bottom: 0rem;
line-height: 1.5;
color:#fff;
max-width: 920px;
margin-left:auto;
margin-right:auto;
/*color: rgba(0,0,0,.8);*/
background:#ffffff;
}
@media ( max-width : 768px ) {
.modal__content2 {
max-width:100%;
width:100%;
}
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0,0,0,.8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out,-webkit-transform .25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.modal[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden="false"] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden="true"] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal .modal__container,
.modal .modal__overlay {
  will-change: transform;
}




