/* ------------------------------------------------------------
   - 2018-10-28 update - Breakpoint - SP max w375
     >576-sm | >768-md | >992-lg | >1200-xl
   ------------------------------------------------------------ */

/* ----- 2025追加 ----- */
.blog-contents p img { width: 100% !important; max-width: 1280px !important }

/* ----- common ----- */
html, body { font-size: 16px; font-weight: 500; line-height: 1; text-align: justify; color: rgba(15,15,15,1.00); word-break: break-all }
@media all and (-ms-high-contrast:none){ body { font-family: メイリオ, Meiryo, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif }}
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility }
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility } body { background-color: rgba(255,255,255,1.00)}
#wrapper { overflow: hidden; position: relative } @media ( min-width: 1921px ){ #wrapper { width: 1920px; margin: auto }}
p, h1, h2, h3, h4, h5, h6, table, ul, hr { font-size: 1rem; line-height: 1; margin: 0; padding: 0 } @media ( max-width: 1560px ){ .d-xxl-none { display: none }}
a { color: inherit; font-size: inherit; text-decoration: none; line-height: 1rem; -webkit-transition: .3s; transition: .3s } a:hover { color: inherit; opacity: 0.75; text-decoration: none }

/* ----- container / section / gutters ----- */
.container { width:100%; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto }
@media ( max-width:1560px ){ .container { padding-right: 20px; padding-left: 20px }} @media ( max-width:768px ){ .container { padding-right: 20px; padding-left: 20px }}
.container-fluid { width:100%; padding-right: 0; padding-left: 0; margin-right: auto; margin-left: auto } .of-auto { overflow: auto }
.row-50 { height: 50px; width: 100% } .row-25 { height: 25px; width: 100% }
.sec-p25 { padding-bottom: 25px }  @media ( max-width: 768px ){ .sec-p25 { padding-bottom: 20px }} @media ( max-width: 576px ){ .sec-p25 { padding-bottom: 15px }}
.sec-p50 { padding-bottom: 50px }  @media ( max-width: 768px ){ .sec-p50 { padding-bottom: 35px }} @media ( max-width: 576px ){ .sec-p50 { padding-bottom: 25px }}
.sec-p70 { padding-bottom: 70px }  @media ( max-width: 768px ){ .sec-p70 { padding-bottom: 50px }} @media ( max-width: 576px ){ .sec-p70 { padding-bottom: 25px }}
.sec-p100 { padding-bottom: 100px } @media ( max-width: 768px ){ .sec-p100 { padding-bottom: 70px }} @media ( max-width: 576px ){ .sec-p100 { padding-bottom: 50px }}
.sec-p130 { padding-bottom: 130px } @media ( max-width: 768px ){ .sec-p130 { padding-bottom: 90px }} @media ( max-width: 576px ){ .sec-p130 { padding-bottom: 50px }}
.sec-p150 { padding-bottom: 150px } @media ( max-width: 768px ){ .sec-p150 { padding-bottom: 100px }} @media ( max-width: 576px ){ .sec-p150 { padding-bottom: 50px }}
@media ( max-width: 992px ){ .gutters-c1>.col,.gutters-c1>[class*=col-]{ padding-right: 5px; padding-left: 5px }}
@media ( max-width: 768px ){ .gutters-c1>.col,.gutters-c1>[class*=col-]{ padding-right: 3px; padding-left: 3px }}

/* ----- color ----- */
.color-b { color: rgba(0,0,0,1) !important } .color-w { color: rgba(255,255,255,1) !important } .color-g { color: rgba(120,120,120,1) !important }
.bg-color-b { background-color : rgba(0,0,0,1) !important } .bg-color-w { background-color : rgba(255,255,255,1) !important } .bg-color-g { background-color : rgba(245,245,245,1) !important }
.bg-color-facebook { background-color : rgba(59,89,152,1) !important } .bg-color-twitter { background-color : rgba(29,161,242,1) !important } .bg-color-line { background-color : rgba(55,192,49,1) !important }

/* ----- sec contents ----- */
.sec-contents-md { margin: auto; width: 100%; max-width: 768px; position: relative }
.sec-contents-lg { margin: auto; width: 100%; max-width: 992px; position: relative }
.sec-contents-xl { margin: auto; width: 100%; max-width: 1200px; position: relative }
.sec-contents-xxl { margin: auto; width: 100%; max-width: 1540px; position: relative }
.pankuzu { margin: -1rem 0 0 2rem; -webkit-transform: skewX(-25deg); transform: skewX(-25deg)} .pankuzu h1 { -webkit-transform: skewX(25deg); transform: skewX(25deg)}
@media ( max-width: 768px ){ .pankuzu { margin: 0; -webkit-transform: skewX(0); transform: skewX(0)} .pankuzu h1 { -webkit-transform: skewX(0); transform: skewX(0)}}
.pankuzu a { text-decoration: underline } .pankuzu a:hover { text-decoration: none }

