@charset "utf-8";
/* CSS Document */
/*====================
reset
====================*/
figure{
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
ol{
margin: 0;
padding: 0;
}
div:after, dl:after, ul:after{
content: none;
}
*:focus{
outline: none;
}

/*====================
共通：base
====================*/
body{
position: relative;
}
.l-container{
color: #23262c;
-webkit-text-size-adjust: 100%;
}
.l-container img{
max-width: 100%;
height: auto;
vertical-align: bottom;
transition: ease .2s;
}
.l-container a:hover img{
opacity: 0.8;
}
p.note, ul.note > li{
text-align: left;
text-indent: -1em;
padding-left: 1em;
}
.moveit{
visibility: hidden;
}
.isPC {
display: none;
}
#content_wrap{
position: relative;
overflow: hidden;
}
#content_wrap > section{
text-align: center;
}
#content_wrap a{
color: #e50012;
text-decoration: underline;
}
#content_wrap p,
#content_wrap a{
font-family: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
font-weight: 600;
}
.txt_left{
text-align: left !important;
}
.txt_right{
text-align: right !important;
}
.txt_center{
text-align: center !important;
}

/* ▽ SP ▽================================================================================================================================== */
/*====================
SP：base
====================*/
.txt_large,
.txt_large p{
font-size: 3.9vw;
}
.txt_small,
.txt_small p{
font-size: 3.1vw;
}
h3{
width: 60.6vw;
}

/*====================
ローディング画面
====================*/
#loading{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
background: #fffefc;
background: linear-gradient(90deg,#0a3190 0%,#0a3190 30%,#ffffff 30%,#ffffff 70%,#dc0010 70%,#dc0010 100%);
}
#loading img{
width: 49.544vw;
position: absolute;
top: calc(50% - 20vw);
left: calc(50% - 24.772vw);
-webkit-animation:blink 2s ease-in-out infinite alternate;
-moz-animation:blink 2s ease-in-out infinite alternate;
animation:blink 2s ease-in-out infinite alternate;
}
/* 点滅 */
@-webkit-keyframes blink{
0% {opacity:0;}
90% {opacity:1;}
100% {opacity:1;}
}
@-moz-keyframes blink{
0% {opacity:0;}
90% {opacity:1;}
100% {opacity:1;}
}
@keyframes blink{
0% {opacity:0;}
90% {opacity:1;}
100% {opacity:1;}
}

/*====================
SNSボタン・ページトップボタン
====================*/
.sns {
display: flex;
justify-content: center;
}
.sns li {
width: 11.6vw;
}
.sns li:not(:first-child) {
margin-left: 5.2vw;
}
.btn_pagetop{
position: absolute;
bottom: 0;
right: -0.4vw;
width: 23.8vw;
z-index: 60;
}
#brand_footer{
padding: 11.6vw 0;
background: #23262c;
position: relative;
}
#brand_footer .inner{
padding: 0 13vw;
}

/* ～767px For SP
====================================================*/
@media screen and (max-width: 767px){
.isPC{
display: none;
}
}

/* ▽ PC ▽================================================================================================================================== */
/* 768px～ For PC
====================================================*/
@media screen and (min-width: 768px), print{
/*====================
PC：base
====================*/
.isSP {
display: none;
}
.isPC {
display: block;
}
body{
min-width: 950px;
}
.inner{
width: 912px;
margin: 0 auto;
padding: 0 0 !important;
}
.txt_large,
.txt_large p{
font-size: 23px !important;
}
.txt_small,
.txt_small p{
font-size: 20px !important;		
}
 h3{
width: 384px;
}

/*====================
ローディング画面
====================*/
#loading img{
width: 380px;
top: calc(50% - 160px);
left: calc(50% - 190px);
}

/*====================
SNSボタン・ページトップボタン
====================*/
.sns{
padding-top: 70px;
}
.sns li {
width: 60px;
}
.sns li:not(:first-child) {
margin-left: 40px;
}
.btn_pagetop{
bottom: 5px;
right: -11px;
width: 248px;
}
#brand_footer{
padding: 80px 0;
}
#brand_footer .inner{
padding: 0;
}
}