@charset "utf-8";

@font-face {
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 500;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 700;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 900;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
	url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
}

@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 500;
  src: url('../font/NotoSerifCJKjp-Medium.woff') format('woff2'),
       url('../font/NotoSerifCJKjp-Medium.woff') format('woff');
}
@font-face {
  font-family: 'Noto Serif';
  font-style: bold;
  font-weight: 700;
  src: url('../font/NotoSerifCJKjp-Bold.woff') format('woff2'),
       url('../font/NotoSerifCJKjp-Bold.woff') format('woff');
}
/*
@font-face {
    font-family: 'GENJ';
    font-style: normal;
    font-weight: 400;
    src: url('../font/GenJyuuGothicXP-Regular.eot');
    src: url('../font/GenJyuuGothicXP-Regular.eot?#iefix') format('embedded-opentype'),
    url('../font/GenJyuuGothicXP-Regular.ttf') format('truetype'),
    url('../font/GenJyuuGothicXP-Regular.woff') format('woff');
}
@font-face {
    font-family: 'GENJ';
    font-style: normal;
    font-weight: 500;
    src: url('../font/GenJyuuGothicXP-Medium.eot');
    src: url('../font/GenJyuuGothicXP-Medium.eot?#iefix') format('embedded-opentype'),
    url('../font/GenJyuuGothicXP-Medium.ttf') format('truetype'),
    url('../font/GenJyuuGothicXP-Medium.woff') format('woff');
}
@font-face {
    font-family: 'GENJ';
    font-style: normal;
    font-weight: 700;
    src: url('../font/GenJyuuGothicXP-Bold.eot');
    src: url('../font/GenJyuuGothicXP-Bold.eot?#iefix') format('embedded-opentype'),
    url('../font/GenJyuuGothicXP-Bold.ttf') format('truetype'),
    url('../font/GenJyuuGothicXP-Bold.woff') format('woff');
}
*/
@font-face {
  font-family: 'babes';
  font-style: bold;
  src: url('../font/bebas-webfont.woff') format('woff2'),
       url('../font/bebas-webfont.woff') format('woff');
}

.montserrat {
    font-family: 'Montserrat', sans-serif;
}




/* Common */
html {
    font-size: 16px;
		line-height: 1.6;
		font-weight:500;
		font-family: 'GENJ', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-feature-settings: 'liga', 'kern';
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
		color:#1b1b1b;
}
body {
		text-align: center;
    height: 100%;
    min-width: 1100px;
    max-width: 1400px;
    margin: 0 auto;
}
.inner {
    max-width: 1100px;
    margin: 0 auto;
}

* {outline:none;}

a {color: #1b1b1b;}
a[href^="tel:"] { cursor: default; }
img {max-width: 100%;}

.center {text-align:center;}
.center_span {
		display:inline-block;
		width:100%;
		text-align:center;
}
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
}
.clearfix {
    display: block; /* for IE8 */
}
.clear {
    clear: both;
}


/************************************************************
/* font
/************************************************************/