/* ----- border / hr ----- */
hr { border-top: solid 1px rgba(0,0,0,0.15)} .bdr-color-w { border-color: rgba(255,255,255,1) !important } .bdr-color-b { border-color: rgba(0,0,0,1) !important } .bdr-color-iht { border-color: inherit }
.bdr-img { height: 3px; background: url(../img/check-01.png) repeat-x 0 0; opacity: 0.3 } .bdr-s { width: 20px; border-top: solid 3px }
.bdr-db { width: 30px; border-top: solid 1px; position: relative; text-align: left } .bdr-db:after { content: ""; width: 30px; border-top: solid 1px; position: absolute; top: 4px }
.bdr-top { border-top: solid 1px } .bdr-bottom { border-bottom: solid 1px } .bdr-left { border-left: solid 1px } .bdr-right { border-right: solid 1px }
.bdr-3 { border-width: 3px !important } .bdr-5 { border-width: 5px !important } .bdr-7 { border-width: 7px !important } .bdr-10 { border-width: 10px !important }

/* font-size 8-24.28.32.36.42.48.54.60.72.84.96.108.120.132.144 */
.fs-8 { font-size: 0.5rem } .fs-9 { font-size: 0.563rem } .fs-10 { font-size: 0.625rem } .fs-11 { font-size: 0.688rem } .fs-12 { font-size: 0.75rem } .fs-13 { font-size: 0.813rem } .fs-14 { font-size: 0.875rem } .fs-15 { font-size: 0.938rem } .fs-16 { font-size: 1rem } .fs-17 { font-size: 1.063rem } .fs-18 { font-size: 1.125rem } .fs-19 { font-size: 1.188rem } .fs-20 { font-size: 1.25rem } .fs-21 { font-size: 1.313rem } .fs-22 { font-size: 1.375rem } .fs-23 { font-size: 1.438rem } .fs-24 { font-size: 1.5rem } .fs-26 { font-size: 1.625rem } .fs-28 { font-size: 1.75rem } .fs-32 { font-size: 2rem } .fs-36 { font-size: 2.25rem } .fs-42 { font-size: 2.625rem } .fs-48 { font-size: 3rem } .fs-54 { font-size: 3.375rem } .fs-60 { font-size: 3.75rem } .fs-72 { font-size: 4.5rem } .fs-84 { font-size: 5.25rem } .fs-96 { font-size: 6rem } .fs-108 { font-size: 6.75rem } .fs-120 { font-size: 7.5rem } .fs-132 { font-size: 8.25rem } .fs-144 { font-size: 9rem }

/* ----- text ----- */
.font-r { font-family: 'Roboto'; font-weight: 500 !important } .font-b { font-family: 'Roboto'; font-weight: 700 !important } .font-bk { font-family: 'Roboto'; font-weight: 900 !important }
.font-i { font-family: 'Roboto'; font-weight: 500 !important; font-style: italic } .font-i { font-family: 'Roboto'; font-weight: 700 !important; font-style: italic }
.font-c1 { font-family: 'Crimson Text'; font-weight: 500 !important } .font-tate { writing-mode: vertical-rl; -ms-writing-mode: tb-rl } .bold { font-weight: 700 !important }

.tt-ss { font-size: 0.875rem; line-height: 1.7 } @media ( max-width: 768px ){ .tt-ss { font-size: 0.75rem }}
.tt-s { font-size: 1rem; line-height: 1.7 } @media ( max-width: 1200px ){ .tt-s { font-size: 0.875rem }} @media ( max-width: 768px ){ .tt-s { font-size: 0.75rem }}
.tt-r { font-size: 1rem; line-height: 1.7 } @media ( max-width: 1200px ){ .tt-r { font-size: 0.938rem }} @media ( max-width: 768px ){ .tt-r { font-size: 0.875rem }}

