@charset "utf-8";
/*---------------------------------------------------------
Theme Name: cheerio-pc01
Description:
Author: JAMD STUDIO 
License: JAMD STUDIO
License URI: http://jamdstudio.com
Version: 1.0
---------------------------------------------------------*/
.social-icons__item.is-eng {
    color: #fff;
}
.social-icons__item.is-eng .social-icons__target:hover {
	opacity: 1;
}
.social-icons__item.is-eng:hover .social-icons__tips {
	visibility: hidden;
	opacity: 0;
}
/*==========================================================================

   index

==========================================================================*/
#index-kv {
    position: relative;
}
.index-kv-banner {
    position: absolute;
    top: 10px;
    width: 100%;
	z-index: 3;
}
#index-lineup,
#index-company {
	transform: skew(0deg, -5.5deg) translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
#index-machine,
#index-production {
	transform: skew(0deg, 5.5deg) translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
#index-lineup .index-section-inner,
#index-company .index-section-inner {
	transform: skew(0deg, 5.5deg) translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
#index-machine .index-section-inner,
#index-production .index-section-inner {
    transform: skew(0deg, -5.5deg) translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.index-section {
	background-size: cover !important;
}

#index-animation01 {
    position: relative;
    height: 600px;
    background: url(_img/index/bg_index_kv01.png) no-repeat center top;
	background-size: cover;
	overflow: hidden;
}
.index-animation01-inner {
    position: absolute;
    top: 100px;
    width: 100%;
    height: 100%;
    background: url(_img/index/bg_index_kv02.png) no-repeat 26% top;
	opacity: 0;
	transition: 1s ease-in-out;
}
#index-animation01 .container {
    position: relative;
	height: 100%;
}

.index-animation01__icon01 {
    position: absolute;
    width: 169px;
    height: 226px;
    top: 110px;
    left: -2.3%;
	opacity: 0;
	z-index: 4;
	transition: 1s ease-in-out;
	transition-delay: .2s;
}
.index-animation01__icon02 {
    position: absolute;
    width: 305px;
    height: 230px;
    left: 90%;
    bottom: 63px;
    opacity: 0;
    z-index: 2;
    transition: 1.2s ease-in-out;
}
.index-animation01__icon03 {
    position: absolute;
    width: 84px;
    height: 270px;
    right: 115px;
    bottom: 30px;
	opacity: 0;
	z-index: 2;
	transition: .7s ease-in-out;
	transition-delay: .35s;
}
.index-animation01__icon04 {
    position: absolute;
    width: 152px;
    height: 109px;
    top: 35px;
    left: 670px;
    opacity: 0;
    z-index: 2;
    transition: .7s ease-in-out;
    transition-delay: .35s;
}
.flag-show.show--on .index-animation01-inner { top: 0; opacity: 1;}
.flag-show.show--on .index-animation01__icon01 {top: 110px; left: 2.3%; opacity: 1;}
.flag-show.show--on .index-animation01__icon02 {left: 42.5%;bottom: 63px; opacity: 1;}
.flag-show.show--on .index-animation01__icon03 { bottom: 160px; opacity: 1;}
.flag-show.show--on .index-animation01__icon04 { left: 550px; opacity: 1;}

.index-animation01__bg01 {
    position: absolute;
    bottom: -52px;
    left: 94px;
    width: 1020px;
    height: 565px;
    z-index: 0;
	transition: 1s ease-in-out;
	transition-delay: .5s;
}
.index-animation01__bg02 {
    position: absolute;
    top: 208px;
    right: -219px;
    width: 805px;
    height: 285px;
	opacity: 0;
    z-index: 0;
	transition: 1.2s ease-in-out;
	transition-delay: .4s;
}
.flag-show.show--on .index-animation01__bg01 { bottom: -22px; /*left: 94px;*/ opacity: 1;}
.flag-show.show--on .index-animation01__bg02 { top: 118px; /*right: -219px;*/ opacity: 1;}

.index-kv-link-lifeguard {
    position: absolute;
    display: block;
    top: 165px;
    left: 26.3%;
    width: 461px;
    height: 116px;
    /*background: rgba(0, 0, 0, .5);*/
    transform: skew(0deg, -19deg);
    z-index: 1;
}

.bubbles01 {
    position: absolute;
    bottom: 283px;
    left: 50%;
    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}
.bubbles02 {
    position: absolute;
    bottom: 283px;
    left: 30%;
    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}
.bubbles03 {
    position: absolute;
    bottom: 199px;
    left: 65%;
    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}

.index-kv__news {
    position: absolute;
    box-sizing: border-box;
    bottom: 93px;
    left: -500px;
    min-width: 380px;
    max-width: 500px;
    padding: 15px 15px 15px 100px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    background: rgba(0, 0, 0, .6);
    transition: .7s;
    transition-delay: .8s;
}
.index-kv__news a {
    color: #fff;
}
.index-kv__news a:hover {
    text-decoration: underline;
}
.index-kv__news__date {
    display: block;
}
.index-kv__news__date {
    display: block;
}
.flag-show.show--on .index-kv__news {left: 0;}

#index-lineup {
	position: relative;
	margin-top: -95px;
    background: #fff;
	z-index: 2;
}
.index-lineup__title {
    text-align: right;
    font-size: 80px;
    color: #c5c1c2;
    transform: skew(0deg, -5.5deg) translate3d(0, 0, 0);
}
.index-lineup__body {
    position: relative;
    box-sizing: border-box;
    min-height: 445px;
    padding: 0 0 50px;
    overflow: hidden;
}
.index-lineup__body-inner {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2400px;
    margin: 0 0 0 -1200px;
}
.index-lineup__list .slick-arrow {
    margin-top: -60px;
    width: 40px;
    height: 44px;
}
.index-lineup__list .slick-arrow:before {
	color: #666;
	font-size: 46px;
}
.index-lineup__list {
	width: 1000px;
	margin: 30px auto 0;
    overflow: visible;   
}
.lineup__item {
	position: relative;
	width: 99px;
	margin: 0px 20px;
	padding: 10px 0;
    text-align: center;  
}
.lineup__item__img img {
    position: absolute;
    bottom: 50px;
    left: 0;
    width: 99px;
    height: auto;
}
.lineup__item__icon {
    position: absolute;
    display: table-cell;
    top: 10px;
    right: -2px;
    width: 48px;
    height: 48px;
    font-size: 13px;
    color: #fff;
    line-height: 48px;
    text-align: center;
    vertical-align: middle;
    letter-spacing: .07em;
    border-radius: 50%;
    background: #f80000;
}
.index-lineup__list .slick-current {
    transform: scale(1.20) translate3d(0, 0, 0);
} 
.index-lineup .slick-list {
    padding: 0 0 50px !important;
}
.lineup__item__img {
    display: block;
    position: relative;
    width: 99px;
	height: 250px;
    margin: 0 auto;
    padding: 0 0 57px;
    text-align: center;
}
.lineup__item__img:after {
    content: '';
    position: absolute;
    bottom: 59px;
    left: 50%;
    width: 80px;
    height: 5px;
    margin-left: -40px;
    border-radius: 50%;
    box-shadow: 0 33px 14px rgba(0, 0, 0, .2);
    z-index: -1;
}
.lineup__item__title {
    display: block;
    font-size: 16px;
    line-height: 1.5;
}
#index-machine {
    position: relative;
    padding: 5px 0 0;
    background: #f80000;
    overflow: hidden;
    z-index: 4;
}
.index-machine__title {
    margin-bottom: 6px;
    font-size: 26px;
}
.index-machine__title a {
    display: inline-block;
    padding: 30px;
}
.index-machine__list {
	position: relative;
	width: 100%;
	height: 360px;
	margin: 0 auto;
	overflow: hidden;
	opacity: 0;
	transition: .2s;
}
.index-machine__item {
    position: absolute;
    right: 0;
	transition: .8s;
}
.index-machine__item.item--01 { left: 120%; width: 300px; margin-left: -150px;}
.index-machine__item.item--02 { left: 120%; width: 292px; margin-left: -146px;}
.index-machine__item.item--03 { left: 120%; width: 303px; margin-left: -151px;}
.index-machine__item.item--04 { left: 120%; width: 298px; margin-left: -159px;}
.index-machine__item.item--05 { left: 120%; width: 300px; margin-left: -150px;}

.flag-show.show--on .index-machine__list {
    opacity: 1;
}
.flag-show.show--on .index-machine__item.item--01 { left: 105%;}
.flag-show.show--on .index-machine__item.item--02 { left: 22.4%;}
.flag-show.show--on .index-machine__item.item--03 { left: 50%;}
.flag-show.show--on .index-machine__item.item--04 { left: 78.5%;}
.flag-show.show--on .index-machine__item.item--05 { left: -5%;}


