@charset "utf-8";

@import url("reset.css");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjp.css");
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=EB+Garamond:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');

/*----------------------------------------------------
	キーカラー
#00746b;
rgba(0,116,107,1);
----------------------------------------------------*/

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

/*ブラウザサイズ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: 'Noto Sans JP', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
color:#111111;
}


body {
  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;
  font-weight: 300;
}
@media ( max-width : 960px ) {
body {
  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;
  /*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;
}

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;}
.text50px {font-size:50px;}
.text60px {font-size:60px;}
.text70px {font-size:70px;}
.text80px {font-size:80px;}

@media ( max-width : 768px ) {
.text11px {font-size:2.3vw;}
.text12px {font-size:2.4vw;}
.text14px {font-size:2.6vw;}
.text16px {font-size:2.8vw;}
.text18px {font-size:3.0vw;}
.text20px {font-size:3.2vw;}
.text22px {font-size:3.4vw;}
.text24px {font-size:3.6vw;}
.text26px {font-size:3.8vw;}
.text28px {font-size:4.0vw;}
.text30px {font-size:4.2vw;}
.text32px {font-size:4.4vw;}
.text34px {font-size:4.6vw;}
.text36px {font-size:4.8vw;}
.text38px {font-size:5.0vw;}
.text40px {font-size:5.2vw;}
.text50px {font-size:6vw;}
.text60px {font-size:6.5vw;}
.text70px {font-size:7vw;}
.text80px {font-size:9vw;}
}
h2.bebas {
padding-bottom:0;
line-height: 1.4;
}
h3, p {
font-feature-settings: "palt";
letter-spacing: 0.1em;
font-weight:200;
}
h2 {
font-feature-settings: "palt";
letter-spacing: 0.02em;
padding-bottom:0.3em;
font-weight:200;
}
@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;
}
.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;
}
}

.font-weight_normal {
font-weight: normal;
}
.font-weight_bold {
font-weight: normal;
}

.text_color_brown {
color:#603813;
}
.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_green3 {
color:#00746b;
}

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

.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; }
.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; }
.pt101 { padding-top:100px; }

.pt120 { padding-top:120px; }
.pt150 { padding-top:150px; }

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

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

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

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


@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:8px; }
.pt10 { padding-top:5px; }
.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; }
.pt101 { padding-top:0px; }
.pt120 { padding-top:60px; }
.pt150 { padding-top:75px; }

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

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

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

.sp_pt0 { padding-top:0px; }
.sp_pb0 { padding-bottom:0px; }

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

.sp_pl20 { padding-left:20px; }
.sp_pr20 { padding-right:20px; }

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


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

.bg_white {
background: #ffffff;
}
.bg_green {
background: #009c45;
}
.bg_green2 {
background: #11594b;
}
.bg_green3 {
background: #0a3928;
}
.bg_dgreen {
background: #0b4725;
}
.bg_gray {
background: #b6b6b6;
}
.bg_gray2 {
background: #666666;
}
.bg_lgray {
background: #f4f4f4;
}
.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: #8b5b15;
}
.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: #5a472e;
/*background-image: url("../images/top/info_base.jpg");*/
background-color:#5a472e;
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/bg_marble.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_top_act_dream {
background: #faf8f4;
background-image: url("../images/common/top_act_dreams_bg.jpg");
background-position: center;
/*background-repeat: no-repeat;*/
/*background-size: cover;*/
background-size: 30%;
}
.bg_marble {
background: #faf8f4;
background-image: url("../images/common/bg_marble.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
@media ( max-width : 960px ) {
.bg_top_act_dream {
background-size: 100%;
}
}
.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-image: url("../images/common/top_act_story_bg2.jpg");
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-image: url("../images/common/top_act_story_bg5_new.jpg");
background-position: center;
background-repeat: repeat-y;
background-size: cover;
/*background-size: 60%;*/
}
@media ( max-width : 780px ) {
.bg_top_act_story5 {
/*background-size: 110%;*/
background-size: cover;
}
}
.bg_top_act_story6 {
background: #5a472e;
/*background-image: url("../images/common/top_act_story_bg6_new.jpg");*/
background-color:#5a472e;
background-position: center top;
background-repeat: repeat-y;
background-size: cover;
}
.bg_top_act_story7 {
background: #fff;
/*background-image: url("../images/common/top_act_story_bg5.png");*/
background-image: url("../images/common/top_act_story_bg5_new.jpg");
background-position: center;
background-repeat: repeat-y;
background-size:contain;
/*background-size: 60%;*/
}
@media ( max-width : 780px ) {
.bg_top_act_story7 {
background-size: 260%;
}
}


.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_gray {
border-top:solid 1px #999999;
}
.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_b_white {
border-bottom:solid 1px #ffffff;
}
.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%;
}

