@charset "Shift_JIS";

/* A Modern CSS Reset */
*,*::before,*::after { box-sizing:border-box; }
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol { margin:0; padding: 0; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal; }
ul[role="list"],ol[role="list"],li { list-style:none; }
html:focus-within { scroll-behavior:smooth; }
body {min-height:100vh; text-rendering:optimizeSpeed; line-height:1.5; }
a:not([class]) { text-decoration-skip-ink:auto; }
img,picture { max-width:100%; display:block; }
input,button,textarea,select { font:inherit; }
table { border-collapse: collapse;  border-spacing: 0; }
td, th { font-weight: normal; padding: 0; text-align: left; }
@media(prefers-reduced-motion:reduce) {
    html:focus-within { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important }
}


/* SP Img Copyguard */
img {
    -webkit-touch-callout: none; -webkit-user-select: none; -moz-touch-callout: none; -moz-user-select: none; -ms-user-select: none;
    user-select: none;
}


/* Custom Property */
:root {
    --color-prime: #333333;
    --color-key: #C1C319;
    --color-grey: #999;
    --color-lightgrey: #f2f2f2;
    --color-white: #fff;
    --color-att: #C70102;
    --border-prime: 1px solid #ddd;
    --font-jp: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo;
    --gfont-eng: 'Open Sans';
    --transition: all 0.2s ease-in-out;
    --fade-opacity: 0.7;
    --padding-rl-sp: 5%;
    --width-pc: 1200px;
    --width-pc-s: 960px;
}


/* Font & List & Defult Layout Set */
html { font-size: 10px; }
.fsSS { font-size: 75%; }
.fsS, .indentS { font-size: 87.5% ;}
.fsL { font-style: 112.5%; }
.fsLL { font-size: 125%; }
.fwN { font-weight: normal; }
.fwB { font-weight: bold; }
.fc-att { color: var(--color-att); }
.fc-attB { color: var(--color-att); font-weight: bold; }

.taC { text-align: center; }
.taL { text-align: left; }
.taR { text-align: right; }

.indent, .indentS {
    padding-left: 1em;
    text-indent: -1em;
    padding-top: 2px;
    padding-bottom: 2px;
}

.indent-3em {
    padding-left: 2.6em;
    text-indent: -2.6em;
    padding-top: 2px;
    padding-bottom: 2px;
}

.li-disc li {
    list-style-type: disc;
    margin-left: 1.5em;
}

.li-circle li {
    list-style-type: circle;
    margin-left: 1.5em;
}

.li-square li {
    list-style-type: square;
    margin-left: 1.5em;
}

.li-decimal li, ol.li-decimal li {
    list-style-type: decimal;
    margin-left: 1.8em;
}

.li-decimalzero li {
    list-style-type: decimal-leading-zero;
    margin-left: 3em;
}

.li-lalpha li {
    list-style-type: lower-alpha;
    margin-left: 3em;
}

.indent li, .indentS li, .indentS-pc, .indent-3em li,
.li-disc li, .li-circle li, .li-square li, .li-decimal li, .li-decimalzero li, .li-lalpha li {
padding-top: 2px;
padding-bottom: 2px;
}

.li-pt10 li { padding-top: 10px; }
.li-pt20 li { padding-top: 20px; }
.li-pt10 li:first-child, .li-pt20 li:first-child { padding-top: 0; }


.pt0 { padding-top: 0 !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }

.pb0 { padding-bottom: 0 !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }

.mt0 { margin-top: 0 !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }

.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }

.ml0 { margin-left: 0 !important; }
.mr0 { margin-right: 0 !important; }


/* Device Set */
.sp { display: block !important; }
.sp-tab { display: block !important;}
.tab { display: none !important; }
.tab-pc { display: none !important; }
.pc { display: none !important; }

@media screen and (min-width: 640px) {
    .sp { display: none !important; }
    .tab { display: block !important;}
    .tab-pc { display: block !important; }
    .tab-pc-taC { text-align: center; }
}

@media screen and (min-width: 1260px) {
    .sp-tab { display: none !important;}
    .tab { display: none !important; }
    .pc { display: block !important; }
}