#index-production {
    position: relative;
    height: 900px;
    margin-top: -40px;
    background: url(_img/index/bg_index_production.png) no-repeat center top;
    z-index: 5;
}
#index-production .container {
    position: relative;
}
.index-production__title {
    position: absolute;
    top: -5px;
    left: 10px;
    font-size: 26px;
    z-index: 2;
}
.index-production__title a {
    display: inline-block;
    padding: 30px;
}
.index-production__icon {
    position: absolute;
    top: 90px;
    left: 62px;
    z-index: 2;
}
.index-production__item {
	position: absolute;
	bottom: -770px;
	width: 100%;
	height: 804px;
	margin: 0 auto;
	background: url(_img/index/item_index_production02.png) no-repeat right top;
	opacity: 0;
	transition: .7s;
}
.flag-show.show--on .index-production__item {
    opacity: 1;
	bottom: -670px;
}

#index-company {
    position: relative;
    height: 585px;
    margin-top: -400px;
    /* background: url(_img/index/bg_index_company.png) no-repeat center top; */
    background: #d3d4da;
    overflow: hidden;
    z-index: 6;
}
.index-company-inner {
    position: relative;
    top: -100px;
    height: 585px;
    background: url(_img/index/bg_index_company.jpg) no-repeat center top;
}
.index-company-symbol {
    position: absolute;
    top: -106px;
    left: 50%;
    width: 1340px;
    height: 780px;
    margin-left: -670px;
    background: url(_img/index/item_index_company01_pc.jpg) no-repeat center top;
}
.index-company-symbol__ring {
    position: relative;
    display: block;
    top: 50%;
    left: 50%;
    width: 191px;
    height: 49px;
    margin: 44px 0 0 -95px;
}
#index-news {
    position: relative;
    margin-top: -150px;
    background: #fff;
    z-index: 7;
}
.index-news-banner {
    padding: 40px 0 0;
}
.index-news-banner__list {
    font-size: 0;
    text-align: center;
}
.index-news-banner__item {
    display: inline-block;
}
.index-news-banner__item + .index-news-banner__item {
    margin-left: 20px;
}
.index-news__title {
    margin-top: 50px;
    margin-bottom: -.17em;
    font-size: 60px;
	font-style: italic;
    line-height: 1;
    text-align: right;
    color: #dddcdc;
}
.news-archive01 {
    padding: 25px 12px;
    border-radius: 10px;
    background: #f4f4f4;
}
.news-archive01__item {
    display: table;
	table-layout: fixed;
    width: 100%;
    padding: 10px 0 4px;
    line-height: 1.5;
    border-bottom: 1px dashed #000;
}
.news-archive01__item__date {
    display: table-cell;
    width: 130px;
    padding: 0 15px;
}
.news-archive01__item__title {
    display: table-cell;
}
.news-archive01__footer {
    padding: 15px 15px 0;
    font-weight: 300;
    text-align: right;
}

/*==========================================================================

   news

==========================================================================*/
.archive-content__title {
    position: relative;
}
.news__title {
    position: relative;
}
.new-archive-menu {
    position: absolute;
    top: 31px;
    right: 0;
}
.new-archive-menu select {
    padding: 8px 20px;
    color: #222;
    border-radius: 1px;
}
.news-time-arhive__title {
    margin-bottom: 12px;
    padding: 0 10px;
    font-size: 17px;
    font-weight: bold;
}

.news-archive02__item {
    padding: 23px 10px;
    border-bottom: 1px dashed #c7c7c7;
}
.news-archive02__item:last-child {
    border: none;
}
.news-archive02__item-row {
    display: table;
    width: 100%;
    line-height: 1.7;
}
.news-archive02__item-col {
    display: table-cell;
    vertical-align: top;
}

.news-archive02__item__tag {
    width: 143px;
}
.news-archive02__item__date {
    width: 70px;
    padding: 0 30px 0 0;
}
.tag01 {
    display: inline-block;
    padding: 3px 6px;
    font-size: 14px;
    font-weight: 200;
    border-radius: 5px;
}
.tag01.tag--other {
    color: #fff;
    background: #9f9f9f;
}
.tag01.tag--news {
    color: #fff;
    background: #00d2bf;
}
.tag01.tag--lineup {
    color: #fff;
    background: #ff7214;
}
.tag01.tag--event {
    color: #fff;
    background: #00b665;
}

.news-nav {
    position: relative;
    width: 990px;
    margin: 20px auto 30px;
    padding-bottom: 38px;
    text-align: center;
    border-bottom: 1px solid #cbcbcb;
}
.news-nav__list {
    font-size: 0;
}
.news-nav__item {
    display: inline-block;
    font-size: 14px;
}
.news-nav__item + li.news-nav__item {
    margin-left: 85px;
}
.news-nav__item.item--next {
    position: relative;
}
.news-nav__item.item--next a:before {
    display: inline-block;
    font: normal 18px/1 FontAwesome;
    content: "\f104";
    position: relative;
    top: -.13em;
    margin-right: .25em;
    vertical-align: middle;
}
.news-nav__item.item--prev {
    position: relative;
}
.news-nav__item.item--prev a:after {
    display: inline-block;
    font: normal 18px/1 FontAwesome;
    content: "\f105";
    position: relative;
    top: -.13em;
    margin-left: .25em;
    vertical-align: middle;
}
.news-article {
    position: relative;
    box-sizing: border-box;
    width: 860px;
    margin: 0 auto;
    padding-left: 45px;
}
.news-article__tag {
    position: absolute;
	top: -3px;
    left: -80px;
}
.news-article__date {
    margin-bottom: 22px;
}
.news-article__title {
    margin-bottom: 30px;
    font-size: 21px;
    line-height: 1.7;
}
.news-article__visual img {
    max-width: 100%;
    height: auto;
}
.news-article__content {
    font-size: 14px;
    font-weight: 200;
    line-height: 1.5;
}
.news-article__content p {
	margin-top: 1em;
}
.news-article__content strong {
	font-weight: 500;
}
.news-article__content a {
    color: #e60014;
    text-decoration: underline;
}
.news-article img {
    max-width: 100%;
    height: auto;
}
.news-article img.alignright{
	display: block;
	margin: 0 0 0 auto;
}

.news-article img.alignleft{
	display: block;
	margin: 0 auto 0 0;
}

.news-article img.aligncenter{
	display: block;
	margin: 0 auto;
}
.news-article__map {
    margin-top: 35px;
}

.news-article__content .youtube {
    position: relative;
    width: 100%;
    margin: 2em 0;
    padding-top: 56.25%;
}
.news-article__content .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


/*==========================================================================

   lineup

==========================================================================*/
.archive-lineup__item.item--genre .archive-lineup__item__image {
    height: 190px;
}

.archive-lineup__item.item--genre .archive-lineup__item__image img {
    width: 190px;
    height: 190px;
}
.archive-lineup__item.item--genre:hover .archive-lineup__item__image {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
    -moz-transform: scale(1) translate3d(0, 0, 0);
    -o-transform: scale(1) translate3d(0, 0, 0);
    -ms-transform: scale(1) translate3d(0, 0, 0);
    transform: scale(1) translate3d(0, 0, 0);
}