.w300 {
width:100%;
margin:0 auto;
max-width: 300px;
}


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

.w780d {
width:100%;
margin:0 auto;
max-width: 780px;
background-color: #F3FCFF;
padding: 5%;
margin-top: 5%;
}


.w870 {
width:100%;
margin:0 auto;
max-width: 870px;
}
.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;
}
.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:40px;
padding-right:40px;
}
}
@media ( max-width : 1200px ) {
.w1200 .inner {
padding-left:40px;
padding-right:40px;
}
.w1200 .inner2 {
padding-left:20px;
padding-right:20px;
}
}
@media ( max-width : 1100px ) {
.w1100 .inner {
padding-left:40px;
padding-right:40px;
}
}
@media ( max-width : 1050px ) {
.w1050 .inner {
padding-left:40px;
padding-right:40px;
}
.w1050 .inner2 {
padding-left:20px;
padding-right:20px;
}
}
@media ( max-width : 960px ) {
.w960 .inner {
padding-left:30px;
padding-right:30px;
}
}
@media ( max-width : 870px ) {
.w870 .inner {
padding-left:30px;
padding-right:30px;
}
}
@media ( max-width : 780px ) {
.w780 .inner {
padding-left:30px;
padding-right:30px;
}
}
@media ( max-width : 768px ) {
.w500 .inner {
padding-left:30px;
padding-right:30px;
}
.w600 .inner {
padding-left:30px;
padding-right:30px;
}
.w700 .inner {
padding-left:30px;
padding-right:30px;
}
.w730 .inner {
padding-left:30px;
padding-right:30px;
}
.w870 .inner {
padding-left:30px;
padding-right:30px;
}
.w1100 .inner {
padding-left:30px;
padding-right:30px;
}
.w1050 .inner {
padding-left:30px;
padding-right:30px;
}
.w1050 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w1056 .inner {
padding-left:30px;
padding-right:30px;
}
.w1056 .inner2 {
padding-left:20px;
padding-right:20px;
}
.w1200 .inner {
padding-left:30px;
padding-right:30px;
}
.w1280 .inner {
padding-left:30px;
padding-right:30px;
}
}


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

/*----------------------------------------------------
	行動提起
----------------------------------------------------*/

.kodo{
margin: auto;
padding: 1.2%;
font-size: 3.25em;
text-align: center;
color: black;
letter-spacing: 0.3em;
}

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

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

.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 0 #333, -1px -1px 0 #333,
-1px 1px 0 #333, 1px -1px 0 #333,
0px 1px 0 #333,  0-1px 0 #333,
-1px 0 0 #333, 1px 0 0 #333;
text-align: right;
}
/*写真上　黒フチ　白　左寄せ*/
p.pic_caption_left_wht {
position:absolute;
bottom:5px;
left:5px;
color:#fff;
margin-bottom:0px !important;
text-shadow:1px 1px 0 #333, -1px -1px 0 #333,
-1px 1px 0 #333, 1px -1px 0 #333,
0px 1px 0 #333,  0-1px 0 #333,
-1px 0 0 #333, 1px 0 0 #333;
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;
padding-bottom:0;
}
/*写真上 フチなし　スミ　右寄せ*/
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;
padding-bottom:0;
}
/*写真上 フチなし　スミ　左寄せ*/
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.6vw;
line-height: 1.4;
}
p.caption_right_blk {
font-size:1.6vw !important;
}
p.caption_left_blk {
font-size:1.6vw !important;
}
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
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;
}

/*----------------------------------------------------
	枠タイトル
----------------------------------------------------*/
.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;
}
}

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

