@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    common.css
*
*
------------------------------------------------------------------------------------------ */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}/*HTML5display-roleresetforolderbrowsers*/article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}

body{
    font-family: "中ゴシックBBB", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ",  sans-serif;
    color: #fff;
    font-size : 18px;
    font-weight: 700;
    letter-spacing: .04em;
    font-feature-settings: 'palt';
    background-color: #000;
    background-position: center;
    -webkit-text-size-adjust: 100%;
    word-break: normal;
    position: relative;
    z-index: 1;
}

body, html{
    width: 100%;
    height: 100%;
}

a, li, p, div, button{ outline: none !important; }
a{ color: #fff; text-decoration: none;}
a, p, div, li, dd, dt{ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
.indent_half_top{ position: relative; margin-left: -.5em !important;}
.indent_half{ position: relative; margin-left: -.5em;}

img, svg{ height: auto; backface-visibility: hidden; -webkit-backface-visibility: hidden;}
.disabled{ cursor: default !important;}


.c_anim {
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

.is_pc .c_up {
  opacity: 0;
  transform: translateY(25px);
}

.is_sp .c_up {
  opacity: 0;
  transform: translateY(15px);
}

.on.c_up {
  opacity: 1;
  transform: translateY(0px);
  transition: opacity, transform;
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 0s;
}


#content_body{
    opacity: 0;
}

.onload #content_body{
    opacity: 1;
    transition: opacity 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) .25s;
}


#talk_nav .disabled{ visibility: hidden;}

/* -------------------- font-face  --------------------*/
/* noto sans */

.ff-r{
    font-family: 'リュウミン M-KL' !important;
}


/* -------------------- common styles  --------------------*/


@media screen and (min-width : 751px){ 
/*------------------------------------------------------------------------------------------
*
*
    min-width : 751px
*
*
------------------------------------------------------------------------------------------ */

/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
    overflow: auto !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
}

br.sp{ display: none;}
img.sp{ display: none;}
.switch_sp{ display: none;}



} /* ----- min-width : 751px ----- */




/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 750px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 750px) {
/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
    z-index: 10;
    overflow-x: hidden;
    font-size: 15px;
}

body, html{
    width: 100%;
    min-width: 100%;
}

#wrap{ overflow: hidden;}

img.pc{ display: none;}
.switch_pc{ display: none;}

br{ display: none;}
br.sp{ display: inherit;}


} /* ----- max-width: 750px ----- */




/* ------------------------------------------------------------
*
    .img_slider
     -> Setting jQuery Plugin slick.min.js
*
------------------------------------------------------------ */
.slick-dots,.slick-next,.slick-prev{position:absolute;display:block;padding:0}.slick-dots li button:before,.slick-next:before,.slick-prev:before{font-family:slick;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.slick-next,.slick-prev{font-size:0;line-height:0;top:50%;width:20px;height:20px;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-size:20px;line-height:1;opacity:.75;color:#fff}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:''}.slick-next:before,[dir=rtl] .slick-prev:before{content:'';}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}[dir=rtl] .slick-next:before{content:''}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;width:100%;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'';text-align:center;opacity:.25;color:#000}.slick-list,.slick-slider,.slick-track{position:relative;display:block}.slick-dots li.slick-active button:before{opacity:.75;color:#000}.slick-slider{-moz-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

@media screen and (min-width : 751px){

.slick-dots{
    width: 100% !important;
    display: table !important;
    text-align: center;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: inherit !important;
    bottom: 15px;
    z-index: 3;
}

.slick-dots li{
    margin: 0 2px;
}

.slick-dots li,
.slick-dots li button{
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 0;
    border-radius: 10px;
    outline: none;
    position: relative;
}

button::-moz-focus-inner {
    border: 0;
}

.slick-dots li button:before{
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 10px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
}

.is_sp .slick-dots li.touch button:before,
.is_pc .slick-dots li:hover button:before,
.slick-dots li.slick-active button:before{
    width: 7px;
    height: 7px;
    background-color: #fff;
    opacity: 1;
    top: -1px;
    transition: width, height;
    transition-duration: .1s;
}

} /* ----- min-width : 751px ----- */



@media screen and (max-width: 750px) {
.slick-dots{
    width: 100% !important;
    display: table !important;
    text-align: right;
    vertical-align: middle;
    position: absolute;
    right: 10px;
    top: inherit !important;
    bottom: 15px;
    z-index: 3;
}

.slick-dots li{
    margin: 0 1px;
}

.slick-dots li,
.slick-dots li button{
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 0;
    border-radius: 10px;
    outline: none;
    position: relative;
}

button::-moz-focus-inner {
    border: 0;
}

.slick-dots li button:before{
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 10px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
}

.is_sp .slick-dots li.touch button:before,
.is_pc .slick-dots li:hover button:before,
.slick-dots li.slick-active button:before{
    width: 6px;
    height: 6px;
    background-color: #fff;
    opacity: 1;
    top: -1px;
    left: -1px;
    transition: width, height;
    transition-duration: .1s;
}

} /* ----- max-width : 750px ----- */






body.modal{
    overflow: hidden !important;
}

.data_profile{ display: none;}
@media screen and (min-width : 751px){ 

/* --------------------------------------------------
*
    #modal
*
-------------------------------------------------- */
#modal{
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: none;
    visibility: hidden;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 65535;
}

#modal_wrap{
    width: 100%;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 50;
    cursor: pointer;
}

#modal_inner{
    width: 100%;
    height: 100%;
    display: table;
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    text-align: center;
    position: relative;
    z-index: 40;
}