.archive-lineup-search {
    padding: 6px;
    border: 1px solid #e0e0e0;
    border-radius: 1px;
    background: #f2f2f2;
}
.archive-lineup-search-row {
    display: table;
    width: 100%;
}
.archive-lineup-search-col {
    display: table-cell;
    padding: 12px;
    vertical-align: middle;
}
.archive-lineup-search-col.col--main {
    padding: 0 20px;
}
.archive-lineup-genre__list {
    margin-top: 12px;
    font-size: 0;
    overflow: hidden;
}
.archive-lineup-genre__item {
    display: inline-block;
    box-sizing: border-box;
    width: 33.33333%;
    margin-bottom: 18px;
    padding: 9px 0 5px 42px;
    font-size: 16px;
}
.archive-lineup-search-col.col--aside {
    width: 294px;
    border-left: 3px solid #d8d8d8;
}
.archive-lineup-search__keyword {
	width: 256px;
	margin: 0 auto;
    padding-bottom: 5px;
    border-bottom: 2px solid #000;
}
.archive-lineup-search__input {
    width: 210px;
    padding: 5px;
    font-size: 15px;
    background-color: #f2f2f2;
    border: none;
}
.archive-lineup-search__submit {
width: 35px;
height: 30px;
padding: 0;
font-family: FontAwesome;
font-size: 20px;
border: none;
background: transparent;
cursor: pointer;
}
.archive-lineup-search__btn {
	padding-bottom: 9px;
    text-align: center;
}
.archive-lineup-search__btn .btn-outer {
    width: 182px;
    height: 42px;
    font-size: 16px;
    font-weight: 400;
    margin: 10px auto 0;
}
.archive-lineup-search-col.col--btn .btn-outer {
    width: 182px;
    height: 42px;
    font-size: 16px;
    font-weight: 400;
    margin: 0 auto;
}
.archive-lineup-search-col .category-submit {
	display: block;
    width: 182px;
    height: 42px;
	margin: 0 auto;
	padding-top: .2em;
    font: normal 16px/1 "Helvetica Neue",Helvetica,Arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", 'YuGothic', '游ゴシック', "メイリオ",Meiryo, "ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.archive-lineup-search-col .category-submit:hover {
    cursor: pointer;
}
.archive-lineup-search-col.col--input {
    width: 696px;
    vertical-align: middle;
}
.archive-lineup-search-col.col--input .archive-lineup-search__keyword {
    width: 426px;
}
.archive-lineup-search-col.col--input .archive-lineup-search__input {
    width: 380px;
}
.archive-lineup-search-col.col--btn {
    border-left: 3px solid #d8d8d8;
}
.archive-lineup-search__back {
    padding: 15px 40px;
    font-size: 16px;
}
.archive-lineup-search__back:before {
    display: inline-block;
    font: normal 20px/1 FontAwesome;
    content: "\f104";
    position: relative;
    top: -.079em;
    margin-right: .75em;
    color: #666;
    vertical-align: middle;
}
.archive-lineup__list {
    margin-top: 25px;
    font-size: 0;
}
.archive-lineup__item {
    display: inline-block;
    width: 25%;
    font-size: 17px;
    text-align: center;
	vertical-align: top;
	opacity: 0;
}

.archive-lineup__item.item--label {
    width: 25%;
    z-index: 2;
}
.archive-lineup__label-inner {
    text-align: center;
    width: 126px;
    height: 126px;
    margin: 30px auto 0;
    border-radius: 50%;
}
.archive-lineup__item a {
    position: relative;
    display: block;
    padding: 15px 10px 35px;
}
.archive-lineup__item .icon-new {
    position: absolute;
    left: 53px;
    padding: 3px 8px 2px;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: .18em;
    z-index: 2;
}
.archive-lineup__item__image {
    position: relative;
    display: block;
	height: 126px;
    -moz-transition: -moz-transform .2s ease-in-out;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    -o-transition: -o-transform .2s ease-in-out;
    -ms-transition: -ms-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
}
.archive-lineup__item__image img {
    width: 50px;
    height: auto;
	margin: 0 auto;
}
.archive-lineup__item:hover .archive-lineup__item__image {
    -webkit-transform: scale(1.2) translate3d(0, 0, 0);
    -moz-transform: scale(1.2) translate3d(0, 0, 0);
    -o-transform: scale(1.2) translate3d(0, 0, 0);
    -ms-transform: scale(1.2) translate3d(0, 0, 0);
    transform: scale(1.2) translate3d(0, 0, 0);
}
.archive-lineup__item__title {
    display: block;
    margin-top: 12px;
    line-height: 1.3;
}


/*================================================== single */
.article-lineup {
    margin: 60px auto 0;
}
.article-lineup-row {
    display: table;
    width: 100%;
}
.article-lineup-col {
    display: table-cell;
}
.article-lineup-col.col--image {
    position: relative;
    width: 454px;
    text-align: center;
    vertical-align: top;
}
.article-lineup__image {
    margin-top: 50px;
}
.article-lineup-col.col--image:after {
    position: absolute;
    content: "";
    display: block;
    top: 570px;
    left: 50%;
    width: 148px;
    height: 26px;
    margin-left: -74px;
    background: url(_img/lineup/bg_shadow01.png) no-repeat;
	animation: blink 3s infinite ease-in-out;
}
.article-lineup__icon .icon-new {
    margin-bottom: 25px;
    padding: 4px 15px;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: .18em;
}
.article-lineup__title {
	margin-bottom: 37px;
    font-size: 27px;
	font-weight: 600;
	line-height: 1.5;
    color: #e50013;
}
.article-lineup__desc {
    font-size: 17px;
    line-height: 1.5;
}
.article-lineup-data-row {
    padding: 25px 0;
}
.article-lineup-data-row + .article-lineup-data-row {
    border-top: 1px solid #d6d6d6;
}
.article-lineup-data01__terms {
    font-size: 16px;
    display: table;
    width: 100%;
}
.article-lineup-data01__terms + .article-lineup-data01__terms {
    margin-top: 15px;
}
.article-lineup-data01__title {
    display: table-cell;
    width: 135px;
    vertical-align: top;
}
.article-lineup-data01__desc {
    display: table-cell;
    vertical-align: top;
}
.article-lineup__fact {
    font-size: 14px;
}
.article-lineup__fact__title {
    margin-bottom: 14px;
}
.article-lineup__fact__body {
    line-height: 1.5;
}
.article-lineup__code__terms {
    display: table;
    width: 300px;
}
.article-lineup__code__terms + .article-lineup__code__terms {
    margin-top: 6px;
}
.article-lineup__code__title {
    display: table-cell;
    vertical-align: top;
    width: 157px;
}
.article-lineup__code__desc {
    display: table-cell;
    vertical-align: top;
    text-align: right;
}
.article-lineup__caffeine__header {
    position: relative;
}

.article-lineup__caffeine__notes {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 13px;
    font-weight: 300;
    text-align: right;
}
.article-lineup__caffeine__notes strong {
    display: block;
    margin-top: 9px;
    font-size: 15px;
}
.article-lineup__caffeine__level {
    position: relative;
    margin: 60px 0 0;
    padding: 0 5px;
    font-size: 0;
}
.article-lineup__caffeine__level:after {
    content: "";
    position: absolute;
    display: block;
    top: -12px;
    left: 12px;
    width: 550px;
    height: 2px;
    background: #e60001;
}
.article-lineup__caffeine__level__min,
.article-lineup__caffeine__level__mid,
.article-lineup__caffeine__level__max {
    display: inline-block;
    width: 33.33333%;
    font-size: 18px;
}
.article-lineup__caffeine__level__min {
    position: relative;
    text-align: left;
}
.article-lineup__caffeine__level__min:before {
    content: "";
    position: absolute;
    display: block;
    top: -15px;
    left: 4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #e60001;
}
.article-lineup__caffeine__level__mid {
    position: relative;
    text-align: center;
}
.article-lineup__caffeine__level__mid:before {
    content: "";
    position: absolute;
    display: block;
    top: -15px;
    left: 50%;
    width: 9px;
    height: 9px;
    margin-left: -4.5px;
    border-radius: 50%;
    background: #e60001;
}
.article-lineup__caffeine__level__max {
    position: relative;
    text-align: right;
}
.article-lineup__caffeine__level__max:before {
    content: "";
    position: absolute;
    display: block;
    top: -15px;
    right: 3px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #e60001;
}
.article-lineup__toshop {
    margin-top: 45px;
}
.article-lineup__toshop__btn {
    width: 306px;
    height: 55px;
    font-size: 20px;
}
.article-lineup__caffeine__level__min.active:before,
.article-lineup__caffeine__level__mid.active:before,
.article-lineup__caffeine__level__max.active:before {
	animation: pulse 2s infinite;
}
.article-lineup-gallery {
	margin-top: 130px;
}
.article-lineup__list {
    width: 960px;
    margin: 0 auto;
    font-size: 0;
    text-align: center;
}
.article-lineup__list .slick-list {
    width: 960px;
    overflow: hidden;
}
.article-lineup__list .slick-arrow {
	width: 26px;
	height: 30px;
	margin-top: -15px;
}
.article-lineup__list .slick-arrow:before {
    color: #ccc;
    font-size: 30px;
}
.article-lineup__item {
    position: relative;
    display: inline-block;
    width: 160px;
    font-size: 16px;
    vertical-align: top;
}
.article-lineup__item .icon-new {
    position: absolute;
    left: 10px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: .18em;
    z-index: 2;
}


/*==========================================================================

   about

==========================================================================*/
.about-machine__title {
	margin-top: 15px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
}
.about-machine-step__item {
	position: relative;
    display: table;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    border-radius: 10px;
}
.about-machine-step__item + .about-machine-step__item {
    margin-top: 70px;
}
.about-machine-step__item + .about-machine-step__item:before {
    position: absolute;
    top: -58px;
    left: 50%;
    content: "";
    display: block;
    width: 43px;
    height: 43px;
    margin-left: -22px;
    background: url(_common/img/icon_cur01.png) no-repeat;
}
.about-machine-step__item:nth-child(odd) {
    background: #f2f0fe;
}
.about-machine-step__item:nth-child(even) {
    background: #fff9f3;
}

.about-machine-step__item-col {
    display: table-cell;
    vertical-align: top;
}
.about-machine-step__item-col.col--number {
    width: 117px;
	padding: 30px;
}
.about-machine-step__item-col.col--header {
    position: relative;
    width: 310px;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: left center;
}
.about-machine-step__item:nth-child(1) .about-machine-step__item-col.col--header {
	background-image: url(_img/about-machine/thumb_machine_step01.png);
}
.about-machine-step__item:nth-child(2) .about-machine-step__item-col.col--header {
	background-image: url(_img/about-machine/thumb_machine_step02.jpg);
}
.about-machine-step__item:nth-child(3) .about-machine-step__item-col.col--header {
	background-image: url(_img/about-machine/thumb_machine_step03.png);
}
.about-machine-step__item:nth-child(4) {
	background-image: url(_img/about-machine/thumb_machine_step04.png);
	background-position: 112px center;
	background-repeat: no-repeat;
}
.about-machine-step__item:nth-child(5) .about-machine-step__item-col.col--header {
	background-image: url(_img/about-machine/thumb_machine_step05.jpg);
}

.about-machine-step__item__number-wrap {
    display: table-cell;
    width: 117px;
    height: 117px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    border-radius: 50%;
    background: #e50014;
}
.about-machine-step__item__number-unit {
    display: block;
    font-size: 17px;
}
.about-machine-step__item__number-value {
    display: block;
    font-family: 'Crimson Text', serif;
    font-size: 60px;
}
.about-machine-step__item__label {
    position: relative;
    right: 0;
    display: table;
    box-sizing: border-box;
    width: 114px;
    height: 114px;
    margin-left: auto;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
    border: 2px solid #d6d6d6;
    background: #fff;
    overflow: hidden;
}
.about-machine-step__item__label-inner {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
.about-machine-step__item-col.col--text {
    padding: 33px 30px 30px 60px;
    font-size: 15px;
    font-weight: 200;
    line-height: 1.9;
}
.about-machine-step__item__number {
    margin-bottom: 6px;
    font-size: 51px;
    line-height: 1;
}
.about-machine-step__item__number .fa-phone {
    top: -6px;
    margin-right: .3em;
    font-size: 36px;
}
.about-machine-step__item__inquiry-btn {
    width: 382px;
    height: 62px;
    font-size: 20px;
    font-weight: 500;
}

/*operation */
.about-operation__title {
    margin-top: 15px;
}
.about-operation-archive {
    padding-bottom: 465px;
    background: url(_img/about-operation/bg_about_operation01.png) no-repeat center bottom;
}
.about-operation__list {
    font-size: 0;
    text-align: center;
}
.about-operation__item {
    display: inline-block;
    box-sizing: border-box;
    width: 50%;
    padding: 0 15px 23px;
    font-size: 15px;
    vertical-align: top;
	background: #fff;
}
.about-operation__item-inner {
    padding: 5px;
    border-radius: 10px;
    border: 2px solid #ea2a29;
}
.about-operation__item__header {
    padding: 13px 0 16px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    color: #ea2a29;
    border-bottom: 1px solid #ea2a29;
}
.about-operation__item__body {
    padding: 30px 17px 50px;
    font-size: 15px;
    font-weight: 200;
    line-height: 1.7;
    text-align: left;
}


/*==========================================================================

   jutaku

==========================================================================*/
.jutaku-kv {
}
.jutaku-row-outer {
    overflow: hidden;
}
.jutaku-row {
    display: table;
    width: 1046px;
    margin: 15px -10px 0;
}
.jutaku-col {
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    padding: 10px;
    vertical-align: top;
}
.jutaku-item {
    padding: 0 0 42px;
    border: 1px solid #d0cece;
    background: #fbfbfb;
}
.jutaku-item__header {
    padding: 20px 15px 19px;
    font-size: 22px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    background: #ef0b1c;
}
.jutaku-item__address {
    padding: 40px 50px 15px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.7;
}
.jutaku-item__number {
    font-size: 30px;
	font-weight: 300;
    text-align: center;
}
.jutaku-item__number .fa-phone {
    position: relative;
    top: -4px;
    font-size: 16px;
    margin-right: .75em
}
.jutaku-item__number .fa-phone.circle-phone {
    border-width: 2px;
}
.jutaku-item__map {
    margin: 30px auto;
    padding: 0 50px;
    height: 230px;
}
.jutaku-item__map-canvas {
    height: 231px;
    border: 1px solid #bcb9b9;
}
.jutaku-item__map-link {
    margin: 8px 0 0;
	font-size: 13px;
	font-weight: 200;
    text-align: right;
    color: #000;
    text-decoration: underline;
}
.jutaku-item__license {
    padding: 12px;
}
.jutaku-item__license__list {
    padding: 20px;
    font-size: 0;
    text-align: center;
    background: #fff;
}
.jutaku-item__license__item {
    display: inline-block;
    font-size: 15px;
}
.jutaku-item__license__item + .jutaku-item__license__item {
    margin-left: 36px;
}
.jutaku-item__feature {
    position: relative;
    margin: 8px 0 0;
    padding: 0 15px;
}
.jutaku-item__feature__title,
.jutaku-item__productline__title {
    position: relative;
    display: table-cell;
    width: 109px;
    height: 109px;
	font-size: 16px;
	font-weight: 300;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    border-radius: 50%;
    background: #e60012;
	z-index: 2;
}
.jutaku-item__feature__body:before,
.jutaku-item__productline__body:before {
    position: absolute;
    content: "";
    display: block;
    top: -56px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #e60012;
    z-index: 1;
}
.jutaku-item__feature__body,
.jutaku-item__productline__body {
    position: relative;
    font-size: 15px;
    line-height: 1.7;
}
.jutaku-item__feature__body { padding: 25px;}
.jutaku-item__productline__body { padding: 25px 0;}

.jutaku-item__productline {
    margin: 0 10px;
    padding: 20px 10px 0;
}
.jutaku-item__productline__tab__list {
    font-size: 0;
	margin-bottom: -1px;
}
.jutaku-item__productline__tab__item {
    display: inline-block;
    box-sizing: border-box;
    font-size: 16px;
	font-weight: 600;
    border: 1px solid #b4b3b3;
}
.jutaku-item__productline__tab__item.item--col1 { width: auto;}
.jutaku-item__productline__tab__item.item--col2 { width: 50%;}
.jutaku-item__productline__tab__item.item--col3 { width: 33.33333%;}
.jutaku-item__productline__tab__item.item--col4 { width: 25%;}

.jutaku-item__productline__tab__target {
    display: block;
    box-sizing: border-box;
    height: 65px;
    padding: 15px;
    color: #a3a2a2;
    line-height: 1;
    background: #fce5e5;
    overflow: hidden;
}
.jutaku-item__productline__tab__target .is--sub-name {
    display: block;
    margin-top: 6px;
    font-size: 13px;
}
.jutaku-item__productline__tab__target.active {
    color: #fff;
    background: #e60012;
}

.jutaku-item__productline__content {
    margin: 0 0 10px;
    border: 1px solid #a79f8e;
    background: #fff;
}
.jutaku-item__productline__item,
.jutaku-item__productline__ability,
.jutaku-item__productline__char {
    margin: 0 10px;
    padding: 25px 12px;
}
.jutaku-item__productline__ability,
.jutaku-item__productline__char {
    border-top: 3px solid #ccc;
}
.jutaku-item__productline__item__title,
.jutaku-item__productline__ability__title,
.jutaku-item__productline__char__title {
    display: inline-block;
    box-sizing: border-box;
    min-width: 110px;
    padding: 6px 5px 4px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    border-radius: 28px;
    background: #e60012;
}
.jutaku-item__productline__item__body {
    padding: 22px 0 15px;
}
.jutaku-item__productline__ability__body,
.jutaku-item__productline__char__body {
    padding: 22px 30px 15px;
}
.jutaku-item__productline__ability__body table {
    width: 100%;
}
.jutaku-item__productline__ability__body table td {
    padding: 2px;
    border-bottom: 1px solid #bdbdbd;
}
.jutaku-item__footer {
    margin-top: 8px;
}
.jutaku-item__footer__text {
    font-size: 18px;
    font-weight: 400;
    text-align: center;
}
.jutaku-item__footer__btn {
    width: 362px;
    height: 65px;
    margin: 13px auto 0;
    font-size: 24px;
    font-weight: 400;
}


/*==========================================================================

   company

==========================================================================*/
.company-header-tab {
	width: 1016px;
	margin: 0 auto 33px;
}
.company-info__image {
    margin-bottom: 39px;
	text-align: center;
}
.company-info__header {
    margin-bottom: 50px;
}
.company-info__title {
    margin-bottom: 12px;
    font-size: 56px;
    font-weight: 600;
    color: #e60012;
}
.company-info__lead {
    font-size: 18px;
    font-weight: 600;
}
.company-info__body {
    font-size: 14px;
    font-weight: 200;
    line-height: 1.7;
}
.company-info__body h2 {
    margin: 50px 0 22px;
    font-size: 17px;
    font-weight: 600;
}
.company-info__body p {
    margin-bottom: 50px;
}
.company-info__body li {
    padding-left: 1em;
    text-indent: -1em;
}
.company-info__body li:before {
    position: relative;
	left: -.2em;
    content: "▶";
    font-size: 12px;
}
.company-info__body li + li {
    margin-top: 28px;
}
.history-archive__kv {
    margin: 25px auto 0;
	text-align: center;
}


/*==========================================================================

   access

==========================================================================*/
.access-archive-anchor {
	padding: 0 30px;
}
.access-archive-anchor__list {
    margin-top: 15px;
    font-size: 0;
}
.access-archive-anchor__item {
    display: inline-block;
    font-size: 16px;
	font-weight: 300;
	letter-spacing: .2em;
}
.access-archive-anchor__item:before {
    display: inline-block;
    font: normal 20px/1 FontAwesome;
    content: "\f105";
    position: relative;
    top: -.1em;
    margin-right: .3em;
    color: #ccc;
    vertical-align: middle;

}
.access-archive-anchor__item + li.access-archive-anchor__item {
    margin-left: 50px;
}
.access-archive-anchor__item a {
    display: inline-block;
    padding: 5px 7px;
    border-bottom: 2px solid #e60012;
}
.access-archive__item {
    padding: 55px 0 30px;
}
.access-archive__item + .access-archive__item {
    margin-top: 15px;
    border-top: 1px dashed #ccc;
}
.access-archive__item-row {
    display: table;
    width: 100%;
}
.access-archive__item-col {
    display: table-cell;
    padding-left: 30px;
    vertical-align: top;
}
.access-archive__item-col.col--map {
    width: 490px;
}
.access-archive__item__map-canvas {
    height: 253px;
    border: 1px solid #bcb9b9;
}
.access-archive__item__title {
    font-size: 21px;
    font-weight: 400;
    line-height: 1.3;
    color: #e60014;
}
.access-archive__item__address {
    margin: 25px 0;
    font-size: 16px;
    line-height: 1.7;
}
.access-archive__item__btn {
    width: 177px;
    height: 41px;
}


/*==========================================================================

   privacy

==========================================================================*/
.privacy-sign {
    text-align: right;
}
.privacy-sign-inner {
    display: inline-block;
    margin-bottom: 25px;
    font-size: 13px;
    line-height: 1.7;
    text-align: left;
}
.privacy-content {
    font-size: 13px;
    line-height: 1.7;
}
.privacy-content strong {
	font-weight: 300;
}
.privacy-content > p {
    margin-bottom: 18px;
}
.privacy-index {
    margin: 20px auto 30px;
    padding: 44px 50px;
    border: 2px solid #ccc;
}
.privacy-index__list > li {
    list-style: decimal;
}
.privacy-index__list > li + li {
    margin-top: 20px;
}
.privacy-more__desc {
    margin: 25px auto 35px;
    font-size: 15px;
    text-align: center;
}
.privacy-more__list > li {
    padding-left: 1em;
    text-indent: -1em;
}
.privacy-more__list > li:before {
    position: relative;
    content: "１．";
}
.privacy-more__list > li > strong {
    font-size: 14px;
}
.privacy-more__list > li + li {
    margin-top: 25px;
}
.privacy-more-sub__list > li {
    padding-left: 1em;
    text-indent: -1em;
}
.privacy-more-sub__list > li:before {
    position: relative;
    content: "１）";
}
.privacy-more__notes {
    margin-top: 50px;
    text-align: right;
}


/*==========================================================================

   contact

==========================================================================*/
.contact-info__item {
    padding: 20px 10px 30px;
    text-align: center;
}
.contact-info__item.item--mail {
    background: #ebfaf5;
}
.contact-info__item.item--tel {
    background: #f4eefa;
}
.contact-info__item + .contact-info__item {
    margin-top: 30px;
}
.contact-info__item__header {
    margin-bottom: 35px;
    padding: 10px 0 27px;
    font-size: 24px;
    font-weight: 600;
    border-bottom: 1px solid #000;
}
.contact-info__item__desc {
	font-size: 18px;
    font-weight: 300;
}
.contact-info__item__image__mail:before {
    font-size: 110px;
}
.contact-info__item__image__tel {
    font-size: 96px;
    transform: rotate(-30deg) translate3d(0, 0, 0);
}
.contact-info__item__image {
    margin: 38px 0 32px;
}
.tel-card__number {
    font-size: 52px;
    font-weight: 500;
}
.tel-card__text {
    margin-top: 7px;
    font-size: 15px;
    line-height: 1.7;
}
.contact-info__item__footer__btn {
    margin: 0 auto;
    width: 364px;
    height: 66px;
    font-size: 22px;
    font-weight: 300;
}
.contact-info-list {
    font-size: 0;
    text-align: center;
}
.contact-info-list__item {
	box-sizing: border-box;
    width: 50%;
	margin: 0 auto;
	padding: 10px;
    font-size: 20px;
}
.contact-info-list__item .btn {
    display: block;
    padding: 20px;
}


/*==========================================================================

   sitemap

==========================================================================*/

.sitemap {
    font-size: 0;
}
.sitemap-archive {
    display: inline-block;
    box-sizing: border-box;
    width: 25%;
    padding: 0 0 50px;
    vertical-align: top;
    font-size: 15px;
}
.sitemap-archive__label {
    padding: 10px 10px 10px 17px;
    font-size: 15px;
    font-weight: 400;
    border-left: 1px solid #d2d2d2;
}
.sitemap-archive__label h2:before {
    display: inline-block;
    font: normal 20px/1 FontAwesome;
    content: "\f105";
    position: relative;
    top: -.1em;
    vertical-align: middle;
    margin-right: .5em;
    color: #e60014;
}
.sitemap-archive__construction {
    font-size: 14px;
    line-height: 1.5;
    padding: 10px 10px 10px 28px;
}
.sitemap-archive__list +.sitemap-archive__list {
    margin-top: 1em;
}
.sitemap-archive__list.list--indent {
    padding-left: 1em;
}
.sitemap__item.item-no-pc,
.sitemap__item .item-no-pc {
	display: none;
}
.sitemap__item:before {
    display: inline-block;
    content: "└";
    margin-right: .5em;
}
.sitemap__item + .sitemap__item {
    margin-top: .75em;
}




/*==========================================================================

   lifeguard

==========================================================================*/
/*================================================== header */
.lg-header-row {
    padding: 28px 0;
}
.lg-gnav {
    text-align: center;
    background: #f4f3f3;
}
.lg-gnav__list {
    font-size: 0;
}
.lg-gnav__item {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 25%;
    padding: 12px 0;
    font-size: 18px;
}
.lg-gnav__item + .lg-gnav__item:before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 0;
    width: 2px;
    height: 15px;
    margin-top: -7px;
    background: #000;
}
.lg-gnav__item .current {
    color: #e60012;
}
.lg-gnav__item .current:before {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #e60012;
}

/*================================================== layout */
.lg-section__header {
    position: relative;
	top: -3px;
    height: 66px;
    text-align: center;
    background: url(_img/lifeguard/ttl_lifeguard01.png) no-repeat center top;
}
.lg-section__title01 {
    position: absolute;
    top: -38px;
    width: 100%;
    text-align: center;
}
.lg-section__body {
    padding: 70px 0;
}
.lg-section__header02 {
    text-align: center;
}


/*================================================== kv */
.lg-kv {
    position: relative;
    height: 1170px;
    background: url(_img/lifeguard/bg_lifeguard01.png) center top;
}
.lifeguard-kv-inner01 {
    position: relative;
    height: 100%;
    background: url(_img/lifeguard/bg_lifeguard_kv.png) no-repeat 60.9% top;
}
.lifeguard-kv-inner01 .container {
    position: relative;
    height: 1170px;
}
.lifeguard-kv__icon01 {
    position: absolute;
    width: 125px;
    height: 250px;
    top: 100px;
    left: -1%;
	opacity: 0;
	z-index: 1;
	transition: 1s ease-in-out;
	transition-delay: .2s;
}
.flag-show.show--on .lifeguard-kv__icon01 {
    top: 69px;
	left: -2%;
	opacity: 1;
}
.lifeguard-kv-bottle {
    position: absolute;
    top: 90px;
    right: 114px;
    width: 746px;
    height: 696px;
    opacity: 0;
	transition: .7s;
}
.flag-show.show--on .lifeguard-kv-bottle {
    top: 70px;
    opacity: 1;
}
.lifeguard-kv-splash {
    position: absolute;
    top: 70px;
    width: 100%;
	height: 830px;
    background: url(_img/lifeguard/kv_item_splash01.png) no-repeat center top;
    opacity: 0;
    transition: .3s;
}
.flag-show.show--on .lifeguard-kv-splash {
    top: 0;
    opacity: 1;
}
.lg-kv .bubbles01 {
    position: absolute;
    bottom: 499px;
    left: 25%;
    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}
.lg-kv .bubbles02 {
    position: absolute;
    bottom: 383px;
    left: 50%;

    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}
.lg-kv .bubbles03 {
    position: absolute;
    bottom: 499px;
    left: 65%;
    display: inline-block;
    width: 160px;
    margin-left: -90px;
    padding-left: 20px;
}


.lifeguard-kv-terms__item {
    position: absolute;
    width: 10px;
    height: 10px;
    bottom: 0;
    left: 50%;
    margin-left: -75px;
    transition: .6s ease-in-out;
}

.lifeguard-kv-terms__item img {
	width: 100%;
	height: auto;
}
.lifeguard-kv-terms__item.item--01 { top: 350px; left: 496px;}
.lifeguard-kv-terms__item.item--02 { top: 350px; left: 496px;}
.lifeguard-kv-terms__item.item--03 { top: 350px; left: 496px;}
.lifeguard-kv-terms__item.item--04 { top: 350px; left: 496px;}

.flag-show.show--on .lifeguard-kv-terms__item.item--01 { width: 255px; height: 252px; transition-delay: .2s;}
.flag-show.show--on .lifeguard-kv-terms__item.item--02 { width: 253px; height: 254px; transition-delay: .8s;}
.flag-show.show--on .lifeguard-kv-terms__item.item--03 { width: 257px; height: 257px; transition-delay: 1.1s;}
.flag-show.show--on .lifeguard-kv-terms__item.item--04 { width: 254px; height: 255px; transition-delay: .5s;}

.flag-show.show--on .lifeguard-kv-terms__item.item--01 { top: 700px; left: 66px;}
.flag-show.show--on .lifeguard-kv-terms__item.item--02 { top: 700px; left: 303px;}
.flag-show.show--on .lifeguard-kv-terms__item.item--03 { top: 700px; left: 544px;}
.flag-show.show--on .lifeguard-kv-terms__item.item--04 { top: 700px; left: 782px;}

.lifeguard-kv-terms__item:before {
	position: absolute;
	content: "";
	display: block;
	border-radius: 50%;
	-webkit-box-shadow: 0 0 5px 15px rgba(255, 255, 255, 0.6);
	box-shadow: 0 0 5px 10px rgba(255, 255, 255, 0.6);
    animation: blinking 1s ease-in-out infinite alternate;
	transition-delay: 2s;
	visibility: hidden;
	opacity: 0;
}
.flag-show.show--on .lifeguard-kv-terms__item:before {
	visibility: visible;
	opacity: 1;
}
.lifeguard-kv-terms__item.item--01:before {
    top: 27px;
    left: 28px;
    width: 201px;
    height: 199px;
}
.lifeguard-kv-terms__item.item--02:before {
    top: 20px;
    left: 25px;
    width: 203px;
    height: 202px;
}
.lifeguard-kv-terms__item.item--03:before {
    top: 28px;
    left: 28px;
    width: 200px;
    height: 200px;
}
.lifeguard-kv-terms__item.item--04:before {
    top: 18px;
    left: 31px;
    width: 200px;
    height: 200px;
}


.lifeguard-kv__copy {
    position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	visibility: hidden;
	transition: .5s;
	transition-delay: 2s;
}
.flag-show.show--on .lifeguard-kv__copy {
	left: 0;
	bottom: 41px;
	opacity: 1;
	visibility: visible;
}

/*================================================== story */
#lg-story {
    background: url(_img/lifeguard/bg_lifeguard01.png) center top;
}

