@charset "utf-8";

/* ------------------------------
 Reset
------------------------------ */

* { box-sizing: border-box; }
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, em, img,strong, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot,thead, tr, th, td, article, aside, dialog, figure, figcaption, footer, header, hgroup, menu, nav, section, time, mark, audio, video
{
    margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; list-style-type:none;
    font-family: 'GenJyuuGothic', sans-serif;
    word-break: normal;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word; font-weight: 400; letter-spacing: .02em; font-style:normal;
    -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; box-sizing: border-box;
}


h1, h2, h3, h4, h5, h6 { font-weight: 600; }
img { vertical-align: top; max-width:100%; height:auto;}
html { font-size: 16px; overflow-y: scroll; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; word-break:keep-all; -webkit-overflow-scrolling: touch; }
body {
    color:#333; background: #fff; -webkit-text-size-adjust:none;
    text-rendering: optimizeLegibility;
    font-kerning: normal;               
    font-variant-ligatures: common-ligatures contextual;
    font-feature-settings: "kern", "liga", "clig", "calt";
    overflow-x: hidden;
}
@media all and (-ms-high-contrast:none)
{
    html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, em, img,strong, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot,thead, tr, th, td, article, aside, dialog, figure, figcaption, footer, header, hgroup, menu, nav, section, time, mark, audio, video
    {
        font-family: 'Lato',"メイリオ", sans-serif;
    }
    body { line-height:1.6; }
}

