/* --- basuc setting ----------------------------------------------------------------------------------------- */
p { margin: 0 0 2em 0; padding: 0; line-height: 180%;}
ul { list-style-type: none; margin: 0 0 0 0; padding: 0; line-height: 0%;}
ol { margin: 0 0 2.5em 19px; padding: 0; line-height: 0%;}
ul li, ol li { margin: 0; padding: 0; line-height: normal; zoom: 1;}
dl { list-style-type: none; margin: 0 0 2.5em 0; padding: 0; line-height: 0%;}
dl dt, dl dd { margin: 0; padding: 0; line-height: normal; zoom: 1;}
dl dt { font-weight: bold;}
form, table, input, textarea, dl, dt, dd { margin: 0; padding: 0;}
table { border-collapse: collapse; width: 100%; border: 0;}
cite { text-align: right; display: block;}
object { display: block; margin: 0 auto; height: auto;}
del { color: #333;}
hr { border: 1px solid #ccc; margin: 40px 0;}
.wp-caption-text { text-align: center;}
.alignright { float: right;}
.alignleft { float: left;}
.aligncenter { margin-left: auto; margin-right: auto;}
.centered { margin-left: auto; margin-right: auto;}
.clear { clear: both;}
input[type="text"], input[type="password"], textarea, select { outline: none;}
/* === Margin & Padding Utilities === */
.mt5 { margin-top: 5px !important; }
.mt20 { margin-top: 20px !important; }
.mt40 { margin-top: 40px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb60 { margin-bottom: 60px !important; }
.ml5 { margin-left: 5px !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pl40 { padding-left: 40px !important; }
.pr40 { padding-right: 40px !important; }
/* === Text Utilities === */
.text110 { font-size: 110%; }
/* === Text Alignment === */
.align1 { text-align: center !important; }
.align2 { text-align: right !important; }
:root { --blue: #007bff; --indigo: #6610f2; --purple: #6f42c1; --pink: #e83e8c; --red: #dc3545; --orange: #fd7e14; --yellow: #ffc107; --green: #28a745; --teal: #20c997; --cyan: #17a2b8; --white: #fff; --gray: #6c757d; --gray-dark: #343a40; --primary: #007bff; --secondary: #6c757d; --success: #28a745; --info: #17a2b8; --warning: #ffc107; --danger: #dc3545; --light: #f8f9fa; --dark: #343a40; --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}
*,
*::before,
*::after { box-sizing: border-box;}
html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: transparent;}
body { margin: 0; font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; //font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.8; color: #22252c; text-align: left; background-color: #fff;}
/* === Container === */
.container { width: 100%; margin-right: auto; margin-left: auto; padding-right: 15px; padding-left: 15px; max-width: 1140px;}
.container-fluid { width: 100%; margin-right: auto; margin-left: auto; padding-right: 15px; padding-left: 15px;}
/* === Row === */
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px;}
.row > * { padding-right: 15px; padding-left: 15px; box-sizing: border-box;}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto { position: relative; width: 100%; min-height: 1px; padding-right: 15px; padding-left: 15px;}
/* === Columns (basic) === */
.col-12 { flex: 0 0 100%; max-width: 100%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
/* === Responsive Columns === */
@media (min-width: 768px) { .col-md-3 { flex: 0 0 25%; max-width: 25%; }
 .col-md-6 { flex: 0 0 50%; max-width: 50%; }
 .offset-md-3 { margin-left: 25%; }}
@media (min-width: 992px) { .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
 .col-lg-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
 .col-lg-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
 .col-lg-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
 .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
 .offset-lg-2 { margin-left: 16.6667%; }
 .offset-lg-4 { margin-left: 33.3333%; }}
@media (min-width: 1200px) { .col-xl-3 { flex: 0 0 25%; max-width: 25%; }
 .col-xl-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
 .col-xl-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
 .col-xl-9 { flex: 0 0 75%; max-width: 75%; }}
