@charset "utf-8";
/* reset styles */

@font-face {
font-family: 'Kakugo_S';
src: url('../fonts/Kakugo_SmallPr6N-M.otf') format('opentype');
src:url('../fonts/Kakugo_SmallPr6N-M.woff') format('woff');
src:url('../fonts/Kakugo_SmallPr6N-M.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'Kakugo_S';
src: url('../fonts/Kakugo_SmallPr6N-DB.otf') format('opentype');
src:url('../fonts/Kakugo_SmallPr6N-DB.woff') format('woff');
src:url('../fonts/Kakugo_SmallPr6N-DB.woff2') format('woff2');
font-weight: 600;
font-style: normal;
}

@font-face {
font-family: 'Kakugo_S';
src: url('../fonts/Kakugo_SmallPr6N-B.otf') format('opentype');
src:url('../fonts/Kakugo_SmallPr6N-B.woff') format('woff');
src:url('../fonts/Kakugo_SmallPr6N-B.woff2') format('woff2');
font-weight: 900;
font-style: normal;
}


@font-face {
font-family: 'TunnelMin';
src: url('../fonts/TunnelMin-Tightline.otf') format('opentype');
src: url('../fonts/TunnelMin-Tightline.woff') format('woff');
src: url('../fonts/TunnelMin-Tightline.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'TunnelMin';
src: url('../fonts/TunnelMin-Wideline.otf') format('opentype');
src: url('../fonts/TunnelMin-Wideline.woff') format('woff');
src: url('../fonts/TunnelMin-Wideline.woff2') format('woff2');
font-weight: 600;
font-style: normal;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-overflow-scrolling: touch;

}

html, body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset {
margin: 0;
padding: 0;
font-family: 'Kakugo_S',HelveticaNeue,Helvetica,'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif ;
line-height: 180%;
zoom:1;
-webkit-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
-moz-text-size-adjust:100%;
-ms-text-size-adjust:100%;
-o-text-size-adjust:100%;
text-size-adjust:100%;
-ms-font-smoothing:antialiased;
-o-font-smoothing:antialiased;

-moz-font-smoothing:antialiased;
-webkit-font-smoothing:antialiased;;
font-smoothing:antialiased;
color: #000;
font-size:16px;
}


#Wrapper {position: relative; z-index: 1;}

/* ▼img▼*/
img,figure {margin: 0px; padding: 0px;}
a img {	border:none; overflow: hidden; outline: none;	}

/*それ以外の文字を隠すには▼▼これを使ってください。*/
em {font-size: 1px;visibility: hidden;text-decoration: none;}

/* ▼リンククリック時の点線を消す▼*/
a { outline: none; }

/* ▼リンク色 任意の色に変更してください▼*/
/*float調整は▼これ▼*/
/*以下の要素で「img/space1.gif」を囲んでおけば、WINDOWS IE でも空白が出る事はなくなります。
  ■■ 例：<div class="clearfloat"><img src="img/space1.gif" /></div> ■■ */
.clearfloat {
clear: both;
visibility: hidden;
height: 0;
overflow : hidden;
font-size: 0;
content : "";
}
.clearfloat img {width:1px !important; height:1px !important;}

/* スペース用空白を埋めるのに使用してください */
.space1 {display: block;height: 1px;width: 1px;}
.space1 img {display: block;clear: both;}

.space5 {height: 5px;margin: 0px;padding: 0px;}
.space7 {height: 7px;margin: 0px;padding: 0px;}
.space10 {height: 10px;}
.space20 {height: 20px;}
.space25 {height: 25px;}
.space30 {height: 30px;}
.space40 {height: 40px;}
.space50 {height: 50px;}
.space60 {height: 60px;}
.space70 {height: 70px;}
.space80 {height: 80px;}
.space90 {height: 90px;}
.space100 {height: 100px;}
.space110 {height: 110px;}
.space120 {height: 120px;}
.space130 {height: 130px;}
.space140 {height: 140px;}

/* フォントサイズなど */
.f10 {font-size: 10px !important;}
.f11 {font-size: 11px !important;}
.f12 {font-size: 12px !important;}
.f13 {font-size: 13px !important;}
.f14 {font-size: 14px !important;}
.f15 {font-size: 15px !important;}
.f16 {font-size: 16px !important;}
.f18 {font-size: 18px !important;}
.f20 {font-size: 20px !important;}
.f22 {font-size: 22px !important;}

/* フォント色 */
.red10 {color: #f33;font-size: 10px;}
.red {color: #f33 !important;}
.orange {color: #FF6600;}
.blue {color: #0066FF;}
.pink {color: #FF33CC;}
.black {color: #050505;}
.gray {color: #999999;}

/* padding */
.pd0 {padding:0px !important;}
.pl5 {padding-left:5px;}
.pl10 {padding-left:10px;}
.pl15 {padding-left:15px;}
.pl20 {padding-left:20px;}
.pl25 {padding-left:20px;}
.pl30 {padding-left:20px;}

/* margin */
.t5 {margin-top:5px !important;}
.t10 {margin-top:10px !important;}
.t12 {margin-top:12px !important;}
.t15 {margin-top:15px !important;}
.t18 {margin-top:18px !important;}
.t20 {margin-top:20px !important;}
.t25 {margin-top:25px !important;}
.t30 {margin-top:30px !important;}

.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px! important;}

.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml12 {margin-left:12px !important;}
.ml15 {margin-left:15px !important;}
.ml18 {margin-left:18px !important;}
.ml20 {margin-left:20px !important;}
.ml25 {margin-left:25px !important;}
.ml30 {margin-left:30px !important;}


/* 「このページのトップへ」はこれを使用 */
.anchor_top {
font-size: 10px;
text-align: right;
margin-right: auto;
margin-bottom: 20px;
margin-left: auto;
padding-top: 10px;
}

/* clearfix */
.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
/* IE6 */
* htm .clearfix {height: 1%;}
/* IE7 */
*:first-child+html .clearfix { height: 1%;}


.ie_hack {display: none;}

@media all and (-ms-high-contrast:none) {
.ie_hack{display: block;}
}


/* rollover */
a {
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
}

.indent {text-indent:-1em;	padding-left:1em;}
.bold {font-weight:700;}

.left {text-align:left !important;}
.right {text-align:right !important;}
.center {text-align:center !important;}

ol, ul {list-style-type:none;}

/*=========================================================================
NAVI
=========================================================================*/
#Wrapper:before,
#Header:before{
content: "";
left: -100%;;
top: 0;
width: 100%;
height: 100%;
position: fixed;
z-index: -999;
background: rgba(0,0,0,.4);
filter: alpha(opacity=0); -moz-opacity:0; opacity:0;
}
#Header.open:before,
#Wrapper.open:before {
left: -0%;;
filter: alpha(opacity=100); -moz-opacity:1; opacity:1;
z-index: 2;
}

body {position: relative;}
body.open {overflow: hidden;}

/*=========================================================================
HEADER
=========================================================================*/
#Header {
width: 100%;
background-image: url('../img/bg_header.svg');
background-position: center;
background-repeat: no-repeat;
background-size: contain;
background-color: #f9f5f2;
z-index: 2;
-o-transition: .2s;
-ms-transition: .2s;
-moz-transition: .2s;
-webkit-transition: .2s;
transition: .2s;
}


/*=========================================================================
HEADER：GLOBAL NAVI
=========================================================================*/
.global_navi {
overflow: hidden; 
background: #f9f5f2; 
color: #050505;
position: fixed;
z-index: -99;
transition: all .5s;
-webkit-overflow-scrolling: touch;
opacity: 0;
right:-100%;
height: 100%;

}
.global_navi.open {opacity: 1; z-index:98 !important; height:auto; right: 0;}



.global_navi:before {
content: "";
position: absolute;
z-index:-999;
right: 6%;
top: 72%;
width:7vw;
height: 7vw;
max-width: 145px;

background-image: url('../img/tako3.svg');
background-repeat: no-repeat;
background-position: center top;
background-size: contain;
-moz-animation: loop04 4s linear infinite;
animation: loop04 4s linear infinite;
}

/* ---------------------------------------------------------------- */
.navi_inner {
height: 100vh;
overflow-y: scroll;
overflow-x: hidden;
scrollbar-width: thin;
scrollbar-color: #f5f5f5 #050505;
padding-bottom: 10vh;
}

.navi_inner::-webkit-scrollbar{background: #fff;width: 8px;}
.navi_inner::-webkit-scrollbar-thumb{background: #050505;width: 8px; height: 8px;}


/* ---------------------------------------------------------------- */
.menu-trigger {
position:absolute;
cursor: pointer;
z-index: 99;
margin: auto;
top:0%;
transition: all .5s;
}
.menu-trigger span {
background: #050505;
display: block;
position: absolute;
height: 2px;
border-radius: 100vh;
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
-ms-transform:translateY(-50%);
-moz-transform:translateY(-50%);
-webkit-transform:translateY(-50%);
transform:translateY(-50%);
}

.menu-trigger.active span:nth-child(1) {-webkit-transform: rotate(315deg);transform: rotate(315deg);}
.menu-trigger.active span:nth-child(2) {width: 0;left: 50%;}
.menu-trigger.active span:nth-child(3) {-webkit-transform: rotate(-315deg);transform: rotate(-315deg);}

/* ---------------------------------------------------------------- */
.menu-trigger:hover span,
.menu-trigger.active:hover span{background: #e72a50;}

/* ---------------------------------------------------------------- */
ul.navi_list {list-style-type: none;text-align: left; margin: 0 auto;}
ul.navi_list li {
font-family: 'TunnelMin';
display: inline-block;
width: 100%;
border-bottom: 1px solid #888;
line-height: 140%;
position: relative;
font-weight: 600;
z-index: 1;
will-change: transform;
}
ul.navi_list li:first-of-type {border-top: 1px solid #888;　will-change: transform;}

ul.navi_list li a,ul.navi_list li span {
display: block;
text-decoration: none;
color: #050505;
position: relative;
font-weight: 600;
z-index: 1;
}
ul.navi_list li a:hover,
ul.navi_list li span:hover,
ul.navi_list li span.active{color: #e72a50;}

ul.navi_list li a:before,
ul.navi_list li a:after {
content: "";
position: absolute;
right: 1em;
top: calc(50%);
width: 1vw;
height: 2px;
max-width: 18px;
background: #707070;
border-radius: 100vh;
transform: rotate(35deg) ;
transform-origin:calc(100%) 50%;
}
ul.navi_list li a:after {transform:rotate(-35deg) ;}





/*=========================================================================
FOOTER
=========================================================================*/
#Footer {position: relative; z-index: 1; background: #f9f5f2;}
#Footer:before{
content: "";
position: absolute;
left: 0;
top: -.78vw;
width: 100%;
z-index: -1;
height: .78vw;
background-position: left top;
background-repeat: repeat-x;
background-size: contain;
-moz-animation: loop 140s linear infinite;
animation: loop 140s linear infinite;
background-image: url('../img/bg_wave_beige.svg');
}

/* ---------------------------------------------------------------- */
ul.credit_list {list-style-type: none;}
ul.credit_list li {height: auto; width: 100%; line-height: 160%; font-weight: 400;}
ul.credit_list li:last-of-type {margin-bottom: 0;}
ul.credit_list li a {text-decoration: none; color: #050505;}
ul.credit_list li a:hover {color: #e72a50;}

/* ---------------------------------------------------------------- */
.copy {line-height: 140%;}

/* ---------------------------------------------------------------- */
#sns_iconBox {height: auto;}

/* ---------------------------------------------------------------- */
ul#sns_iconLink {
list-style-type: none;
width: 100%;
height: auto;
margin: 0 auto;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
}
ul#sns_iconLink li {height: auto;}
ul#sns_iconLink li:last-of-type {margin-right: 0;}
ul#sns_iconLink li a, ul#sns_iconLink li img {width: 100%; height: auto; display: block;}
ul#sns_iconLink li a:hover {filter: alpha(opacity=80); -moz-opacity:0.8; opacity:0.8;}







/*=========================================================================
MODAL PAGE
=========================================================================*/
#modalWrapper {background: #f9f5f2;margin: 0 auto; }

/* ---------------------------------------------------------------- */

dl.modal_container, dl.modal_container dt, dl.modal_container dd {height: auto; }
dl.modal_container { margin: 0 auto;}

/* ---------------------------------------------------------------- */
.modal_photo {border: 1px solid #050505;}
.modal_photo, .modal_photo img {width: 100%; height: auto; display: block;}
.modal_photo  {padding: 0; margin: 0 auto;}

/* ---------------------------------------------------------------- */
.modal_title, .modal_cap {line-height: 160%; font-weight: 500; color: #050505;}
.modal_cap{display: block;}
.modal_cap span {font-size: 90%;}

dl.modal_container dd, dl.modal_container dd p {line-height: 200%;}
dl.modal_container dd a {color: #050505; text-decoration: underline;}
dl.modal_container dd a:hover {color: #e72a50; text-decoration: none;}

dl.modal_container dd p.indent {margin-bottom: .5%;}

/* ---------------------------------------------------------------- */
dl.modal_container .btn_basic {display: inline-block; margin-bottom: 0 !important;}


/* ---------------------------------------------------------------- */
dl.modal_container::-webkit-scrollbar {background: #f9f5f2; width: 4px;}
dl.modal_container::-webkit-scrollbar-thumb {background:#eee;}

/* ---------------------------------------------------------------- */
ul.modal_sns_links {
list-style-type: none;
width: 100%;
height: auto;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center;
}

ul.modal_sns_links li {justify-content: center; max-width: 36px;}
ul.modal_sns_links li a, ul.modal_sns_links li img {width: 100%; height: auto; display: block;}

/* ---------------------------------------------------------------- */
.btn_box {display: -webkit-flex; display: flex; flex-wrap: wrap; align-items: center;}
.btn_sns {max-width: 36px;  margin-bottom: 0 !important;}
.btn_sns a, .btn_sns img {width: 100%; height: auto; display: block;}
.btn_sns.icon_youtube {max-width: 40px;}



/* ---------------------------------------------------------------- */
ul.modal_photo_list:last-of-type {margin-bottom: 0 !important; padding-bottom: 0;}


/* ---------------------------------------------------------------- */
ul.modal_photo_list {
list-style-type: none;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
width: 100%;
height: auto;
margin: 0 auto;
align-items: stretch;
}
ul.modal_photo_list li {height: auto; background: #ffff; border: 1px solid #050505;}
ul.modal_photo_list li img {width: 100%; height: auto; display: block; border: 1px solid #050505;}


/* ---------------------------------------------------------------- */
.modal_period_headline {width: 100%;}
.photo_list_cap {line-height: 160%; width: 100%; font-weight: 900 !important;}

/*=========================================================================
PAGE TOP
=========================================================================*/
#page-top {
position: fixed;
bottom:5%;
right: 0px;
z-index:99;
text-align:center;
}

#page-top a {
display: block;
text-decoration:none !important;
-o-transition: .2s;
-ms-transition: .2s;
-moz-transition: .2s;
-webkit-transition: .2s;
transition: .2s;
/*filter: alpha(opacity=80); -moz-opacity:0.8; opacity:0.8;*/
}

#page-top a:hover {text-decoration:none !important;}