.tit-12 { font-size: 0.750rem } @media ( max-width: 1200px ){ .tit-12 { font-size: 0.688rem }} @media ( max-width: 768px ){ .tit-12 { font-size: 0.625rem }}
.tit-13 { font-size: 0.813rem } @media ( max-width: 1200px ){ .tit-13 { font-size: 0.750rem }} @media ( max-width: 768px ){ .tit-13 { font-size: 0.625rem }}
.tit-14 { font-size: 0.875rem } @media ( max-width: 1200px ){ .tit-14 { font-size: 0.750rem }} @media ( max-width: 768px ){ .tit-14 { font-size: 0.625rem }}
.tit-16 { font-size: 1.000rem } @media ( max-width: 1200px ){ .tit-16 { font-size: 0.875rem }} @media ( max-width: 768px ){ .tit-16 { font-size: 0.750rem }}
.tit-18 { font-size: 1.125rem } @media ( max-width: 1200px ){ .tit-18 { font-size: 1.000rem }} @media ( max-width: 768px ){ .tit-18 { font-size: 0.875rem }}
.tit-21 { font-size: 1.313rem } @media ( max-width: 1200px ){ .tit-21 { font-size: 1.125rem }} @media ( max-width: 768px ){ .tit-21 { font-size: 1.000rem }}
.tit-24 { font-size: 1.500rem } @media ( max-width: 1200px ){ .tit-24 { font-size: 1.313rem }} @media ( max-width: 768px ){ .tit-24 { font-size: 1.125rem }}
.tit-28 { font-size: 1.750rem } @media ( max-width: 1200px ){ .tit-28 { font-size: 1.500rem }} @media ( max-width: 768px ){ .tit-28 { font-size: 1.250rem }}
.tit-32 { font-size: 2.000rem } @media ( max-width: 1200px ){ .tit-32 { font-size: 1.750rem }} @media ( max-width: 768px ){ .tit-32 { font-size: 1.500rem }}
.tit-36 { font-size: 2.250rem } @media ( max-width: 1200px ){ .tit-36 { font-size: 2.000rem }} @media ( max-width: 768px ){ .tit-36 { font-size: 1.750rem }}
.tit-42 { font-size: 2.625rem } @media ( max-width: 1200px ){ .tit-42 { font-size: 2.250rem }} @media ( max-width: 768px ){ .tit-42 { font-size: 2.000rem }}
.tit-48 { font-size: 3.000rem } @media ( max-width: 1200px ){ .tit-48 { font-size: 2.250rem }} @media ( max-width: 768px ){ .tit-48 { font-size: 2.000rem }}
.tit-54 { font-size: 3.375rem } @media ( max-width: 1200px ){ .tit-54 { font-size: 2.250rem }} @media ( max-width: 768px ){ .tit-54 { font-size: 2.000rem }}
.tit-60 { font-size: 3.750rem } @media ( max-width: 1200px ){ .tit-60 { font-size: 2.250rem }} @media ( max-width: 768px ){ .tit-60 { font-size: 2.000rem }}
.tit-72 { font-size: 4.500rem } @media ( max-width: 1200px ){ .tit-72 { font-size: 2.250rem }} @media ( max-width: 768px ){ .tit-72 { font-size: 2.000rem }}
.tit-84 { font-size: 5.250rem } @media ( max-width: 1200px ){ .tit-84 { font-size: 3.750rem }} @media ( max-width: 768px ){ .tit-84 { font-size: 3.000rem }}
.tit-96 { font-size: 6.000rem } @media ( max-width: 1200px ){ .tit-96 { font-size: 3.750rem }} @media ( max-width: 768px ){ .tit-96 { font-size: 3.000rem }}
.tit-108 { font-size: 6.750rem } @media ( max-width: 1200px ){ .tit-108 { font-size: 3.750rem }} @media ( max-width: 768px ){ .tit-108 { font-size: 3.000rem }}

/* ----- section ----- */
.sec-md { margin: auto; width: 100%; max-width: 768px; position: relative } .sec-lg { margin: auto; width: 100%; max-width: 992px; position: relative }
.sec-xl { margin: auto; width: 100%; max-width: 1200px; position: relative } .sec-xxl { margin: auto; width: 100%; max-width: 1632px; position: relative } .mt50 { margin-top: 50px }
.sec-p25 { padding-bottom: 15px } @media screen and ( min-width: 375px ) { .sec-p25 { padding-bottom: 20px }} @media screen and ( min-width: 1200px ) { .sec-p25 { padding-bottom: 25px }}
.sec-p50 { padding-bottom: 15px } @media screen and ( min-width: 375px ) { .sec-p50 { padding-bottom: 20px }} @media screen and ( min-width: 1200px ) { .sec-p50 { padding-bottom: 50px }}
.sec-p75 { padding-bottom: 20px } @media screen and ( min-width: 375px ) { .sec-p75 { padding-bottom: 35px }} @media screen and ( min-width: 1200px ) { .sec-p75 { padding-bottom: 75px }}
.sec-p100 { padding-bottom: 25px } @media screen and ( min-width: 375px ) { .sec-p100 { padding-bottom: 50px }} @media screen and ( min-width: 1200px ) { .sec-p100 { padding-bottom: 100px }}
.sec-p125 { padding-bottom: 25px } @media screen and ( min-width: 375px ) { .sec-p125 { padding-bottom: 50px }} @media screen and ( min-width: 1200px ) { .sec-p125 { padding-bottom: 125px }}
.sec-p150 { padding-bottom: 25px } @media screen and ( min-width: 375px ) { .sec-p150 { padding-bottom: 50px }} @media screen and ( min-width: 1200px ) { .sec-p150 { padding-bottom: 150px }}