.lg-story__list {
    text-align: center;
    font-size: 0;
}
.lg-story__item {
    display: inline-block;
    box-sizing: border-box;
    padding: 20px 10px;
    width: 328px;
    color: #fff;
    font-size: 14px;
    font-weight: 200;
    line-height: 1.5;
    vertical-align: top;
    background-color: #000;
	background-repeat: no-repeat;
	background-position: center center;
}
.lg-story__item.item--hint { background-image: url(_img/lifeguard/thumb_story01.png);}
.lg-story__item.item--reason { background-image: url(_img/lifeguard/thumb_story02.png);}
.lg-story__item.item--sale { background-image: url(_img/lifeguard/thumb_story03.png);}

.lg-story__item + .lg-story__item {
    margin-left: 12px;
}
.lg-story__item__title {
    padding: 15px 0 10px;
    border-bottom: 1px solid #f3f3f3;
}
.lg-story__item__text {
    padding: 240px 10px 0;
    text-align: left;
}


/*================================================== history */
#lg-history {
    background: url(_img/lifeguard/bg_lifeguard01.png) center top;
	/*overflow: hidden;*/
}
.lg-history__list {
    width: 1032px;
    font-size: 0;
    overflow: hidden;
}
.lg-history__item {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 312px;
    height: 382px;
    margin: 16px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, .2);
    background: #fff;
    overflow: hidden;
}
.lg-history__item__target {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 312px;
    height: 382px;
}
.lg-history__item__year {
    position: absolute;
    display: block;
    top: 15px;
    left: 15px;
    width: 91px;
    height: 91px;
    font-size: 30px;
    font-weight: 300;
    line-height: 91px;
    color: #fff;
    border-radius: 50%;
    background: #e60013;
}
.lg-history__item__thumb {
    position: absolute;
    display: inline-block;
    left: 50%;
    bottom: 15px;
    width: 110px;
    margin-left: -55px;
    text-align: center;
    /* -webkit-transform: translate(-50%, 0) translate3d(0, 0, 0); */
    /* transform: translate(-50%, 0) translate3d(0, 0, 0); */
}
.lg-history__item__thumb img {
    max-width: 100%;
    height: auto;
}
.lg-history__item__thumb.thumb--modal {
    width: 320px;
    margin-left: -160px;
}
.lg-history__item__target-icon {
    position: absolute;
    display: block;
    right: 28px;
    bottom: 20px;
    width: 95px;
    height: 160px;
    background: url(_img/lifeguard/icon_usadar01.png) no-repeat;
}
.lg-history__item:nth-child(4n) .lg-history__item__target-icon {
    background: url(_img/lifeguard/icon_usadar02.png) no-repeat;
}
.lg-history__item:hover img {
    transition: .3s;
}
.lg-history__item:hover img {
    opacity: .6;
}