/*ゆっくり点滅*/
.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-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-sp32per {
width:32%;
}
.w-pc33per-sp33per {
width:33%;
}
.w-pc35per-sp50per {
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-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-pc23per-sp30per {
width:23%;
}
.w-pc38per-sp38per {
width:38%;
}
.w-pc45per-sp100per {
width:50%;
}
.w-pc42per-sp42per {
width:42%;
}
.w-pc58per-sp58per {
width:58%;
}
.w-pc100per-sp48per {
width:100%;
}
@media screen and (max-width: 768px) {
.design .bg_lgray .col-pcflex-spflex {	
display: flex;
padding: 5%;
}

.w-pc19per-sp32per {
width:32%;
}
.w-pc23per-sp48per {
width:48%;
}
.w-pc24per-sp48per {
width:48%;
}
.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-pc28per-sp100per {
width:100%;
}
.w-pc32per-sp100per {
width:100%;
}
.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-pc23per-sp30per {
width:30%;
}
.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-pc45per-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%;
}
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/


.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(168,24,26,1.00);
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_lorange {
background:#c08b19;
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_lorange:hover {
background:#c89e3c;
}
.btn_lorange img {
width:1em !important;
margin-right:1em;
}
a.btn_lorange {
text-decoration: none;
}

.btn_lorange2 {
background:#ddd4b0;
font-size:22px;
text-align: center;
color:#603813;
padding:1.2em 1em;
display:flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:all 0.3s;
font-weight: 500;
}
.btn_lorange2:hover {
background:#c89e3c;
}
.btn_lorange2 img {
width:1em !important;
margin-right:1em;
}
a.btn_lorange2 {
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;
}
}

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

#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(8,23,53,0.4);
background:rgba(3,22,15,0.4);
border:solid 1px rgba(255,255,255,0.5);
}
.limited_contents a {
text-decoration: none;
}
.box1 {
background:rgba(0,0,0,0.6);
}
.box2 {
background:rgba(0,0,0,1);
}

.formMember .button {
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 : 768px ) {
#container {
margin-top:70px;
}
}
.header {
height:135px;
/*background:rgba(0,0,0,0.70);*/
}
/* headerの色を変える */
.header.change-color {
background :#ffffff;
}
@media ( max-width : 768px ) {
.header.change-color {
background:rgba(255,255,255,1);
}
}
.header {
position: absolute;
position: fixed;
width:100%;
max-width: 100%;
left:0;
right:0;
top:0px;
margin:0 auto;
z-index: 100;

}
.header_bg {
background :#ffffff;
height:88px;
}
.header.change-color .header_bg2 {

}
.header.change-color {
max-width: 100%;
}

.header_inner {
display:flex;
align-items: center;
max-width: 100%;
margin:0 auto;
height:88px;
background:#ffffff;
width:100%;
max-width:1240px;
}
.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%;
max-width:1240px;
height;74px;
}
.header.change-color .gnavi {
max-width: 100%;
height;74px;
width:100%;
max-width:1440px;
}

.logo {
width: 260px;
padding-left:20px;
transition: all 0.5s ease;
margin-top:8px;
margin-bottom:12px;
}
.header.change-color .logo {
width: 220px;
}
@media ( max-width : 768px ) {
.header {
padding-top:0px;
padding-bottom:0px;
max-width: 100%;
height:70px;
}
.header.change-color {
height:70px;
padding-top:0px;
padding-bottom:0px;
}

.header .logo {
width: 200px;
padding-bottom:4px;
margin-bottom:0px;
margin-top:4px;
padding-left:15px;
z-index: 9;
}
.header.change-color .logo {
width: 200px;
padding-bottom:4px;
margin-bottom:0px;
margin-top:4px;
padding-left:15px;
z-index: 9;
}
.header_inner,
.header.change-color .header_inner {
max-width: 100%;
height:70px;
}
.header .gnavi,
.header.change-color .gnavi {
max-width: 100%;
background:rgba(255,255,255,0.9);
}
.header.change-color .gnavi ul {
border-top:none;
border-bottom:none;
}
}

.gnavi {
opacity: 0;
transition: 300ms;
/*visibility: hidden;*/
visibility: visible;
}
.gnavi.active {
opacity: 1;
visibility: visible;
}
.gnavi ul {
display:flex;
align-items: center;
justify-content:center;
text-align: center;
padding-left:20px;
padding-right:20px;
margin:0 auto;
background:rgba(255,255,255,0.5);
/*border-top:solid 1px rgba(15,56,90,0.5);
border-bottom:solid 1px rgba(15,56,90,0.5);*/
}
.gnavi ul li {
width:18%;
border-right:solid 1px #8c6e4e;
line-height: 1;
font-weight:200;
position: relative;
height:47px;
/*border-bottom:solid 5px rgba(255,255,255,1);*/
}
.gnavi ul li.selected {
/*border-bottom:solid 5px rgba(15,56,90,1);*/
}
.gnavi ul li:first-child {
/*border-left:solid 1px rgba(15,56,90,0.5);;*/
border-left:solid 1px #8c6e4e;
}