/* ----- text ----- */
.tt-8 { font-size: 8px } .tt-9 { font-size: 9px } .tt-10 { font-size: 10px } .tt-11 { font-size: 11px }
.tt-12 { font-size: 10px } @media screen and ( min-width: 375px ) { .tt-12 { font-size: calc(10px + 2 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-12 { font-size: 12px }}
.tt-13 { font-size: 10px } @media screen and ( min-width: 375px ) { .tt-13 { font-size: calc(11px + 2 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-13 { font-size: 13px }}
.tt-14 { font-size: 12px } @media screen and ( min-width: 375px ) { .tt-14 { font-size: calc(12px + 2 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-14 { font-size: 14px }}
.tt-15 { font-size: 12px } @media screen and ( min-width: 375px ) { .tt-15 { font-size: calc(12px + 3 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-15 { font-size: 15px }}
.tt-16 { font-size: 14px } @media screen and ( min-width: 375px ) { .tt-16 { font-size: calc(14px + 2 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-16 { font-size: 16px }}
.tt-18 { font-size: 14px } @media screen and ( min-width: 375px ) { .tt-18 { font-size: calc(14px + 4 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-18 { font-size: 18px }}
.tt-21 { font-size: 16px } @media screen and ( min-width: 375px ) { .tt-21 { font-size: calc(16px + 5 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-21 { font-size: 21px }}
.tt-24 { font-size: 16px } @media screen and ( min-width: 375px ) { .tt-24 { font-size: calc(16px + 8 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-24 { font-size: 24px }}
.tt-28 { font-size: 18px } @media screen and ( min-width: 375px ) { .tt-28 { font-size: calc(18px + 10 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-28 { font-size: 28px }}
.tt-32 { font-size: 18px } @media screen and ( min-width: 375px ) { .tt-32 { font-size: calc(18px + 14 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-32 { font-size: 32px }}
.tt-36 { font-size: 21px } @media screen and ( min-width: 375px ) { .tt-36 { font-size: calc(21px + 15 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-36 { font-size: 36px }}
.tt-42 { font-size: 21px } @media screen and ( min-width: 375px ) { .tt-42 { font-size: calc(21px + 21 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-42 { font-size: 42px }}
.tt-48 { font-size: 21px } @media screen and ( min-width: 375px ) { .tt-48 { font-size: calc(21px + 27 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-48 { font-size: 48px }}
.tt-54 { font-size: 24px } @media screen and ( min-width: 375px ) { .tt-54 { font-size: calc(24px + 30 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-54 { font-size: 54px }}
.tt-60 { font-size: 24px } @media screen and ( min-width: 375px ) { .tt-60 { font-size: calc(24px + 36 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-60 { font-size: 60px }}
.tt-72 { font-size: 24px } @media screen and ( min-width: 375px ) { .tt-72 { font-size: calc(24px + 48 * ((100vw - 375px) / 825))}} @media screen and ( min-width: 1200px ) { .tt-72 { font-size: 72px }}

.lh-0 { line-height: 0 !important } .lh-1 { line-height: 1 !important } .lh-2 { line-height: 1.2 !important } .lh-3 { line-height: 1.3 !important }
.lh-5 { line-height: 1.5 !important } .lh-7 { line-height: 1.7 !important } .lh-9 { line-height: 1.9 !important }
.kng-1 { letter-spacing : 0.075rem !important } .kng-2 { letter-spacing : 0.15rem !important } .kng-3 { letter-spacing : 0.3rem !important }
.kng-4 { letter-spacing : 0.45rem } @media ( max-width: 768px ){ .kng-4 { letter-spacing: 0.3rem }} @media ( max-width: 576px ){ .kng-4 { letter-spacing: 0.15rem }}
.kng-5 { letter-spacing : 0.6rem } @media ( max-width: 768px ){ .kng-5 { letter-spacing: 0.3rem }} @media ( max-width: 576px ){ .kng-5 { letter-spacing: 0.15rem }}

/* ----- link ----- */
a:hover .d-flex p { opacity: 0.65; -webkit-transition: .3s; transition: .3s }

/* ----- effect / etc ----- */
.radius-2 { border-radius: 2px } .radius-3 { border-radius: 3px } .radius-5 { border-radius: 5px } .radius-7 { border-radius: 7px } .radius-10 { border-radius: 10px } .form-control { border-radius: 0 }
.radius-circle { border-radius: 35px; width: 70px; height: 70px } .radius-football { border-radius: 25% 75% } .underline { text-decoration: underline }
.radius-diamond { -webkit-transform: skewX(-25deg); transform: skewX(-25deg)} .radius-diamond p { -webkit-transform: skewX(25deg); transform: skewX(25deg)}
.box-shadow { box-shadow: 30px 30px 40px rgba(0,0,0,0.05)}
.z-idx-1 { z-index: 1 !important } .z-idx-2 { z-index: 2 !important } .z-idx-3 { z-index: 3 !important } .z-idx-4 { z-index: 4 !important } .z-idx-5 { z-index: 5 !important }

.youtube { position: relative; width: 100%; padding-top: 56.25% } .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important}
.gmap { position: relative; height: 420px; overflow: hidden } @media ( max-width: 768px ){ .gmap { position: relative; height: 240px; overflow: hidden }}
.gmap iframe, .gmap object, .gmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
* { outline: 0 !important; list-style-type: none !important} .clearfix:after { content:" "; display:table; clear:both }
.gcal iframe { width: 100%; height: 600px } @media ( max-width: 576px ){ .gcal iframe { height: 500px }}

/* ----- ie bugfix ----- */
.ie-imgf { width: 100% }

/* ----- common-custom ----- */
.py-c1 { padding: 0.75rem 0 } @media ( max-width: 768px ){ .py-c1 { padding: 0.5rem 0 }}

/* ----- color-custom ----- */
.color-c1 { color: rgba(50,55,60,1) !important } .color-c2 { color: rgba(240,40,50,1) !important }
.bg-color-c1 { background-color : rgba(15,15,15,1) !important } .bg-color-c2 { background-color : rgba(247,244,238,1) !important } .bg-color-c3 { background-color : rgba(230,230,230,1) !important }
.bg-color-c4 { background-color : rgba(75,75,75,1) !important } .bg-color-c5 { background-color : rgba(120,205,80,1) !important } .bg-color-c6 { background-color : rgba(155,205,215,1) !important }
.color-tt-grad-c1 { background: -webkit-linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1)); background: linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-fill-color: transparent }
.color-tt-grad-c2 { background: -webkit-linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1)); background: linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-fill-color: transparent }
@media all and (-ms-high-contrast: none) { .color-tt-grad-c1 { background-image: none } .color-tt-grad-c2 { background-image: none }}

.bg-grad-c1 { background: -webkit-linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1)); background: linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1))}
.bg-grad-c2 { background: -webkit-linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1)); background: linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1))}
.bg-color-split { background: -webkit-linear-gradient( 90deg, rgba(255,255,50,1) 0%,rgba(255,255,50,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%); background: linear-gradient( 90deg, rgba(255,255,50,1) 0%,rgba(255,255,50,1) 50%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%)}

.bdr-color-c1 { border-color: rgba(33,39,52,1) !important } .bdr-color-c2 { border-color: rgba(0,0,0,0.075) !important }
.bdr-color-split { border-bottom: solid 1px rgba(230,230,230,1); position: relative }
.bdr-color-split:after { content: ""; display: block; line-height: 0; overflow: hidden; position: absolute; left: 0; bottom: -1px; width: 20%; border-bottom: 1px solid rgba(255,0,0,1)}

/* ----- common img ----- */
#wrapper { background: url(../img/body-bg-line.png) top center repeat-y }
.bg-img-fluid { height: 100%; background: url(../img/contents-img-1.jpg) bottom center / cover no-repeat } @media ( max-width: 768px ){ .bg-img-fluid { width: 90%; height: 0; margin: auto; padding-top: calc(360 / 540 * 100%)}}
.bg-img-w100-c1 { height: 100%; background: url(../img/bg-img-1.jpg) bottom center / cover no-repeat }
.bg-img-w100-c2 { height: 100%; background: url(../img/bg-img-2.jpg) bottom center / cover no-repeat }
.bg-img-calc { width: 100%; height: 0; padding-top: calc(900 / 1920 * 100%); background: url(../img/mv-bg.jpg) center center / cover no-repeat }

/* ----- sec mv v1 ----- */
.sec-mv-v1 { position: relative; height: 860px; background: url(../img/mv-top.jpg) bottom center no-repeat }
@media ( max-width: 1200px ){ .sec-mv-v1 { height: 600px; background: url(../img/mv-top.jpg) top center / cover no-repeat }}
@media ( max-width: 768px ){ .sec-mv-v1 { height: 240px; background: url(../img/mv-top.jpg) top center / cover no-repeat }}

.sec-inner-mv-v1 { position: relative; height: 540px; background: url(../img/mv-inner1.jpg) bottom center no-repeat }
@media ( max-width: 1200px ){ .sec-inner-mv-v1 { height: 360px; margin: 0; background: url(../img/mv-inner1.jpg) bottom center / cover no-repeat }} @media ( max-width: 576px ){ .sec-inner-mv-v1 { height: 240px }}

.sec-inner-mv-v2 { position: relative; height: 320px; background: url(../img/blog-header-bg.jpg) bottom center no-repeat; padding-top: 4.5rem }
@media ( max-width: 1200px ){ .sec-inner-mv-v2 { height: 200px; background: url(../img/blog-header-bg.jpg) top center / cover no-repeat; padding-top: 2.5rem }}

/* ----- sec header v2 ----- */
.sec-header-v2 { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; padding: 1.5rem 2rem }
.sec-header-v2 .header-nav ul li { float: left; border-left: solid 1px rgba(255,255,255,1)} .sec-header-v2 .header-nav ul li:first-child { border: none } .header-nav li a { padding: 0 0.75rem }
@media ( max-width: 1440px ){ .sec-header-v2 { padding: 1rem } .header-nav li a { padding: 0 0.5rem }}

.header-sp-v1 { width: 100%; height: 45px; background-color: rgba(15,15,15,1); position: fixed; z-index: 9999 }
.header-sp-nav-v1 { line-height: 3.5 } .header-sp-nav-v1 li { border-top: solid 1px rgba(255,255,255,0.15)} .header-sp-nav-v1 li:last-child { margin-bottom: 1.5rem; border-bottom: solid 1px rgba(255,255,255,0.15)}
.header-sp-logo-v1 { padding: 13px 10px }

/* ----- sec footer ----- */
.sec-footer { position: relative }
footer a:hover { text-decoration: underline }

/* ----- nav drawer v2 ----- */
#nav-drawer { position: relative } .nav-unshown { display: none }
#nav-open { padding: 15px 15px 0; display: inline-block; width: 45px; height: 45px; vertical-align: middle; position: fixed; top: 0; right: 0; z-index: 101; background: rgba(15,15,15,1)}
#nav-close { display: none; position: fixed; z-index: 99; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,1.00); opacity: 0; transition: .3s ease-in-out } #nav-content { overflow: auto; position: fixed; top: 0; left: 0; z-index: 100; width: 90%; max-width: 280px; height: 100%; background: rgba(15,15,15,1); transition: .3s ease-in-out; -webkit-transform: translateX(-105%); transform: translateX(-105%)} #nav-content a { color: rgba(255,255,255,1.00)} #nav-input:checked ~ #nav-close { display: block; opacity: .5 } #nav-input:checked ~ #nav-content { -webkit-transform: translateX(0%); transform: translateX(0%); box-shadow: 6px 0 25px rgba(0,0,0,.15)}

/* icons span < 1=3 2=6 3=4 4=3 > */
#nav-icon1, #nav-icon2, #nav-icon3, #nav-icon4 { width: 16px; height: 16px; position: relative;
  -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer }

#nav-icon1 span, #nav-icon3 span, #nav-icon4 span { display: block; position: absolute; height: 2px; width: 100%; background: rgba(255,255,255,1.00); opacity: 1; left: 0;
  -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; transition: .25s ease-in-out }

#nav-icon1 span:nth-child(1) { top: 0px } #nav-icon1 span:nth-child(2) { top: 6px } #nav-icon1 span:nth-child(3) { top: 12px }
#nav-icon1.open span:nth-child(1) { top: 7px; -webkit-transform: rotate(135deg); transform: rotate(135deg)}
#nav-icon1.open span:nth-child(2) { opacity: 0; left: -60px } #nav-icon1.open span:nth-child(3) { top: 7px; -webkit-transform: rotate(-135deg); transform: rotate(-135deg)}

/* -- btn img -- */
.btn-img { position: relative; overflow: hidden; width: 100%; height: 0; padding-top: calc(810 / 1080 * 100%)}
.btn-img:after { position: absolute; content: ""; width: 100%; height: 100%; top: 0; background: center center / cover no-repeat; -webkit-transition: .3s; transition: .3s }
.btn-img:hover:after { opacity: 0.75; -webkit-transform: scale(1.2); transform: scale(1.2)} .btn-img-wrap a:hover { opacity: 1 }
.btn-img-inner { width: 100%; height: 100px; z-index: 1; position: absolute; bottom: 0; left: 0; background: linear-gradient( 0deg, rgba(0,0,0,0.5), rgba(0,0,0,0))}
.btn-img-tt { z-index: 2; position: absolute; bottom: 20px; left: 20px }
.btn-img-1:after { background-image: url(../img/btn-img-1.jpg)} .btn-img-2:after { background-image: url(../img/btn-img-2.jpg)} .btn-img-3:after { background-image: url(../img/btn-img-3.jpg)}
.btn-img-4:after { background-image: url(../img/btn-img-4.jpg)} .btn-img-5:after { background-image: url(../img/btn-img-5.jpg)}

/* -- list img -- */
.list-img { position: relative; overflow: hidden; width: 100px; height: 100px } @media ( max-width: 768px ){ .list-img { width: 80px; height: 80px }} @media ( max-width: 576px ){ .list-img { width: 60px; height: 60px }}
.list-img:after { position: absolute; content: ""; width: 100%; height: 100%; top: 0; background: center center / cover no-repeat; -webkit-transition: .3s; transition: .3s }
.list-img:hover:after { opacity: 0.75; -webkit-transform: scale(1.2); transform: scale(1.2)} .list-img-inner { z-index: 1; position: absolute; bottom: 10px; right: 10px } .list-img-wrap a:hover { opacity: 1 }
.list-body { position: relative; width: 100% } .list-body-day { position: absolute; bottom: 0; right: 0 }
.list-img-1:after { background-image: url(../img/blog-snav-1.jpg)} .list-img-2:after { background-image: url(../img/blog-snav-1.jpg)} .list-img-3:after { background-image: url(../img/blog-snav-1.jpg)}

/* -- list img s -- */
.list-img-s { position: relative; overflow: hidden; width: 70px; height: 70px !important } @media ( max-width: 768px ){ .list-img-s { width: 50px; height: 50px !important }}

/* ----- list accordion ----- */
.list-ad { padding: 0 } .list-ad ul li { padding-left:1em ; margin-bottom: 0.5rem } .list-ad-idt { text-indent: -1rem }
.list-ad > li { border-top: 1px solid rgba(200,200,200,1)}
.list-ad a { display: block; padding: 1.75rem 1rem; text-decoration: none; position: relative } .list-ad a:hover{} @media ( max-width: 768px ){ .list-ad a  { padding: 1rem }}
.list-ad a::after { content:""; display: block; width: 10px; height: 10px; border-top: 1px solid rgba(0,0,0,0.5); border-right: 1px solid rgba(0,0,0,0.5); position: absolute; right: 2rem; top: 0; bottom: 0; margin: auto }
.list-ad a[aria-expanded=false]::after { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); transition-duration: 0.3s }
.list-ad a[aria-expanded=true]::after { -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); transition-duration: 0.3s }
[id^="list-ad-inner"] li { padding: 0 1rem; line-height: 1.9 } [id^="list-ad-inner"] li:last-child { margin-bottom: 2rem }

/* ---- sec table v1 ---- */
.sec-table-v1 p { line-height: 1.5; padding: 1.5rem 0; border-left: solid 1px rgba(200,200,200,1); border-top: solid 1px rgba(200,200,200,1);
  font-size: 1.000rem } @media ( max-width: 1200px ){ .sec-table-v1 p { font-size: 0.875rem }} @media ( max-width: 768px ){ .sec-table-v1 p { font-size: 0.750rem; padding: 1rem 0 }}
.sec-table-bdr { border-right: solid 1px rgba(200,200,200,1); border-bottom: solid 1px rgba(200,200,200,1)}

/* ---- sec blog ---- */
.has-post-thumbnail img, .blog-thum-img img, .blog-contents p img { max-width: 100%; height: auto }
.blog-contents h1 { line-height: 1.3 }
.blog-tit-v1 { font-size: 1.500rem; font-weight: 700; line-height: 1.5 } @media ( max-width: 1200px ){ .blog-tit-v1 { font-size: 1.313rem }} @media ( max-width: 768px ){ .blog-tit-v1 { font-size: 0.875rem }}
.blog-contents p { font-size: 1rem; line-height: 1.9; margin-bottom: 2rem } @media ( max-width: 1200px ){ .blog-contents p { font-size: 0.938rem }} @media ( max-width: 768px ){ .blog-contents p { font-size: 0.875rem; margin-bottom: 1.5rem }}
.blog-contents .tt-day { line-height: 1.5; margin-top: 2rem ; margin-bottom: 0.5rem; padding: 0.5rem 1rem; font-weight: 600; color: rgba(255,255,255,1); background: -webkit-linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1)); background: linear-gradient( 45deg, rgba(45,145,0,1), rgba(115,170,0,1)); border-radius: 3px }
.blog-contents .tt-cell { line-height: 1.5; margin-bottom: 0.5rem; padding: 0.5rem 1rem; border: solid 1px rgba(0,0,0,0.15); border-radius: 3px }

.wp-block-image img { max-width: 100%; height: auto; margin-bottom: 1rem }
.blog-excerpt p { font-size: 1rem; line-height: 1.7 } @media ( max-width: 1200px ){ .blog-excerpt p { font-size: 0.938rem }} @media ( max-width: 768px ){ .blog-excerpt p { font-size: 0.875rem }}
.blog-excerpt p:hover { text-decoration: underline }
.sec-blog-snav ul li { padding-left: 1rem; text-indent: -1rem } .sec-blog-snav ul li:before { content: "・"; color:rgba(180,180,180,1)}
.sec-blog-snav ul li { line-height: 1.5; margin: 0 0.5rem 0.75rem; font-size: 0.813rem }
@media ( max-width: 1200px ){ .sec-blog-snav ul li { font-size: 0.750rem }} @media ( max-width: 768px ){ .sec-blog-snav ul li { margin: 0 0.5rem 0.5rem; font-size: 0.625rem }}
.page-numbers { padding: 0 0.2rem }
.page-numbers:hover { text-decoration: underline }
.page-numbers.current { color: rgba(0,0,0,0.35)}

/*---- sec form ---- */
.wpcf7 .wpcf7-response-output { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px }
.wpcf7 .wpcf7-mail-sent-ok { padding-top: 3rem; margin-bottom: 0; line-height: 1.3; text-align: center; font-weight: bold; color: rgba(85,135,175,1.00); background-color: transparent ; border: none }
.wpcf7 .wpcf7-validation-errors { padding-top: 3rem; margin-bottom: 0; line-height: 1.3; text-align: center; font-weight: bold; color: rgba(255,0,0,1.00); background-color: transparent ; border: none }
.wpcf7 .wpcf7-not-valid-tip { padding: 0.5rem; line-height: 1.3; font-size: 13px }
.sent .send-ok { display: none !important }

.sec-form-v1 { position: relative }
.sec-form-v1 input { height: 60px; border-color: rgba(235,235,235,1); background-color: rgba(245,245,245,1)}
.sec-check input { height: auto !important; -webkit-transform: scale(1.5); transform: scale(1.5)}
.sec-privacy { padding: 1.5rem; height: 280px; overflow: auto; border: 1px solid rgba(225,230,235,1)}
.submit-btn { color: rgba(255,255,255,1); background: -webkit-linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1)); background: linear-gradient( 45deg, rgba(0,115,185,1), rgba(70,110,255,1)) !important; line-height: 0; padding: 1.5rem 2.5rem; height: 30px !important; border: 0; border-radius: 50px }

/*---- inner show ---- */
.bg-color-geo { background : url(../img/show-bg1.jpg) bottom center repeat }
@media ( max-width: 1200px ){ .icon-yaji-c1 { width: 50px }}

.bdr-show1 { border: solid 3px rgba(0,0,0,0.25)}
.bg-color-tokusyu1 { background : url(../img/show-bg3.jpg) bottom center no-repeat; background-size: cover }

@media ( min-width: 1441px ){ .bg-show1 { height: 300px; background : url(../img/show-img9.jpg) bottom center no-repeat; background-size: cover }}

@media ( max-width: 1440px ){ .bg-show1 { height: 230px; background : url(../img/show-img9.jpg) bottom center no-repeat; background-size: cover }}

@media ( max-width: 1200px ){ .bg-show1 { height: 180px; background : url(../img/show-img9.jpg) bottom center no-repeat; background-size: cover }}

@media ( min-width: 1441px ){ .bg-show2 { height: 300px; background : url(../img/show-img11.jpg) bottom center no-repeat; background-size: cover }}

@media ( max-width: 1440px ){ .bg-show2 { height: 230px; background : url(../img/show-img11.jpg) bottom center no-repeat; background-size: cover }}

@media ( max-width: 1200px ){ .bg-show2 { height: 180px; background : url(../img/show-img11.jpg) bottom center no-repeat; background-size: cover }}

@media ( max-width: 576px ){ .bg-show2 { height: 383px !important; background : url(../img/show-img11-sp.jpg) top center no-repeat; background-size: cover }}

.bdr-show2 { border-left: solid 7px rgba(15,15,15,1); padding-left: 15px }

.card { border: none !important }

@media (min-width: 576px) { .card-columns { column-count: 1 }}
@media (min-width: 768px) { .card-columns { column-count: 2 }}
@media (min-width: 992px) { .card-columns { column-count: 3 }}
@media (min-width: 1200px) { .card-columns { column-count: 3 }}

@media (min-width: 576px) { .card-columns-c1 { column-count: 1 }}
@media (min-width: 768px) { .card-columns-c1 { column-count: 2 }}
@media (min-width: 992px) { .card-columns-c1 { column-count: 2 }}
@media (min-width: 1200px) { .card-columns-c1 { column-count: 2 }}

.box-shadow-c1 { box-shadow: 0 0 15px rgba(0,0,0,0.1)}

/*---- 2025 0601 ---- */
.jp-light { font-weight: 300 } .jp-regular { font-weight: 400 } .jp-medium { font-weight: 500 }
.jp-semibold { font-weight: 600 } .jp-bold { font-weight: 700 } .jp-extrabold { font-weight: 800 }
.jp-black { font-weight: 900 }

.jp-tume { font-feature-settings: "palt" }
.jp-tate { writing-mode: vertical-rl; min-height: 300px; text-indent: -2.1rem }
.jp-yoko { writing-mode: horizontal-tb }
.bg-facebook { background-color: rgba(59,89,152,1) !important }
.bg-twitter { background-color: rgba(29,161,242,1) !important }
.bg-line { background-color: rgba(55,192,49,1) !important }

/* ----- section ----- */
.sec-sm { margin: auto; width: 100%; max-width: 576px; position: relative }
.sec-md { margin: auto; width: 100%; max-width: 768px; position: relative }
.sec-lg { margin: auto; width: 100%; max-width: 992px; position: relative }
.sec-xl { margin: auto; width: 100%; max-width: 1200px; position: relative }
.sec-xxl { margin: auto; width: 100%; max-width: 1400px; position: relative }
.sec-3xl { margin: auto; width: 100%; max-width: 1600px; position: relative }

.sec-p10 { padding-bottom: 10px } .sec-p15 { padding-bottom: 15px }
.sec-p20 { padding-bottom: 20px } .sec-p25 { padding-bottom: 25px }
.sec-p30 { padding-bottom: 30px } .sec-p35 { padding-bottom: 35px }
.sec-p40 { padding-bottom: 40px } .sec-p45 { padding-bottom: 45px }
.sec-p50 { padding-bottom: 50px } .sec-p55 { padding-bottom: 55px }
.sec-p60 { padding-bottom: 60px } .sec-p65 { padding-bottom: 65px }
.sec-p70 { padding-bottom: 70px } .sec-p75 { padding-bottom: 75px }
.sec-p100 { padding-bottom: 100px } @media screen and ( min-width: 576px ) { .sec-p100 { padding-bottom: 100px }}
.sec-p120 { padding-bottom: 120px } @media screen and ( min-width: 576px ) { .sec-p120 { padding-bottom: 120px }}

.px-10 { padding: 0 10px 0 } .px-15 { padding: 0 15px 0 } .px-20 { padding: 0 20px 0 }
.px-25 { padding: 0 25px 0 } .px-30 { padding: 0 30px 0 } .px-35 { padding: 0 35px 0 }
.px-40 { padding: 0 40px 0 } .px-45 { padding: 0 45px 0 } .px-50 { padding: 0 50px 0 }
.mx-10 { margin: 0 10px 0 } .mx-15 { margin: 0 15px 0 } .mx-20 { margin: 0 20px 0 }

/* ----- text ----- */
.tt-11 { font-size: 11px } .tt-12 { font-size: 12px } .tt-13 { font-size: 13px }
.tt-14 { font-size: 14px } .tt-15 { font-size: 15px } .tt-18 { font-size: 18px }
.tt-21 { font-size: 21px } .tt-24 { font-size: 24px } .tt-28 { font-size: 28px }
.tt-32 { font-size: 32px } .tt-36 { font-size: 36px } .tt-42 { font-size: 42px }
.tt-48 { font-size: 48px } .tt-52 { font-size: 52px } .tt-56 { font-size: 56px }
.tt-60 { font-size: 60px } .tt-64 { font-size: 64px } .tt-72 { font-size: 72px }
.tt-80 { font-size: 80px }

.lh-3 { line-height: 1.3 !important } .lh-5 { line-height: 1.5 !important } .lh-8 { line-height: 1.8 !important }
.kng-1 { letter-spacing : 0.075rem !important } .kng-2 { letter-spacing : 0.15rem !important } .kng-3 { letter-spacing : 0.3rem !important } .kng-4 { letter-spacing : 0.4rem !important }
.radius-5 { border-radius: 5px } .radius-10 { border-radius: 10px } .radius-15 { border-radius: 15px }

/* ----- effect / etc ----- */
.youtube { position: relative; width: 100%; padding-top: 56.25% } .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important}

.gmap { position: relative; height: 280px; overflow: hidden; border-radius: 0 }
.gmap iframe, .gmap object, .gmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
* { outline: 0 !important; list-style-type: none !important} .clearfix:after { content:" "; display:table; clear:both }

.icon-title-c1 { position: absolute; top: -60px; left: 30px }
.uline1 { font-weight: 700; padding-bottom: 1px;
  background: linear-gradient(transparent 70%, rgba(255,255,0,1) 70%)}
.uline2 { border-bottom: solid 1px rgba(255,255,255,1); padding-bottom: 10px }