.lg-history-modal__item {
	display: none;
    top: 50% !important;
    width: 670px;
    height: 506px;
    text-align: center;
    border-radius: 10px;
    background: #fff;
    -webkit-transform: translate(0, -50%) translate3d(0, 0, 0);
	transform: translate(0, -50%) translate3d(0, 0, 0);
}
.lg-history-modal__item__year {
    position: absolute;
    display: block;
    top: 29px;
    left: 29px;
    width: 137px;
    height: 137px;
    font-size: 40px;
    font-weight: 300;
    line-height: 137px;
    color: #fff;
    border-radius: 50%;
    background: #e60013;
}
.lg-history__item__close {
    position: absolute;
    display: block;
    right: 40px;
    bottom: 24px;
    width: 96px;
    height: 190px;
}
.lg-history__item__close:hover {
    cursor: pointer;
}
#lg-history .swiper-button-next, #lg-history .swiper-button-prev {
    -webkit-transform: translate3d(1px ,1px, 1px) !important;
}
#lg-history .swiper-button-next:before, #lg-history .swiper-button-prev:before {
    transition: .3s;
}
#lg-history .swiper-button-next:hover:before, #lg-history .swiper-button-prev:hover:before {
    color: #999;
}

/*================================================== lg-event */
#lg-content {
    background: url(_img/lifeguard/bg_lifeguard01.png) center top;
}
.lg-content-inner {
	background: rgba(0, 0, 0, .6);
}
.lg-content__item {
    background: #fff;
}
.lg-content__item {
    position: relative;
    top: 50px;
    background: #fff;
    opacity: 0;
	transition: .3s;
}
.lg-content__item.flag-show.show--on {
    position: relative;
    top: 0;
    background: #fff;
    opacity: 1;
}
.lg-content__item + .lg-content__item {
    margin-top: 35px;
}
.lg-content__item-row {
    display: table;
    width: 100%;
}
.lg-content__item__header {
    display: table;
    width: 100%;
}
.lg-content__item__date {
    display: table-cell;
    box-sizing: border-box;
    width: 126px;
    height: 126px;
    padding: 25px;
    color: #fff;
    text-align: left;
    vertical-align: middle;
    background: #000;
}
.lg-content__item__date__y {
    display: block;
    margin-bottom: 7px;
    font-size: 20px;
    font-weight: 200;
	letter-spacing: .05em;
}
.lg-content__item__date__md {
    display: block;
    font-size: 27px;
    font-weight: 200;
	letter-spacing: .05em;
}
.lg-content__item__title {
    display: table-cell;
    padding: 25px 36px;
    font-size: 20px;
    line-height: 1.5;
    vertical-align: middle;
}
.lg-content__item__visual {
    padding: 0 25px 25px 126px;
}
.lg-content__item__visual img {
    max-width: 100%;
    height: auto;
}
.lg-content__item__body {
    padding: 25px 25px 90px 153px;
    font-weight: 200;
    line-height: 1.7;
}