.gnavi li a::before {
content: '';
position: absolute;
bottom: 0px;
left: 0px;
width: 100%;
height: 4px;
/*background: rgba(15,56,90,1);*/
background:#8c6e4e;
transition: all .3s;
transform: scale(0, 1);
transform-origin: center top;
}

.gnavi li.selected a::before,
.gnavi li a:hover::before {
transform: scale(1, 1);
}
.gnavi li a:hover {
opacity: 1 !important;
}


.gnavi ul li a {
text-decoration: none;
/*color:rgba(15,56,90,1);*/
color:#5a472e;
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:15px;
letter-spacing: 0.05em;
display: block;
padding-top:6px;
padding-bottom:14px;
font-weight:500;
padding-left:10px;
padding-right:10px;
height:67px;
}
.gnavi ul li a span {
font-size:9px;
display: block;
font-weight: 200;
padding-top:0.3em;
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;
opacity: 0.8;
color:#111111;
font-weight:500;
}
.gnavi ul li:nth-child(11) a span {
font-size:9px;
display: block;
font-weight: 200;
padding-top:0.3em;
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;
opacity: 0.8;
color:#ffffff;
font-weight:500;
}
@media ( max-width : 768px ) {
.gnavi {
position: fixed;
background:rgba(255,255,255,0.9);
height:100vh;
top:0;
right:-100vw;
padding-top:100px;
z-index: 6;
width:100%;
}
.gnavi.open {
top:0px;
}
.gnavi {
opacity: 0;
transition: 300ms;
visibility: hidden;
}
.gnavi.open {
opacity: 1;
visibility: visible;
top:0;
right:0;
}
.gnavi ul {
display:flex;
align-items: center;
justify-content:space-between;
flex-wrap: wrap;
text-align: center;
padding-left:20px;
padding-right:20px;
margin:0 auto;
background:none;
border-top:none;
border-bottom:none;
}
.gnavi ul li {
width:48%;
border-top:solid 1px #8c6e4e;
border-bottom:solid 1px #8c6e4e;
border-right:solid 1px #8c6e4e;
border-left:solid 1px #8c6e4e;
padding-top:12px;
padding-bottom:8px;
margin-bottom:5px;
background:rgba(255,255,255,1);
height:67px;
}
.gnavi.active ul li {
padding-top:12px;
padding-bottom:12px;
}
.gnavi ul li:nth-child(11) {
width:100%;
border-top:solid 1px #c08b19;
border-bottom:solid 1px #c08b19;
border-right:solid 1px #c08b19;
border-left:solid 1px #c08b19;
background:#c08b19;
}
}

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