th { text-align:left; }
select, input, textarea { font-family: 'Lato',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; word-wrap:break-word; word-break:break-all; font-weight: normal; font-style:normal; }
input[type=text], input[type=number], textarea { background:#f5f5f5; border:0; padding:10px 15px; font-size:1rem; outline: none;}
input[type=text]:focus, input[type=number]:focus, textarea:focus { background:#e4edf3;}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0;}
input[type="number"] { -moz-appearance:textfield;}
article, aside, dialog, div, figure, footer, header, hgroup, nav, section { display: block; }
hr { height: 0; margin:0; padding: 0; border: 0; border-top: 1px dotted #bbb; margin:50px 0;}
a { color:#52abef; transition:0.3s;}
a:hover { text-decoration:none; }
a img { transition:all 0.3s ease-out; }
a:hover img { opacity:0.7;}

/* ------------------------------
 Clearfix
------------------------------ */
.clearfix { zoom:1; }
.clearfix:after { content:''; display:block; clear:both; }

/* ------------------------------
 Text
------------------------------ */
.tr { text-align: right !important; }
.tl { text-align: left !important; }
.tc { text-align: center !important; }
.bold { font-weight:600; }

/* ------------------------------
 Float
------------------------------ */
.fr { float: right !important; }
.fl { float: left !important; }

/* ------------------------------
 Vertical-align
------------------------------ */
.vt { vertical-align: top !important; }
.vm { vertical-align: middle !important; }
.vb { vertical-align: bottom !important; }

/* ------------------------------
 Margin
------------------------------ */
.mgb0 { margin-bottom:0!important; }
.mgb10 { margin-bottom:10px!important; }
.mgb20 { margin-bottom:20px!important; }
.mgb30 { margin-bottom:30px!important; }
.mgb40 { margin-bottom:40px!important; }
.mgb50 { margin-bottom:50px!important; }
.mgb60 { margin-bottom:60px!important; }
.mgb70 { margin-bottom:70px!important; }
.mgb80 { margin-bottom:80px!important; }
.mgt10 { margin-top:10px!important; }
.mgt15 { margin-top:15px!important; }

/* ------------------------------
 Width
------------------------------ */
.w50px { width:50px;}
.w60px { width:60px;}
.w80px { width:80px;}
.w100px { width:100px;}
.w200px { width:200px;}
.w300px { width:300px;}
.w400px { width:400px;}
.w500px { width:500px;}
.w600px { width:600px;}
.w700px { width:700px;}
.w800px { width:800px;}

.min_w120px { min-width:120px;}

/* ------------------------------
 list
------------------------------ */
ol.number { padding-left:20px; }
ol.number > li { list-style-type:decimal; margin-bottom:15px; padding-left:15px;}

ul.disc { padding-left:20px; }
ul.disc > li { list-style-type:disc; margin-bottom:15px; padding-left:5px;}

ul.katakana { padding-left:35px; }
ul.katakana > li { list-style-type:katakana; margin-bottom:15px; padding-left:15px;}

/* ------------------------------
 table
------------------------------ */
table { border-collapse:collapse; border-spacing:0; }
table.type01 {}
table.type01 th, table.type01 td { padding:25px;}
table.type01.narrow th, table.type01.narrow td { padding:15px;}
table.type01 th { border-bottom:1px solid #333; padding-left:0!important; }
table.type01 td { border-bottom:1px solid #ddd; }
table.type01 thead th, table.type01 thead td { color:#fc2348; font-weight:bold;}

table.type02 { border-right:1px solid #ddd; border-top:1px solid #ddd; }
table.type02 th, table.type02 td { padding:25px; border-left:1px solid #ddd; border-bottom:1px solid #ddd;}
table.type02 th { background:#f5f5f5;}
table.type02 thead td { background:#999; color:#fff;}

table.type02.narrow th, table.type02.narrow td { padding:15px;}


/* 幅を均等にする */
table.equality { table-layout:fixed;}

table.th_bold th { font-weight:600;}
table.tc_all th, table.tc_all td { text-align:center;}

.table_wrap {}



/* ------------------------------
 icon
------------------------------ */
.material-icons { vertical-align:middle; }

/* ------------------------------
 form
------------------------------ */
select, input, textarea { font-family: 'Lato',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; word-wrap:break-word; word-break:break-all; font-weight: normal; font-style:normal; }
input[type=text], input[type=number], textarea { background:#f6f6f6; border:0; padding:20px; font-size:1.1rem; outline:none; border-radius:5px;}
input[type=text]:focus, input[type=number]:focus, textarea:focus { background:;}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0;}
input[type="number"] { -moz-appearance:textfield;}

.select_wrap { display:inline-block; background:#fff; position:relative; }
.select_wrap:before { z-index: 1; position: absolute; right:15px; top: 50%; margin-top: -0.8rem; content: "\e313"; font-family: "Material Icons"; pointer-events: none; font-size: 1.6rem; line-height:1;}
.select_wrap select { border:1px solid #ddd; border-radius:5px; font-size:1.1rem; padding:15px 60px 15px 15px; appearance: none;}

.btn_radio_list li { display:inline-block; margin-right:10px; }
.btn_radio_list input[type="radio"] { display:none;}
.btn_radio_list input[type="radio"] + label { border:1px solid #ccc; padding:10px 20px 10px 40px; border-radius:40px; min-width:150px; cursor:pointer; transition:0.2s; position:relative;}
.btn_radio_list input[type="radio"] + label:before { content: "\e5ca"; font-family: "Material Icons";font-size: 1.4rem; line-height:1; display:none; position:absolute; left:10px; top:50%; margin-top:-0.7rem;}
.btn_radio_list input[type="radio"]:checked + label { border-color:#fc2348; background:#fc2348; color:#fff;}
.btn_radio_list input[type="radio"]:checked + label:before { display:inline-block;}


.input_short { width:200px; }
.input_middle { width:50%; }
.input_full { width:100%; }
th .hissu { background:#111; color:#fff; padding:10px; line-height:1; border-radius:4px; display:inline-block; font-size:0.9rem; font-weight:600; margin-left:15px; vertical-align:middle;}


/* ------------------------------
 icon
------------------------------ */
.icon { display:inline-block; width:25px; height:25px; background:url(../images/icon_white.png) 0 0 no-repeat; background-size:25px auto; vertical-align:middle;}
.icon.twitter { background-position:0 0;}
.icon.instagram { background-position:0 -25px;}

.icon.color { background-image:url(../images/icon_color.png);}

/* ------------------------------
 anime
------------------------------ */
.fadeIn_obj, .fadeInUp_obj, .fadeInRight_obj, .fadeInLeft_obj,
.bounceIn_obj, .bounceInUp_obj, .bounceInRight_obj, .bounceInLeft_obj
 { opacity:0; }
.animate__animated { opacity:1; }

.delay_time_100 { animation-delay: 0.1s;}
.delay_time_200 { animation-delay: 0.2s;}
.delay_time_300 { animation-delay: 0.3s;}
.delay_time_400 { animation-delay: 0.4s;}
.delay_time_500 { animation-delay: 0.5s;}
.delay_time_600 { animation-delay: 0.6s;}
.delay_time_700 { animation-delay: 0.7s;}
.delay_time_800 { animation-delay: 0.8s;}
.delay_time_900 { animation-delay: 0.9s;}
.delay_time_1000 { animation-duration: 1.0s;}
.change_time_100 { animation-duration: 0.1s;}
.change_time_200 { animation-duration: 0.2s;}
.change_time_300 { animation-duration: 0.3s;}
.change_time_400 { animation-duration: 0.4s;}
.change_time_500 { animation-duration: 0.5s;}
.change_time_600 { animation-duration: 0.6s;}
.change_time_700 { animation-duration: 0.7s;}
.change_time_800 { animation-duration: 0.8s;}
.change_time_900 { animation-duration: 0.9s;}
.change_time_1000 { duration: 1.0s;}






/*********************************************
small display, tablet
**********************************************/
@media screen and (max-width: 1000px){
    .table_wrap.sp_scroll1000 { overflow-x:scroll; }
    .table_wrap.sp_scroll1000 table { min-width:1000px;}

}
/*********************************************
 SP small
**********************************************/
@media screen and (max-width: 680px){
    table.type01.sp_vertical { display:block; }
    table.type01.sp_vertical tbody, table.type01.sp_vertical tr, table.type01.sp_vertical th, table.type01.sp_vertical td { display:block; width:auto;}
    table.type01.sp_vertical th { padding-bottom:0; padding-top:30px; border:0;}
    table.type01.sp_vertical td { padding-bottom:30px;}

    table.type02.sp_vertical { display:block;}
    table.type02.sp_vertical tbody, table.type02.sp_vertical tr, table.type02.sp_vertical th, table.type02.sp_vertical td { display:block; width:auto;}
    table.type02.sp_vertical th { border-bottom:0; padding:20px;}
    table.type02.sp_vertical td { padding:20px 20px 30px;}

    .table_wrap.sp_scroll { overflow-x:scroll; }
    .table_wrap.sp_scroll table { min-width:680px;}

    .select_wrap.sp_full { display:block;}
    .select_wrap.sp_full select { width:100%;}

}