/*================================================== instagram */
#lg-instagram {
    margin-bottom: -55px;
    padding: 15px 0 0;
}
.lg-instagram {
	width: 996px;
	margin: 0 auto;
}
.lg-instagram__list {
    width: 1024px;
    margin: 0 -14px;
    font-size: 0;
}
.lg-instagram__item {
	position: relative;
    display: inline-block;
    width: 228px;
    height: 228px;
    margin: 14px;
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}
.lg-instagram__item img {
    width: auto;
    height: 228px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) translate3d(0, 0, 0);
	-ms-transform: translate(-50%, -50%) translate3d(0, 0, 0);
	transform: translate(-50%, -50%) translate3d(0, 0, 0);
    transition: .3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.lg-instagram__item img:hover {
    opacity: .6;
}


/*==========================================================================

   trp2018

==========================================================================*/
/* animation */
.flag-show.show--on .trp-bound01 {
	-webkit-animation: bound .5s linear forwards;
	animation: bound .5s linear forwards;
}
.trp-fadein-upper {
	position: relative;
	top: 100px;
	opacity: 0;
	transition: .1s ease-in-out;
}
.flag-show.show--on .trp-fadein-upper {
	top: 0;
	opacity: 1;
}
.flag-show.show--on .trp-zoomIn {
	-webkit-animation: zoomIn .2s linear backwards;
	animation: zoomIn .2s linear backwards;
	animation-delay: .3s;
}