　　グロナビリンク無効
　　<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 : 768px ) {
.hnavi,
.hnavi.active {
display:none;
}
.hnavi.active {
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;
padding-right:20px;
}
.hnavi a img {
width:14px !important;
margin-right:8px;
}
.hnavi li:nth-child(2) img {
width:16px !important;
margin-right:8px;
}
.hnavi li:nth-child(3) img {
margin-right:8px;
width:160px !important;
height:inherit;
}
.hnavi li:nth-child(4) img {
margin-right:8px;
width:160px !important;
height:inherit;
}

.hnavi li:nth-child(3) a {
margin-right:8px;
/*background: rgba(15,56,90,1);*/
background: #c08b19;
color: rgba(255,255,255,1);
/*border:solid 1px rgba(15,56,90,1);*/
border:solid 1px #c08b19;
padding:0.7em 2em;
min-width: 11em;
color: #fff;
display: block;
}
.hnavi li:nth-child(4) a {
background:rgba(168,24,26,1.00) !important;
color: #fff;
border:solid 1px rgba(168,24,26,1.00);
padding:0.7em 2em;
min-width: 11em;
display: block;
}
.hnavi li:nth-child(5) a {
background:#c7d4bd !important;
color: #4f847e;
border:solid 1px #c7d4bd;
padding:0.7em 2em;
min-width: 11em;
display: block;
}
.hnavi li:last-child a {
margin-right:8px;
width:300px !important;
height:inherit;
background:#ddd4b0 !important;
border:solid 1px #ddd4b0;
}
.hnavi li:nth-child(3) a:hover {
/*background: rgba(15,56,90,1);*/
color: rgba(255,255,255,1);
color: #ffffff;/*rgba(15,56,90,1);*/
opacity: 1 !important;
color: rgba(255,255,255,1);
background:#c89e3c;
border:solid 1px #c89e3c;
}
.hnavi li:nth-child(4) a:hover {
/*background: rgba(255,255,255,1);*/
color:#fff;
opacity: 1 !important;
background:rgba(209,52,55,1.00) !important;
border:solid 1px rgba(209,52,55,1.00);
}

.hnavi li:nth-child(5) a:hover {
/*background: rgba(255,255,255,1);*/
color: #4f847e;
opacity: 1 !important;
background:#deead4 !important;
border:solid 1px #deead4
}


.hnavi li {
margin-right:30px;
font-size:14px;
transition: 300ms;
margin-top:8px;
}
.hnavi.active li {
margin-right:20px;
margin-top:0px;
}
.hnavi li:nth-child(3) {
margin-right:0px;
}
.hnavi li:last-child {
margin-right:0px;
}
.hnavi li a {
text-decoration: none;
color: rgba(15,56,90,1);
padding-bottom:0.2em;
}
.hnavi li a:hover {
color: rgba(15,56,90,1);
opacity: 0.5 !important;
}

.hnavi li a span {
color:#000;
}
.openbtn_wrapper {
display:none;
}
@media ( max-width : 768px ) {
.openbtn_wrapper {
display:block;
}
}

.openbtn_wrapper {
position:absolute;
top:10px;
right:8px;
z-index: 8;
transition: 300ms;
}
.header.change-color .openbtn_wrapper {
top:10px;
right:8px;
}

.openbtn {
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:none;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 0px;
}

/*ボタン内側*/

.openbtn .openbtn-area{
    transition: all .4s;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 10px;
    height: 4px;
    border-radius: 0px;
  background: #000000;
    width: 60%;
  }


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

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

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

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

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

.openbtn.active span:nth-of-type(1) {
    top: 16px;
    left: 10px;
    transform: translateY(6px) rotate(-135deg);
    width: 60%;
}

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

.openbtn.active span:nth-of-type(3){
    top: 28px;
    left: 10px;
    transform: translateY(-6px) rotate(135deg);
    width: 60%;
}
.openbtn.active {
/*border:solid 1px rgba(255,255,255,0.5);*/
}
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.footer {
text-align: center;
}
.company_contact .inner ul {
display:flex;
align-items:flex-start;
justify-content:space-between;
align-content:flex-start;
flex-wrap:wrap;
}
.company_contact .inner li:nth-child(1) {
width:37%;
margin:0 auto;
}
.company_contact .inner li:nth-child(2) {
width:28%;
margin:0 auto;
padding-left:40px;
}
.company_contact .inner li:nth-child(3) {
width:35%;
margin:0 auto;
padding-left:40px;
}

.company_contact .inner li:nth-child(1) img {
width:100%;
max-width: 350px;
}
.company_contact .inner li:nth-child(2) img,
.company_contact .inner li:nth-child(3) img {
width:100%;
}


@media ( max-width : 768px ) {
.company_contact .inner li:nth-child(1) {
width:100%;
margin:0 auto;
text-align: center;
padding-bottom:25px;
}
.company_contact .inner li:nth-child(2) {
width:100%;
margin:0 auto;
padding-left:20px;
padding-right:20px;
max-width: 310px;
}
.company_contact .inner li:nth-child(3) {
width:100%;
margin:15px auto 0px;
padding-left:20px;
padding-right:20px;
max-width: 380px;
}
}

.copyright {
background:rgba(15,56,90,1);
padding:0.5em;
color: #fff;
text-align: center;
}
@media ( max-width : 768px ) {
.copyright {
padding-bottom:74px;
}
}


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

@media ( max-width : 768px ) {
.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.5);
height:70px;
padding:5px;
display: flex;
align-items: center;
justify-content:center;
background:#ddd4b0;
}
.footer_fix ul li:last-child {
border-right:none;
line-height:1.2;
}
.footer_fix ul li a {
text-decoration: none;
color:#111111;
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 {
height:inherit;
width:24px;
max-width: 24px;
margin-top:8px;
}
.footer_fix ul li:last-child img {
height:inherit;
width:24px;
max-width: 24px;
margin-top:4px;
}
.footer_fix ul li:nth-child(2) img {
height:inherit;
width:20px;
max-width: 20px;
}
.footer_fix ul li:nth-child(3) {
border-right:none;
}
.footer_fix ul li:nth-child(4) {
background:#603813;
border-right:none;
}
.footer_fix ul li:nth-child(5) {
background:rgba(88,14,24,1);
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;
}
}