#modal_data{
    width: 100%;
    padding: 40px;
    display: table-cell;
    vertical-align: middle;
    margin: 0 auto;
    box-sizing: border-box;
    cursor: default;
}

#modal .overlay{
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    cursor: pointer;
}

#modal .btn_close{
    width: 40px;
    height: 40px;
    background-image:url(../images/parts_ico_close.png);
    background-color: #fff;
    border-radius: 100px;
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: center;
    position: fixed;
    top: 20px;
    right: 35px;
    z-index: 100;
    cursor: pointer;
    transform: scale(1);
    transition: transform .1s ease .0s;
    -webkit-transform: scale(1);
    -webkit-transition: transform .1s ease .0s;
}

.is_pc #modal .btn_close:hover,
.is_sp #modal .btn_close.touch{
    transform: scale(.9);
    transition: transform .15s ease .05s;
    -webkit-transform: scale(.9);
    -webkit-transition: transform .15s ease .05s;
}

.profile_inner{
    width: 600px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 15px;
    color: #000;
    text-align: left;
    padding: 100px 80px;
    box-sizing: border-box;
}

.profile_inner h2{
    margin-bottom: 25px;
    font-size: 28px;
    text-align: left;
    letter-spacing: .1em;
}

.profile_inner h2 .s{
    margin-top: 10px;
    display: block;
    font-size: 14px;
    letter-spacing: .15em;
}

.profile_inner p{
    font-size: 18px;
    line-height: 2.2em;
}

.profile_inner p a{
    padding-bottom: 3px;
    color: #000;
    border-bottom: 1px solid #000;
    transition: border .15s ease;
}

.is_pc .profile_inner p a:hover,
.is_sp .profile_inner p a.touch{
    border-bottom: 1px solid transparent;
}




} /* ----- min-width : 751px ----- */




@media screen and (max-width : 750px){
body.modal{
    overflow: hidden;
}

body.modal.only_sp{
    height: 100%;
}

/* --------------------------------------------------
*
    #modal
*
-------------------------------------------------- */
#modal{
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: none;
    visibility: hidden;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 65535;
}

#modal_wrap{
    width: 100%;
    height: 100%;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 50;
    cursor: pointer;
}

#modal_inner{
    width: 100%;
    height: 100%;
    display: table;
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    text-align: center;
    position: relative;
    z-index: 40;
}

#modal_data{
    width: 100%;
    display: table-cell;
    vertical-align: middle;
    margin: 0 auto;
    padding: 5vw;
    box-sizing: border-box;
    cursor: default;
}

#modal .overlay{
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-color: rgba(0, 0, 0, .3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    cursor: pointer;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-transform-style: preserve-3d;
}

#modal .btn_close{
    width: 40px;
    height: 40px;
    background-image:url(../images/parts_ico_close.png);
    background-repeat: no-repeat;
    background-size: 40px;
    border-radius: 40px;
    background-position: center;
    background-color: #fff;
    position: fixed;
    top: 2.5vw;
    right: 2.5vw;
    z-index: 100;
    cursor: pointer;
    transform: scale(1);
    transition: transform .1s ease .0s;
    -webkit-transform: scale(1);
    -webkit-transition: transform .1s ease .0s;
}

.is_sp #modal .btn_close{
    right: 2.5vw;
}

.is_pc #modal .btn_close:hover,
.is_sp #modal .btn_close.touch{
    transform: scale(.9);
    transition: transform .15s ease .05s;
    -webkit-transform: scale(.9);
    -webkit-transition: transform .15s ease .05s;
}



.profile_inner{
    background-color: #fff;
    color: #000;
    text-align: left;
    padding: 50px 30px 40px 30px;
    border-radius: 15px;
    box-sizing: border-box;
}

.profile_inner h2{
    margin-bottom: 20px;
    font-size: 22px;
    text-align: left;
    letter-spacing: .1em;
}

.profile_inner h2 .s{
    margin-top: 10px;
    display: block;
    font-size: 12px;
    letter-spacing: .1em;
}

.profile_inner p{
    font-size: 14px;
    line-height: 2.2em;
}

.profile_inner p a{
    padding-bottom: 3px;
    color: #000;
    border-bottom: 1px solid #000;
    transition: border .15s ease;
}

.is_pc .profile_inner p a:hover,
.is_sp .profile_inner p a.touch{
    border-bottom: 1px solid transparent;
}

} /* ----- max-width : 750px ----- */