/* setting */
#trp2018 {
    margin-bottom: -65px;
    padding: 48px 0 70px;
    text-align: center;
    background: url(_img/lifeguard/trp2018/bg_trp2018.png) repeat-x center top;
}
#trp2018 .container {
    width: 960px;
}
.trp-kv {
    position: relative;
    box-sizing: border-box;
    height: 648px;
}
.trp-kv__logo {
	position: absolute;
	width: 100%;
	top: 200px;
	opacity: 0;
	transition: 1.5s;
}
.flag-show.show--on .trp-kv__logo {
	top: 0px;
	opacity: 1;
}
.trp-kv__bottle-case {
    position: relative;
    bottom: -215px;
    height: 355px;
    font-size: 0;
    overflow: hidden;
	transition: 1.5s;
}
.flag-show.show--on .trp-kv__bottle-case {
    bottom: -192px;
}
.trp-kv__bottle {
    position: relative;
    display: inline-block;
    font-size: 0;
    opacity: 0;
    transition: 1.2s;
}
.trp-kv__bottle:nth-child(1) {bottom: -360px; transition-delay: 0;}
.trp-kv__bottle:nth-child(2) {bottom: -360px; transition-delay: .2s;}
.trp-kv__bottle:nth-child(3) {bottom: -360px; transition-delay: .4s;}
.trp-kv__bottle:nth-child(4) {bottom: -360px; transition-delay: .6s;}
.trp-kv__bottle:nth-child(5) {bottom: -360px; transition-delay: .8s;}
.trp-kv__bottle:nth-child(6) {bottom: -360px; transition-delay: 1s;}
.trp-kv__bottle:nth-child(7) {bottom: -360px; transition-delay: 1.2s;}
.flag-show.show--on .trp-kv__bottle:nth-child(1) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(2) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(3) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(4) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(5) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(6) {bottom: 0; opacity: 1;}
.flag-show.show--on .trp-kv__bottle:nth-child(7) {bottom: 0; opacity: 1;}

.flag-show.show--on .trp-kv__bottle {
    display: inline-block;
    margin: 0 12px;
}
.trp-kv__label {
    position: relative;
    bottom: -127px;
	opacity: 0;
	transition: 2s;
	transition-delay: 1s;

	-webkit-animation-name: jello;
	animation-name: jello;
	-webkit-transform-origin: center;
	transform-origin: center;

	animation-delay: 2.6s;
	animation-duration: 1s;
}
.flag-show.show--on .trp-kv__label {
    bottom: -160px;
	opacity: 1;
	/*animation: bound 3s normal ease-out 0 forwards;*/
}
.trp-kv__shadow {
    position: absolute;
    bottom: 99px;
    width: 100%;
	opacity: 0;
	transition: 1.5s;
	transition-delay: 2s;
}
.flag-show.show--on .trp-kv__shadow {
    bottom: 100px;
	opacity: 1;
}
.trp-kv__stage {
    position: absolute;
    top: 139px;
    width: 100%;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	transition: 1.5s;
}
.flag-show.show--on .trp-kv__stage {
    top: 239px;
    height: 420px;
    opacity: 1;
}


.trp-lead {
    margin: 30px auto 70px;
}
.trp-lead__header {
    margin-bottom: -9px;
    padding: 0 25px;
    text-align: left;
}
.trp-lead__body {
    padding: 25px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 5px;
    background: #fff;
}

.trp-scene2017 {
    position: relative;
    margin-bottom: 30px;
}
.trp-scene2017__header {
    margin-bottom: 16px;
    font-size: 22px;
	font-weight: 300;
}
.trp-scene2017__body {
    position: relative;
}
.trp-scene2017__body__text {
    padding: 15px;
    font-size: 17px;
    line-height: 2;
    text-align: left;
}
.trp-section,
.trp-booth {
    position: relative;
    margin: 153px 0 35px;
}
.trp-section__header,
.trp-booth__header {
    position: relative;
	margin-top: 140px;
    margin-bottom: 20px;
}
.trp-section__header:after {
    position: absolute;
    content: "";
    display: block;
    right: 0;
    background-repeat: no-repeat;
	background-position: center top;
	opacity: 0;
}
.trp-booth__header:after {
    position: absolute;
    content: "";
    display: block;
    top: -121px;
    right: 0;
    width: 193px;
    height: 173px;
    background: url(_img/lifeguard/trp2018/ttl_booth02.png) no-repeat center top;
	opacity: 0;
}
.flag-show.show--on .trp-section__header:after,
.flag-show.show--on .trp-booth__header:after {
	opacity: 1;
	-webkit-animation: zoomIn .2s linear backwards;
	animation: zoomIn .2s linear backwards;
	animation-delay: .1s;
}
.trp-booth__lead {
    margin-bottom: 35px;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.9;
    text-align: center;
}
.trp-booth__archive {
    position: relative;
}
.trp-booth__item {
    position: relative;
}
.trp-booth__item + .trp-booth__item {
    margin-top: 43px;
}
.trp-booth__item__text {
    padding: 25px 15px 0;
    font-size: 17px;
    font-weight: 300;
    line-height: 2;
    text-align: left;
}
.trp-sns-campaign {
    position: relative;
    margin-bottom: 100px;
}

.trp-rainbow-lg {
    position: relative;
}
.trp-rainbow-lg__header {
    margin-bottom: 30px;
}
.trp-rainbow-lg__lead {
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 1.9;
}
.trp-rainbow-lg__bnr {
    margin-bottom: 38px;
    padding: 15px;
    text-align: center;
    background: #fff;
}
.trp-access {
    position: relative;
    padding: 105px 85px 10px;
    background: #fff;
}
.trp-access__header {
    position: absolute;
    top: -10px;
    left: 0;
    width: 100%;
    text-align: center;
	opacity: 0;
	transition: .5s;
}
.flag-show.show--on .trp-access__header {
	opacity: 1;
	-webkit-animation: zoomIn .2s linear backwards;
	animation: zoomIn .2s linear backwards;
	animation-delay: .1s;
}
.trp-access-col.trp-access__text {
    font-size: 17px;
    line-height: 1.9;
	text-align: left;
}
.trp-access-row {
    display: table;
    width: 100%;
}
.trp-access-col {
    display: table-cell;
    vertical-align: top;
}
.trp-access-col.trp-access__aside {
    width: 95px;
}

