@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');

/*----------------------------------------------------
	ベース設定
----------------------------------------------------*/
.inner {
overflow: hidden;
}
/*ブラウザサイズ960以上はスクロールバーを出さない*/
body { margin:0; padding:0; overflow-x:hidden; }
@media ( max-width : 960px ) {
body {
overflow-x:inherit;
}
}

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:#121212;
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;
}
.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; }
.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; }
.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;
}

.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: #f4f2f2;
width:100%;
}
.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_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_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:2.2vw;
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:2.4vw !important;
}
p.caption_left_blk {
font-size:2.4vw !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-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-pc100per-sp100per {
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-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%;
}
.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;*/
margin-top:60px;
}
@media ( max-width : 1060px ) {
#container {
margin-top:50px;
}
}
.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(117,112,111,1);
}
.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: 187px;
padding-left:20px;
transition: all 0.5s ease;
margin-top:19px;
margin-bottom:16px;
}

.header.change-color .logo {
width: 300px;
}
@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 {
width: 180px;
padding-bottom:2px;
margin-bottom:0px;
margin-top:6px;
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%;
height:50px;
}
.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 .gnavi2 ul li:nth-child(1) {
animation: gnavifade 0.7s ease 1.2s 1 forwards;
}
.gnavi.open .gnavi2 ul li:nth-child(2) {
animation: gnavifade 0.7s ease 1.3s 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:14px;
letter-spacing: 0.05em;
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(0,0,0,0.93);
height:100vh;
top:100px;
right:0;
padding-top:180px;
z-index: 99;
width:100%;
}
@media ( max-width : 1060px ) {
.gnavi {
top:100px;
padding-top:90px;
}
}
.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;
background:none;
border-top:none;
border-bottom:none;
max-width:800px;
}
.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:49%;
border-bottom:solid 1px rgba(255,255,255,0.4);
margin-bottom:5px;
}
.gnavi.active ul li {
padding-top:12px;
padding-bottom:12px;
}
.gnavi ul li a {
font-size:20px;
letter-spacing: 0.15em;
font-weight:400;
}
.gnavi ul li a span {
font-size:12px;
color:rgba(255,255,255,0.8);
}
@media ( max-width : 1060px ) {
.gnavi ul li a {
font-size:2.6vw;
letter-spacing: 0.08em;
font-weight:300;
}
.gnavi ul li a span {
font-size:1.8vw;
}
}
.gnavi ul li:hover {
/*background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.1) 25%, transparent 25%, transparent 75%, rgba(255,255,255,0.1) 75%, rgba(255,255,255,0.1)), repeating-linear-gradient(45deg, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0.0) 25%, rgba(255,255,255,0.0) 75%, rgba(255,255,255,0.1) 75%, rgba(255,255,255,0.1));
background-position: 0 0, 2px 2px;
background-size: 4px 4px;*/
}


.gnavi ul li.selected {
/*background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.2) 25%, transparent 25%, transparent 75%, rgba(255,255,255,0.2) 75%, rgba(255,255,255,0.2)), repeating-linear-gradient(45deg, rgba(255,255,255,0.2) 25%, rgba(255,255,255,0.0) 25%, rgba(255,255,255,0.0) 75%, rgba(255,255,255,0.2) 75%, rgba(255,255,255,0.2));
background-position: 0 0, 2px 2px;
background-size: 4px 4px;*/
}
.gnavi ul.main li.selected a {
color:rgba(208,191,161,1);
}
.gnavi ul.main li.selected a span {
color:rgba(208,191,161,0.8);
}
.gnavi2 ul {

}
.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;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

　　グロナビリンク無効
　　<li class="non-active"><a>トップ</a></li>

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.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) {
/*display:none;
opacity: 0;
visibility: hidden;*/
}
}

.header_inner {
display:flex;
align-items: center;
justify-content:space-between;
margin:0 auto;
}
.hnavi {

}
.hnavi ul {
display:flex;
align-items: center;
justify-content:flex-end;
text-align: center;
}
.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(208,191,161,1);
padding-top:40px;
text-align: center;
font-size:12px;
}
@media ( max-width : 1060px ) {
.openbtn {
width: 69px;
height:60px;
padding-top:38px;
font-size:10px;
transform: scale(0.9);
}
.openbtn_wrapper {
margin-right:-2px;
margin-left:20px;
}
}
/*ボタン内側*/

.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: 2px;
border-radius: 0px;
background:rgba(208,191,161,1);
width: 42px;
margin-left:12px;
margin-right:12px;
}


.openbtn span:nth-of-type(1) {
  top:13px; 
}

.openbtn span:nth-of-type(2) {
  top:22px;
}

.openbtn span:nth-of-type(3) {
  top:30px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

/*.openbtn.active .openbtn-area{
  transform: rotateY(-360deg);
}*/

.openbtn.active span:nth-of-type(1) {
    top: 22px;
    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: 22px;
    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;
}
.company_contact .inner li:nth-child(1) {
max-width: 270px;
padding-right:35px;
}
.company_contact .inner li:nth-child(1) img {
margin-top:6px;
}
.company_contact .inner li:nth-child(2) {
max-width: 250px;
padding-left:35px;
}
.company_contact .inner li:nth-child(2) img {
/*margin-top:30px;*/
margin-top:3px;
}
@media ( max-width : 768px ) {
.company_contact .inner ul {
display:block;
}
.company_contact .inner li:nth-child(1) {
max-width: 100%;
font-size:1.8vw;
padding-right:0px;
text-align: center;
}
.company_contact .inner li:nth-child(2) {
max-width: 100%;
font-size:1.8vw;
padding-left:0px;
text-align: center;
margin-top:30px;
margin-bottom:20px;
}
.company_contact .inner li:nth-child(1) img {
max-width:70%;
margin:8px auto;
}
.company_contact .inner li:nth-child(2) img {
max-width:50%;
margin:0 auto;
margin:8px auto;
}
}

.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;
}
}

.copyright {
background: rgba(117,112,111,1);
padding:0.5em;
color: #fff;
text-align: center;
}
@media ( max-width : 768px ) {

}


.footer_fix {
position: fixed;
bottom:-72px;
left:0px;
right:0px;
width:100%;
margin:0 auto;
background: rgba(117,111,112,1);
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:25%;
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) {
border-right:none;
}
.footer_fix ul li:nth-child(4) {
background: #111;
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;
}