/* font color */
.red     {color: #ff0000;}
.magenta {color: #ff0072;}
.yellow  {color: #e8d900;}
.yellow2 {color: yellow;}
.blue    {color: #1d2088;}
.lblue   {color: #00ffff;}
.sblue   {color: #007ef2;}
.gold    {color: #9f8800;}
.navy    {color: #006499;}
.gray    {color: #8A8A8A;}
.green   {color: #00b300;}

/* background color */
.yb {background: yellow;padding: 0 4px;}
.rb {background: #e60012;padding: 0 4px;}
.gb {background: #cacaca;padding: 0 4px;}
.lgb {background:#c7ff00;padding: 0 4px;}
.lbb {background:#00ffff;padding: 0 4px;}
.bb {background:#1d2088;padding: 0 4px;}

/* border */
.border_r {
    display: inline-block;
    border-bottom: solid 4px #e60012;
    line-height: 1.6;	
}
.dotted {
    -webkit-text-emphasis: filled dot #000;
    text-emphasis: filled dot #000;
}
.dotted_r {
    -webkit-text-emphasis: filled dot #f00;
    text-emphasis: filled dot #f00;
}

/* etc */
.underline {text-decoration: underline;}
.bold {font-weight: 900;}

/* size */
.mini    {font-size: 80%;}
.midium  {font-size: 1.2em;}
.large   {font-size: 1.5em;}
.xlarge  {font-size: 1.8em;}


.radius {border-radius:6px;}

.float_l {float:left;}
.float_r {float:right;}

.image_bloc {
    text-align: center;
}

.image_bloc + p           {margin-top:2em;}
.image_bloc + .image_bloc {margin-top:2em;}
p + .image_bloc           {margin-top:2em;}



.flex {
		display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.mt2 {margin-top:2em!important;}
.mt4 {margin-top:4em!important;}

.mb2 {margin-bottom:2em!important;}
.mb4 {margin-bottom:4em!important;}

.pb4 {padding-bottom:4em!important;}

.bg_white {background:#FFF;}
.bg_cream {background:#f5e8b1;}


.action  {
		position: relative;
    margin: 0 auto;
		cursor:pointer;
}
.action img.img_defaul {
    position: relative;
		z-index:1;
}
.action img.img__light {
    position: absolute;
		top:0;
		left:0;
		right:0;
		margin:0 auto;
		z-index:1000000000000000000;
}

.line_big_link {
    display: inline-block
}
.line_big_link a {
	
}

.btn_action  {
		position: relative;
    margin: 0 auto;
		cursor:pointer;
}
.btn_action img.img_defaul {
    position: relative;
		z-index:1;
}
.btn_action img.img__light2, 
.btn_action img.img__light3 
{
    position: absolute;
		top:0;
		left:0;
		right:0;
		margin:0 auto;
		z-index:0;
}



/*footer*/
footer {
    text-align: center;

}
footer a {
		text-decoration:none;	
}
footer a:hover {
		text-decoration:underline;	
}
footer .inner {
		position:relative;
    padding: 1em 0;
}
footer .logo {

}
footer .logo span {
    display: block;
    margin: 10px 0 0;
    font-size: 26px;
    font-family: 'Noto Serif';
}

.copyright {
    background: #c22303;
    color: #fff;
    padding: 8px;
}
.copyright small {
		font-size:14px;
}


.pci {display: inline-block!important;}
.spi {display: none!important;}
.pc_none {display:none;}
.sp_none {display:block;}
#panel-btn {display:none;}
.sp_menu_bloc {display:none;}


@media screen and (max-width: 768px) {
.pci {display: none!important;}
.spi {display: inline-block!important;}
.pc_none {display:block;}
.sp_none {display:none;}
a[href^="tel:"] {pointer-events: all;}

html {
    font-size: 16px;
}
body {
    min-width: initial;
    height: auto;
}
.inner {
    max-width: initial;
    margin: 0 auto;
}


footer {
    padding: 1em 0 0;
}
footer .logo {
    margin-bottom: 1em;
}
footer .logo span {
    font-size: 1em;
}
.footer_nav {
    display: none;
}



.copyright small {
    font-size: 0.6em;
}







#panel-btn {
    display: inline-block;
    position: relative;
    width: 30px;
    height: 30px;
    margin: 0;
    border-radius: 50%;
    background: none;
    margin-left: 0;
    top: 0;
    right: 0;
}
#panel-btn:hover { background: none; }
#panel-btn-icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 2px;
    margin: -1px auto 0 -15px;
    background: #221814;
    transition: .2s;
    z-index: 10000000000;
}
#panel-btn-icon:before, #panel-btn-icon:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 2px;
    margin-left: -15px;
    background: #221814;
    transition: .3s;
}
#panel-btn-icon:before { margin-top: -8px; }
#panel-btn-icon:after { margin-top: 6px; }

#panel-btn .close { background: transparent; }
#panel-btn .close:before, #panel-btn .close:after { margin-top: 0; }
#panel-btn .close:before { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
#panel-btn .close:after { transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }

.sp_menu_bloc {
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 60px 15px 20px;
    box-sizing: border-box;
    z-index: 999;
    top: 0;
    left: 0;
}
.sp_menu_bloc {
    border-bottom: solid 1px #999;
    text-align: left;
}

.sp_menu_bloc > ul {
		display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1em;
}
.sp_menu_bloc ul li {
    width: 100%;
}
.sp_menu_bloc ul li.half {width:50%;}

.sp_menu_bloc a {
		text-decoration:none;
		color:#fff;
}

.sp_menu > ul {
	
}
.sp_menu > ul > li {
	
}
.sp_menu > ul > li + li {
		margin-top:1em;
}
.sp_menu > ul > li > ul {
    padding-left: 1em;
}
.sp_menu > ul > li > ul > li {
	
}
.sp_menu > ul > li > ul > li + li {
		margin-top: 0.5em;
}







}


.blinking{
		-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{0% {opacity:0;}100% {opacity:1;}}
@-moz-keyframes blink{0% {opacity:0;}100% {opacity:1;}}
@keyframes blink{0% {opacity:0;}100% {opacity:1;}}

/* ボタンのアニメーション */
.animation {
    visibility: visible !important;
    animation-fill-mode: both !important;
    -webkit-animation-fill-mode: both !important;
}
.replay {
    -webkit-animation-iteration-count: infinite !important;
    animation-iteration-count: infinite !important;
}

/*bounce-in*/
.bounce-in {
    -webkit-animation: bounce-in 1.8s;
            animation: bounce-in 1.8s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
}
@keyframes bounce-in {
    0%  {transform: scale(1);opacity: 1;}
    25% {transform: scale(1.1);}
    40% {transform: scale(.8);}
    50% {transform: scale(1.1);}
    60% {transform: scale(.9);}
    70% {transform: scale(1.05);opacity: 1;}
    80% {transform: scale(.95);}
    90% {transform: scale(1.01);}
    100%{transform: scale(1);}
}
@-webkit-keyframes bounce-in {
    0%  {transform: scale(1);opacity: 1;}
    25% {transform: scale(1.1);}
    40% {transform: scale(.8);}
    50% {transform: scale(1.1);}
    60% {transform: scale(.9);}
    70% {transform: scale(1.05);opacity: 1;}
    80% {transform: scale(.95);}
    90% {transform: scale(1.01);}
    100%{transform: scale(1);}
}