#trp-map-canvas {
    width: 790px;
    height: 640px;
    background: #efefef;
}
.trp-access__map {
    margin: 25px 0 10px;
}
.trp-map__footer {
    margin: 9px 0 0;
    text-align: right;
}
.trp-map-btn.btn-outer {
    width: 177px;
    height: 41px;
	margin-left: auto;
    background: #ddd;
}

.trp-section__header.header--report:after {
    top: -121px;
    right: 0;
    width: 193px;
    height: 173px;
    background: url(_img/lifeguard/trp2018-report/ttl_report02.png) no-repeat center top;
    opacity: 0;
}
.trp-report__lead {
    margin-bottom: -90px;
    padding: 20px 40px 0;
    font-size: 17px;
    text-align: left;
    font-weight: 300;
}
.trp-foot-pager {
    display: table;
    box-sizing: border-box;
    min-width: 238px;
    height: 87px;
	margin: 0 0 0 auto;
    padding: 0 5px;
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    background: #000;
	border: 1px solid #000;
	transition: .3s;
}
.trp-foot-pager:hover {
	background: #fff;
}
.trp-foot-pager a {
    display: table-cell;
    color: #fff;
    vertical-align: middle;
	transition: .3s;
}
.trp-foot-pager:hover a {
    color: #000;
}
.trp-foot-pager__top {
    padding: 15px;
    border-bottom: 1px solid #fff;
	transition: border-color .3s;
}
.trp-foot-pager:hover .trp-foot-pager__top {
	border-color: #000;
}
.trp-foot-pager__bottom {
    position: relative;
    padding: 15px;
}
.trp-foot-pager__bottom.bottom--right {
    padding-right: 35px;
}
.trp-foot-pager__bottom.bottom--right:after {
    position: absolute;
    font: normal 30px/1 FontAwesome;
    content: "\f105";
    display: block;
    right: 10px;
    top: 50%;
    margin-top: -17px;
}
.trp-foot-pager__bottom.bottom--left {
    padding-left: 35px;
}
.trp-foot-pager__bottom.bottom--left:before {
    position: absolute;
    font: normal 30px/1 FontAwesome;
    content: "\f104";
    display: block;
    left: 10px;
    top: 50%;
    margin-top: -17px;
}




/*==========================================================================

   content

==========================================================================*/
/* archive */
.archive-content {
    padding-top: 35px;
}
.archive-content__body {
    margin-top: 50px;
}
.archive-content__item {
    display: table;
    width: 100%;
}
.archive-content__item + .archive-content__item {
    margin-top: 39px;
    padding-top: 39px;
    border-top: 3px solid #e60013;
}
.archive-content__item__aside {
    display: table-cell;
    width: 480px;
    vertical-align: top;
}
.archive-content__item__aside img {
    width: 100%;
    height: auto;
}
.archive-content__item__main {
    display: table-cell;
    vertical-align: top;
    padding-left: 36px;
}
.archive-content__item__title {
    padding-bottom: 25px;
    margin-bottom: 8px;
    border-bottom: 1px dashed #b2b2b2;
}
.archive-content__item__title__primary {
    font-size: 30px;
	line-height: 1.3;
}
.archive-content__item__title__secondary {
    margin-top: 10px;
    font-size: 19px;
}
.archive-content__item__postdate {
    font-size: 15px;
    text-align: right;
    color: #6f6f6f;
}
.archive-content__item__content {
    margin-top: 25px;
    font-size: 15px;
    line-height: 1.5;
}
.archive-content__item__more {
    margin-top: 7px;
    text-align: right;
}
.archive-content__item__more a {
    text-decoration: underline;
}
.archive-content__item__more a:hover {
    text-decoration: none;
}
.archive-content__item__more:after {
    position: relative;
    top: 2px;
    display: inline-block;
    font: normal 25px/1 FontAwesome;
    content: "\f105";
    margin-left: 5px;
}




/* single */
.content-article {
    padding: 50px 0 0;
}
.content-article > .container {
    width: 960px;
    padding-bottom: 35px;
}
.content-article img {
    max-width: 100%;
	height: auto;
}
.content-article.article-bg__meisai {
    background: url(_img/content/bg_content_temp_meisai.png) center top;
}
.content-article.article-bg__meisai > .container {
    padding-right: 15px;
    padding-left: 15px;
    background: rgba(255, 255, 255, .85);
}
.content-article.article-bg__grad01 {
    background: url(_img/content/bg_content_temp_grad01.png) center top;
}
.content-article img.alignright{
	display: block;
	margin: 0 0 0 auto;
}
.content-article img {
    max-width: 100%;
    height: auto;
}
.content-article img.alignleft{
	display: block;
	margin: 0 auto 0 0;
}

.content-article img.aligncenter{
	display: block;
	margin: 0 auto;
}
.content-article__title {
    padding: 35px 0 0;
    font-size: 42px;
	font-weight: bold;
    line-height: 1.2;
    text-align: center;
}
.content-article__date {
    margin-top: 14px;
    font-size: 22px;
    line-height: 1.2;
    text-align: center;
}
.content-article__visual {
    margin: 30px 0;
}
.content-headline {
    margin: 30px auto 70px;
}
.content-headline__title {
    margin-bottom: -9px;
    padding: 0 25px;
	font-size: 52px;
    text-align: left;
}
.content-headline__text {
    padding: 25px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 5px;
    background: #fff;
}

.content-free-content {
    line-height: 1.7;
}
.content-free-content p + p {
    margin-top: 25px;
}
.content-free-content h1 {
    margin: 25px 0 35px;
    padding: 100px 70px 15px 0;
    font-size: 28px;
    line-height: 1.3;
    border-bottom: 3px solid #e50013;
    background: url(_img/content/icon_content_h1_usadar.png) no-repeat right bottom;
}
.content-free-content img.alignleft {
    float: left;
    padding-right: 25px;
}

.content-free-content img.alignright {
    float: right;
    padding-left: 20px;
}
.notice-info {
    position: relative;
    margin-top: 80px;
    padding: 30px 83px 10px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
}
.notice-info-header__title {
    position: relative;
    left: 50%;
    display: inline-block;
    margin: 0 auto 62px;
    padding: 15px 30px;
    font-size: 26px;
    text-align: center;
    color: #fff;
    background: #000;
    transform: translateY(0) translateX(-50%);
}
.notice-info-header__title:before {
    position: absolute;
    left: -37px;
    bottom: -20px;
    content: "";
    display: block;
    width: 60px;
    height: 50px;
    background: url(_common/img/icon_ribbon_l.png) no-repeat;
}
.notice-info-header__title:after {
    position: absolute;
    right: -37px;
    bottom: -20px;
    content: "";
    display: block;
    width: 60px;
    height: 50px;
    background: url(_common/img/icon_ribbon_r.png) no-repeat;
}
.notice-info-row {
    display: table;
    width: 100%;
}
.notice-info-col {
    display: table-cell;
    vertical-align: top;
}
.notice-info-col.notice-info__aside {
    width: 95px;
}
.notice-info__text {
    font-size: 17px;
    line-height: 1.5;
    text-align: left;
}
.notice-info__text__item a {
    text-decoration: underline;
}
.notice-info__text__item + .notice-info__text__item {
    margin-top: 10px;
}
#notice-map-canvas {
    width: 790px;
    height: 640px;
    background: #efefef;
}
.notice-info__map {
    margin: 30px auto;
}
.notice-info__map-btn.btn-outer {
    width: 177px;
    height: 41px;
    margin-top: 12px;
    margin-left: auto;
    background: #ddd;
}
.content-footer-pager {
	margin: 35px auto;
	text-align: center;
}
.content-footer-pager__item {
	display: inline-block;
}
.content-footer-pager__item a {
    position: relative;
	display: block;
    padding: 15px;
	color: #fff;
	border: 1px solid #000;
	background: #000;
	transition: .3s;
}
.content-footer-pager__item a:hover {
    color: #000;
    background: #fff;
}
.content-footer-pager__item.item--prev a {
    padding-left: 45px;
    text-align: left;
}
.content-footer-pager__item.item--prev a:before {
    position: absolute;
    font: normal 30px/1 FontAwesome;
    content: "\f104";
    display: block;
    left: 15px;
    top: 50%;
    margin-top: -17px;
}
.content-footer-pager__item.item--next a {
    padding-right: 45px;
    text-align: right;
}
.content-footer-pager__item.item--next a:after {
    position: absolute;
    font: normal 30px/1 FontAwesome;
    content: "\f105";
    display: block;
    right: 15px;
    top: 50%;
    margin-top: -17px;
}
.content-footer-pager__back {
    margin-top: 22px;
    font-size: 18px;
}
.content-footer-pager__back a {
    position: relative;
}
.content-footer-pager__back a:before {
    position: relative;
    top: -3px;
    font: normal 30px/1 FontAwesome;
    content: "\f105";
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
}