@charset "UTF-8";

/* CSS Document */
div.inner { width: 100% !important; max-width: 1200px; margin-left: auto; margin-right: auto; }

@media only screen and (max-width: 768px) { 
div.inner {  box-sizing: border-box;  width: 100% !important;  min-width: 100% !important;  padding: 0 1em; }
}

img { max-width: 100% !important; height: auto; }
a:focus, *:focus { outline: none; }
a { color: #000; text-decoration: underline; }
a:hover { text-decoration: none; }
.nowrap { white-space: nowrap; }
.alert { color: #ff100a; }
.alert-label { background: #ff100a; color: #fff; font-size: 1.2rem; padding-left: 0.5rem; padding-right: 0.5rem; border-radius: 0.25rem; white-space: nowrap; }
.default-block { display: block; }
.default-inline-block { display: inline-block; }
.responsive-block { display: none; }
.responsive-inline-block { display: none; }

@media only screen and (max-width: 768px) { 
.default-block {  display: none; }
.default-inline-block {  display: none; }
.responsive-block {  display: block; }
.responsive-inline-block {  display: inline-block; }
}

a[href^="tel:"] { pointer-events: none; text-decoration: none; cursor: default; }
@media only screen and (max-width: 768px) { 
a[href^="tel:"] {  pointer-events: auto;  text-decoration: underline; }
a[href^="tel:"]:hover {  text-decoration: none; }
}

/* -------------------------------------------------------------------------------------------------------------------------------- setting */
.fl { float: left; }
.fr { float: right; }
.center { margin-left: auto; margin-right: auto; }
.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }
.vt { vertical-align: top; }
.vm { vertical-align: middle; }
.vb { vertical-align: bottom; }
img { max-width: 100% !important; height: auto; vertical-align: bottom; }

/* rem か point */
/* .fs1 { font-size: 0.8rem !important; }
.fs2 { font-size: 1.0rem !important; }
.fs3 { font-size: 1.2rem !important; }
.fs4 { font-size: 1.3rem !important; }
.fs5 { font-size: 1.4rem !important; }
.fs6 { font-size: 1.8rem !important; }
.fs7 { font-size: 2.4rem !important; }
.fs8 { font-size: 3.6rem !important; }
.fs9 { font-size: 4.8rem !important; } */
.text-indent { text-indent: -1em;  padding-left: 2em; }

/* rem */
.fs10 { font-size: 1.0rem !important; }
.fs11 { font-size: 1.1rem !important; }
.fs12 { font-size: 1.2rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs16 { font-size: 1.6rem !important; }
.fs17 { font-size: 1.7rem !important; }
.fs18 { font-size: 1.8rem !important; }
.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size: 2.0rem !important; }
.fs21 { font-size: 2.1rem !important; }
.fs22 { font-size: 2.2rem !important; }
.fs23 { font-size: 2.3rem !important; }
.fs24 { font-size: 2.4rem !important; }
.fs25 { font-size: 2.5rem !important; }
.fs26 { font-size: 2.6rem !important; }
.fs27 { font-size: 2.7rem !important; }
.fs28 { font-size: 2.8rem !important; }
.fs29 { font-size: 2.9rem !important; }
.fs30 { font-size: 3.0rem !important; }

/* 中央揃え */
.outbox { position: relative; width: 100% !important; height: 100% !important; }
.outbox .inbox { position: absolute; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%); }

/* @end */
.w1 { width: 1% !important; }
.w2 { width: 2% !important; }
.w3 { width: 3% !important; }
.w4 { width: 4% !important; }
.w5 { width: 5% !important; }
.w6 { width: 6% !important; }
.w7 { width: 7% !important; }
.w8 { width: 8% !important; }
.w9 { width: 9% !important; }
.w10 { width: 10% !important; }
.w11 { width: 11% !important; }
.w12 { width: 12% !important; }
.w13 { width: 13% !important; }
.w14 { width: 14% !important; }
.w15 { width: 15% !important; }
.w16 { width: 16% !important; }
.w17 { width: 17% !important; }
.w18 { width: 18% !important; }
.w19 { width: 19% !important; }
.w20 { width: 20% !important; }
.w21 { width: 21% !important; }
.w22 { width: 22% !important; }
.w23 { width: 23% !important; }
.w24 { width: 24% !important; }
.w25 { width: 25% !important; }
.w26 { width: 26% !important; }
.w27 { width: 27% !important; }
.w28 { width: 28% !important; }
.w29 { width: 29% !important; }
.w30 { width: 30% !important; }
.w31 { width: 31% !important; }
.w32 { width: 32% !important; }
.w33 { width: 33% !important; }
.w34 { width: 34% !important; }
.w35 { width: 35% !important; }
.w36 { width: 36% !important; }
.w37 { width: 37% !important; }
.w38 { width: 38% !important; }
.w39 { width: 39% !important; }
.w40 { width: 40% !important; }
.w41 { width: 41% !important; }
.w42 { width: 42% !important; }
.w43 { width: 43% !important; }
.w44 { width: 44% !important; }
.w45 { width: 45% !important; }
.w46 { width: 46% !important; }
.w47 { width: 47% !important; }
.w48 { width: 48% !important; }
.w49 { width: 49% !important; }
.w50 { width: 50% !important; }
.w51 { width: 51% !important; }
.w52 { width: 52% !important; }
.w53 { width: 53% !important; }
.w54 { width: 54% !important; }
.w55 { width: 55% !important; }
.w56 { width: 56% !important; }
.w57 { width: 57% !important; }
.w58 { width: 58% !important; }
.w59 { width: 59% !important; }
.w60 { width: 60% !important; }
.w61 { width: 61% !important; }
.w62 { width: 62% !important; }
.w63 { width: 63% !important; }
.w64 { width: 64% !important; }
.w65 { width: 65% !important; }
.w66 { width: 66% !important; }
.w67 { width: 67% !important; }
.w68 { width: 68% !important; }
.w69 { width: 69% !important; }
.w70 { width: 70% !important; }
.w71 { width: 71% !important; }
.w72 { width: 72% !important; }
.w73 { width: 73% !important; }
.w74 { width: 74% !important; }
.w75 { width: 75% !important; }
.w76 { width: 76% !important; }
.w77 { width: 77% !important; }
.w78 { width: 78% !important; }
.w79 { width: 79% !important; }
.w80 { width: 80% !important; }
.w81 { width: 81% !important; }
.w82 { width: 82% !important; }
.w83 { width: 83% !important; }
.w84 { width: 84% !important; }
.w85 { width: 85% !important; }
.w86 { width: 86% !important; }
.w87 { width: 87% !important; }
.w88 { width: 88% !important; }
.w89 { width: 89% !important; }
.w90 { width: 90% !important; }
.w91 { width: 91% !important; }
.w92 { width: 92% !important; }
.w93 { width: 93% !important; }
.w94 { width: 94% !important; }
.w95 { width: 95% !important; }
.w96 { width: 96% !important; }
.w97 { width: 97% !important; }
.w98 { width: 98% !important; }
.w99 { width: 99% !important; }
.w100 { width: 100% !important; }
.m_o0, .m_t0 { margin-top: 0 !important; }
.m_o10, .m_t10 { margin-top: 10px !important; }
.m_o20, .m_t20 { margin-top: 20px !important; }
.m_o30, .m_t30 { margin-top: 30px !important; }
.m_o40, .m_t40 { margin-top: 40px !important; }
.m_o50, .m_t50 { margin-top: 50px !important; }
.m_o60, .m_t60 { margin-top: 60px !important; }
.m_o70, .m_t70 { margin-top: 70px !important; }
.m_o80, .m_t80 { margin-top: 80px !important; }
.m_l0 { margin-left: 0 !important; }
.m_l1 { margin-left: 1% !important; }
.m_l2 { margin-left: 2% !important; }
.m_13 { margin-left: 3% !important; }
.m_l4 { margin-left: 4% !important; }
.m_r0 { margin-right: 0; }
.m_r1 { margin-right: 1% !important; }
.m_r2 { margin-right: 2% !important; }
.m_r3 { margin-right: 3% !important; }
.m_r4 { margin-right: 4% !important; }
.m_u0, .m_b0 { margin-bottom: 0 !important; }
.m_u10, .m_b10 { margin-bottom: 10px !important; }
.m_u20, .m_b20 { margin-bottom: 20px !important; }
.m_u30, .m_b30 { margin-bottom: 30px !important; }
.m_u40, .m_b40 { margin-bottom: 40px !important; }
.m_u50, .m_b50 { margin-bottom: 50px !important; }
.m_u60, .m_b60 { margin-bottom: 60px !important; }
.m_u70, .m_b70 { margin-bottom: 70px !important; }
.m_u80, .m_b80 { margin-bottom: 80px !important; }
.p_o0 { padding-top: 0px !important; }
.p_o10 { padding-top: 10px !important; }
.p_o20 { padding-top: 20px !important; }
.p_o30 { padding-top: 30px !important; }
.p_o40 { padding-top: 40px !important; }
.p_o50 { padding-top: 50px !important; }
.p_o60 { padding-top: 60px !important; }
.p_o80 { padding-top: 80px !important; }
.p_l0 { padding-left: 0; }
.p_l1 { padding-left: 1% !important; }
.p_l2 { padding-left: 2% !important; }
.p_13 { padding-left: 3% !important; }
.p_l4 { padding-left: 4% !important; }
.p_r0 { padding-right: 0; }
.p_r1 { padding-right: 1% !important; }
.p_r2 { padding-right: 2% !important; }
.p_r3 { padding-right: 3% !important; }
.p_r4 { padding-right: 4% !important; }
.p_u0, .p_b0 { padding-bottom: 0; }
.p_u10, .p_b10 { padding-bottom: 10px !important; }
.p_u20, .p_b20 { padding-bottom: 20px !important; }
.p_u30, .p_b30 { padding-bottom: 30px !important; }
.p_u40, .p_b40 { padding-bottom: 40px !important; }
.p_u50, .p_b50 { padding-bottom: 50px !important; }
.p_u60, .p_b60 { padding-bottom: 60px !important; }
.p_u70, .p_b70 { padding-bottom: 70px !important; }
.p_u80, .p_b80 { padding-bottom: 80px !important; }

@media only screen and (max-width: 768px) { 
.fl, .fr {  float: none; }
.resp_center {  margin-left: auto;  margin-right: auto; }
.resp_fl {  float: left; }
.resp_fr {  float: right; }
.resp_tl {  text-align: left; }
.resp_tr {  text-align: right; }
.resp_tc {  text-align: center; }
.resp_vt {  vertical-align: top; }
.resp_vm {  vertical-align: middle; }
.resp_vb {  vertical-align: bottom; }
.resp_w1 {  width: 1% !important; }
.resp_w2 {  width: 2% !important; }
.resp_w3 {  width: 3% !important; }
.resp_w4 {  width: 4% !important; }
.resp_w5 {  width: 5% !important; }
.resp_w6 {  width: 6% !important; }
.resp_w7 {  width: 7% !important; }
.resp_w8 {  width: 8% !important; }
.resp_w9 {  width: 9% !important; }
.resp_w10 {  width: 10% !important; }
.resp_w11 {  width: 11% !important; }
.resp_w12 {  width: 12% !important; }
.resp_w13 {  width: 13% !important; }
.resp_w14 {  width: 14% !important; }
.resp_w15 {  width: 15% !important; }
.resp_w16 {  width: 16% !important; }
.resp_w17 {  width: 17% !important; }
.resp_w18 {  width: 18% !important; }
.resp_w19 {  width: 19% !important; }
.resp_w20 {  width: 20% !important; }
.resp_w21 {  width: 21% !important; }
.resp_w22 {  width: 22% !important; }
.resp_w23 {  width: 23% !important; }
.resp_w24 {  width: 24% !important; }
.resp_w25 {  width: 25% !important; }
.resp_w26 {  width: 26% !important; }
.resp_w27 {  width: 27% !important; }
.resp_w28 {  width: 28% !important; }
.resp_w29 {  width: 29% !important; }
.resp_w30 {  width: 30% !important; }
.resp_w31 {  width: 31% !important; }
.resp_w32 {  width: 32% !important; }
.resp_w33 {  width: 33% !important; }
.resp_w34 {  width: 34% !important; }
.resp_w35 {  width: 35% !important; }
.resp_w36 {  width: 36% !important; }
.resp_w37 {  width: 37% !important; }
.resp_w38 {  width: 38% !important; }
.resp_w39 {  width: 39% !important; }
.resp_w40 {  width: 40% !important; }
.resp_w41 {  width: 41% !important; }
.resp_w42 {  width: 42% !important; }
.resp_w43 {  width: 43% !important; }
.resp_w44 {  width: 44% !important; }
.resp_w45 {  width: 45% !important; }
.resp_w46 {  width: 46% !important; }
.resp_w47 {  width: 47% !important; }
.resp_w48 {  width: 48% !important; }
.resp_w49 {  width: 49% !important; }
.resp_w50 {  width: 50% !important; }
.resp_w51 {  width: 51% !important; }
.resp_w52 {  width: 52% !important; }
.resp_w53 {  width: 53% !important; }
.resp_w54 {  width: 54% !important; }
.resp_w55 {  width: 55% !important; }
.resp_w56 {  width: 56% !important; }
.resp_w57 {  width: 57% !important; }
.resp_w58 {  width: 58% !important; }
.resp_w59 {  width: 59% !important; }
.resp_w60 {  width: 60% !important; }
.resp_w61 {  width: 61% !important; }
.resp_w62 {  width: 62% !important; }
.resp_w63 {  width: 63% !important; }
.resp_w64 {  width: 64% !important; }
.resp_w65 {  width: 65% !important; }
.resp_w66 {  width: 66% !important; }
.resp_w67 {  width: 67% !important; }
.resp_w68 {  width: 68% !important; }
.resp_w69 {  width: 69% !important; }
.resp_w70 {  width: 70% !important; }
.resp_w71 {  width: 71% !important; }
.resp_w72 {  width: 72% !important; }
.resp_w73 {  width: 73% !important; }
.resp_w74 {  width: 74% !important; }
.resp_w75 {  width: 75% !important; }
.resp_w76 {  width: 76% !important; }
.resp_w77 {  width: 77% !important; }
.resp_w78 {  width: 78% !important; }
.resp_w79 {  width: 79% !important; }
.resp_w80 {  width: 80% !important; }
.resp_w81 {  width: 81% !important; }
.resp_w82 {  width: 82% !important; }
.resp_w83 {  width: 83% !important; }
.resp_w84 {  width: 84% !important; }
.resp_w85 {  width: 85% !important; }
.resp_w86 {  width: 86% !important; }
.resp_w87 {  width: 87% !important; }
.resp_w88 {  width: 88% !important; }
.resp_w89 {  width: 89% !important; }
.resp_w90 {  width: 90% !important; }
.resp_w91 {  width: 91% !important; }
.resp_w92 {  width: 92% !important; }
.resp_w93 {  width: 93% !important; }
.resp_w94 {  width: 94% !important; }
.resp_w95 {  width: 95% !important; }
.resp_w96 {  width: 96% !important; }
.resp_w97 {  width: 97% !important; }
.resp_w98 {  width: 98% !important; }
.resp_w99 {  width: 99% !important; }
.resp_w100 {  width: 100% !important; }
.resp_m_o0, .resp_m_t0 {  margin-top: 0 !important; }
.resp_m_o10, .resp_m_t10 {  margin-top: 10px !important; }
.resp_m_o20, .resp_m_t20 {  margin-top: 20px !important; }
.resp_m_o30, .resp_m_t30 {  margin-top: 30px !important; }
.resp_m_o40, .resp_m_t40 {  margin-top: 40px !important; }
.resp_m_o50, .resp_m_t50 {  margin-top: 50px !important; }
.resp_m_o60, .resp_m_t60 {  margin-top: 60px !important; }
.resp_m_o70, .resp_m_t70 {  margin-top: 70px !important; }
.resp_m_o80, .resp_m_t80 {  margin-top: 80px !important; }
.resp_m_l0 {  margin-left: 0 !important; }
.resp_m_l1 {  margin-left: 1% !important; }
.resp_m_l2 {  margin-left: 2% !important; }
.resp_m_l4 {  margin-left: 4% !important; }
.resp_m_r0 {  margin-right: 0 !important; }
.resp_m_r1 {  margin-right: 1% !important; }
.resp_m_r2 {  margin-right: 2% !important; }
.resp_m_r4 {  margin-right: 4% !important; }
.resp_m_u0, .resp_m_b0 {  margin-bottom: 0 !important; }
.resp_m_u10, .resp_m_b10 {  margin-bottom: 10px !important; }
.resp_m_u20, .resp_m_b20 {  margin-bottom: 20px !important; }
.resp_m_u30, .resp_m_b30 {  margin-bottom: 30px !important; }
.resp_m_u40, .resp_m_b40 {  margin-bottom: 40px !important; }
.resp_m_u50, .resp_m_b50 {  margin-bottom: 50px !important; }
.resp_m_u60, .resp_m_b60 {  margin-bottom: 60px !important; }
.resp_m_u70, .resp_m_b70 {  margin-bottom: 70px !important; }
.resp_m_u80, .resp_m_b80 {  margin-bottom: 80px !important; }
.resp_p_o0, .resp_p_t0 {  padding-top: 0px !important; }
.resp_p_o10, .resp_p_t10 {  padding-top: 10px !important; }
.resp_p_o20, .resp_p_t20 {  padding-top: 20px !important; }
.resp_p_o30, .resp_p_t30 {  padding-top: 30px !important; }
.resp_p_o40, .resp_p_t40 {  padding-top: 40px !important; }
.resp_p_o50, .resp_p_t50 {  padding-top: 50px !important; }
.resp_p_o60, .resp_p_t60 {  padding-top: 60px !important; }
.resp_p_o70, .resp_p_t70 {  padding-top: 70px !important; }
.resp_p_o80, .resp_p_t80 {  padding-top: 80px !important; }
.resp_p_l0 {  padding-left: 0 !important; }
.resp_p_l1 {  padding-left: 1% !important; }
.resp_p_l2 {  padding-left: 2% !important; }
.resp_p_13 {  padding-left: 3% !important; }
.resp_p_l4 {  padding-left: 4% !important; }
.resp_p_r0 {  padding-right: 0 !important; }
.resp_p_r1 {  padding-right: 1% !important; }
.resp_p_r2 {  padding-right: 2% !important; }
.resp_p_r3 {  padding-right: 3% !important; }
.resp_p_r4 {  padding-right: 4% !important; }
.resp_p_u0, resp_p_b0 {  padding-bottom: 0 !important; }
.resp_p_u10, resp_p_b10 {  padding-bottom: 10px !important; }
.resp_p_u20, resp_p_b20 {  padding-bottom: 20px !important; }
.resp_p_u30, resp_p_b30 {  padding-bottom: 30px !important; }
.resp_p_u40, resp_p_b40 {  padding-bottom: 40px !important; }
.resp_p_u50, resp_p_b50 {  padding-bottom: 50px !important; }
.resp_p_u60, resp_p_b60 {  padding-bottom: 60px !important; }
.resp_p_u70, resp_p_b70 {  padding-bottom: 70px !important; }
.resp_p_u80, resp_p_b80 {  padding-bottom: 80px !important; }
.resp_ma {  margin:auto !important; }

}

p { margin: 1em 0; }
.overflow-hidden { overflow: hidden; }
h3 { /* background: #000; */ color: #000; /* border-left: 4px solid #000; */ border: 2px solid #000; font-size: 2.5rem; /* 25px *//* line-height: 1.5; */ font-weight: bold; padding-top: 0.5em; padding-bottom: 0.5em; padding-left: 1em; padding-right: 1em; margin: 2em 0 1em; /* display: inline-block; */ display: block; position: relative; /* border-left: 5px solid #032535;	*/ /* border: 3px solid #fe5700 *//* border-bottom: 3px solid #fe5700; *//* display: inline-block; *//* border-bottom: 3px solid #062e42; */ }

/*h3:after { clear: both;  content: ".";  display: block;  height: 0;  visibility: hidden; } */
h3:before { /* content: ""; padding-right: 0.1em; width: 20px; height: 3px; background: #f35955; position: absolute; left: -10px; top: 50% !important; transform: translate(0, -50%); */}
h3:first-child { margin: 1em 0 1em; }
h4 { font-size: 2.1rem; font-weight: bold; margin: 2em 0 1em; border-bottom: 2px solid #000; }
/* h3 + h4 {  margin: 1em 0 1em; } */
h5 { font-size: 1.6rem; /* 16px */ margin: 1em 0 1em; display: inline-block; /* border-bottom: 3px solid #fe5700; */}
/* h4 + h5 { margin: 0; } */

/* レスポンシブ の とき の フォントサイズ 調 整 */
@media only screen and (max-width: 768px) { 
h3 {  font-size: 2.1rem; }
h4 {  font-size: 1.8rem; }
/* h5 {  font-size: ; }*/
}

/* -------------------------------------------------------------------------------------------------------------------------------- ul.deco-list */
ul.deco-list { /* reset */ margin: 0; padding: 0; }
ul.deco-list li { margin: 0; padding: 0 0 0 1em; position: relative; }
ul.deco-list li::before { background: #343434 none repeat scroll 0 0; border-radius: 50% !important; content: ""; height: 8px; left: 0; margin-right: 0.5em; position: absolute; top: 10px; transition: all 0.3s ease-out 0s; width: 8px; }
ul.deco-list li.list-unstyled { list-style: none; background: none; padding: 0; }
ul.deco-list li ul li { list-style: none; background: none; margin: 0; padding: 0; }
ul.deco-list li ul li:before { content: "・"; }
ul.deco-list.inline { margin: 0; }
ul.deco-list.inline li { display: block; white-space: nowrap; float: left; padding-right: 0.5em; }

/* -------------------------------------------------------------------------------------------------------------------------------- ol.deco-list */
ol.deco-list { /* margin: 0 0 1em 0; */ margin-left: 1em; /* padding: 0; */ counter-reset: number; list-style: none; margin: 0; padding: 0; }
ol.deco-list li { margin: 0; padding: 0; /* padding: 0; */
}
ol.deco-list > li > ol > li { padding: 0 0 0 2em; text-indent: -1em; }
ol.deco-list li:before { counter-increment: number; content: counter(number)"."; /* background: #333; */ display: inline-block; width: 1em; height: 1em; text-align: center; /* border-radius: 1000px; */ color: #333; margin-right: .3em; line-height: 1em; padding: 0.1em; /* 	font-size: 1.2rem; */
}
ol.deco-list > li > ol > li:before { counter-increment: number; content: counter(number)"."; margin-right: 0em; background: none; color: #ba9975; font-weight: bold; }

/* -------------------------------------------------------------------------------------------------------------------------------- ul.qa */
ul.qa { /* background: #f6f6f6; */ margin: 1em 0 2em; padding: 1em; }
@media only screen and (max-width: 768px) { ul.qa {  padding: 0; }
}
ul.qa li { list-style: none; background: none; margin: 0; padding: 1em; /* text-align: center; */ position: relative; /* color: #585858; */
}
ul.qa li.question { /* background: #e6f4ff; */ background: #f2f9ff; /* border: 3px solid #013891; */ margin-bottom: 1.5em; }
ul.qa li.question div.head { color: #fff; background: #88b2d1; border-radius: 100px; /* padding: 0.2em 0.8em; */ position: absolute; top: -1em; left: 0; width: 2em; height: 2em; box-sizing: border-box; display: block; text-align: center; font-weight: bold; }
ul.qa li.question div.head span { position: absolute; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);  }
ul.qa li.question:before { background: none; content: ""; position: relative; bottom: 0; left: 0; margin: 0; width: 0; height: 0; border: none; z-index: 0; }

/* やじるし */
ul.qa li.question:after { content: ""; position: absolute; bottom: -1em; left: 50% !important; margin-left: -1em; width: 0px; height: 0px; border-style: solid; border-width: 1em 1em 0 1em; border-color: #f2f9ff transparent transparent transparent; z-index: 0; }
ul.qa li.answer { background: #ffe6e7; background: #fff3f3; /* border: 3px solid #fe5700; */
}
ul.qa li.answer:last-child { margin-bottom: 0; }
ul.qa li.answer div.head { color: #fff; background: #ed777c; border-radius: 100px; /* padding: 0.2em 0.8em; */ position: absolute; top: -1em; left: 0; width: 2em; height: 2em; box-sizing: border-box; display: block; text-align: center; font-weight: bold; }
ul.qa li.answer div.head span { position: absolute; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%); }
ul.qa li.answer:before { background: none; content: ""; position: relative; bottom: 0; left: 0; margin: 0; width: 0; height: 0; border: none; z-index: 0; }

/* -------------------------------------------------------------------------------------------------------------------------------- .deco-box */
.deco-box { padding: 1em; background: #f6f6f6; position: relative; }
.deco-box.line { padding: 1em; background: #fff; border: 0.5em solid #f6f6f6; position: relative; }

/* -------------------------------------------------------------------------------------------------------- flow-arrow */
.deco-box.flow-arrow { padding: 1em; background: #fff; border: 0.5em solid #f6f6f6; position: relative; box-sizing: border-box; }
.deco-box.flow-arrow::after { border-color: #f6f6f6 transparent transparent; border-style: solid; border-width: 1em 1em 0; content: ""; height: 0; left: 50% !important; bottom: -2em; position: absolute; width: 0; z-index: 0; transform: translate(-50%, -50%); }
.deco-box.flow-arrow.none::before, .deco-box.flow-arrow.none::after { border: none; }

/* -------------------------------------------------------------------------------- 付 番 す る */
.deco-box div.number { position: absolute; width: 2em; height: 2em; background: #333; top: -1em; left: 0; padding: 1em; box-sizing: border-box; color: #fff; vertical-align: middle; line-height: 1em; border-radius: 100px; }
.deco-box div.number span { position: absolute; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);font-weight: bold; }

/* -------------------------------------------------------------------------------------------------------------------------------- table.deco-tb */
table.deco-tb { border-collapse: collapse; /* border: 1px solid #f0f0f0; */ border: 2px solid #ccc; background: #fff; -webkit-text-size-adjust: 100% !important; }
table.deco-tb th { border: 2px solid #ccc; padding: 0.8em 0.5em; text-align: left; background: #f0f0f0; }
table.deco-tb td { border: 2px solid #ccc; padding: 0.8em 0.5em; }
table.deco-tb.min th, table.deco-tb.min td { padding: 0.4em 0.25em; }

/* --------------------------------------------------------------------------------- */
table.deco-tb.line { border-collapse: collapse; border-top: 1px solid #f0f0f0; background: #fff; }
table.deco-tb.line th { border-bottom: 1px solid #ccc; padding: 0.8em 0.5em; text-align: left; background: none; }
table.deco-tb.line td { border-bottom: 1px solid #ccc; padding: 0.8em 0.5em; }

/* -------------------------------------------------------------------------------------------------------------------------------- .resp_block */
@media only screen and (max-width: 768px) { table.resp_block {  width: 100% !important;  border: none; }
table.resp_block thead {  display: none; }
table.resp_block tr {  display: block;  border: none;  margin: 0; }
table.resp_block th {  display: block;  width: 100% !important;  box-sizing: border-box;  border: none;  padding: 0.4em 0.5em;  background: #000;  color: #fff; }
table.resp_block td {  display: block;  width: 100% !important;  box-sizing: border-box;  border: none; }
/* .data-text の class を 付与した 場合のみ */ table.resp_block td.data-text:before {  content: attr(data-text)"";  display: block;  width: 100% !important;  font-weight: bold;  background: #f8f8f8;  border-left: none;  border-right: none;  box-sizing: border-box; }
}
@media only screen and (max-width: 768px) { 
/* -------------------------------------------------------------------------------------------------------------------------------- .responsive-type-outer */ div.responsive-type-outer {  overflow-x: scroll;  -webkit-overflow-scrolling: touch;  position: relative; }
div.responsive-type-outer:before {  position: relative;  content: "※スマートフォンの場合には、横にスクロールして閲覧してください";  display: block;  width: 100%;  line-height: 1.5;  font-size: 1.4rem;  /* color: #fd3b3c; */ color: #777;  border: 2px solid #ededed;  margin-bottom: 1em;  padding: 0.5em;  box-sizing: border-box;  background: #fafafa; }
div.responsive-type-outer table {  table-layout: auto;  white-space: nowrap; }
}

/* ------------------------------------ .google-maps */
@media only screen and (max-width: 768px) { .google-maps {  position: relative;  padding-bottom: 48rem !important;  height: 0;  overflow: hidden; }
.google-maps iframe {}
}
@media only screen and (max-width: 480px) { .google-maps {}
}

/* ------------------------------------ for yotube */
.movie-wrap { position: relative; padding-bottom: 56.25% !important; height: 0; overflow: hidden; }
.movie-wrap iframe, .movie-wrap object, .movie-wrap a { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
@media only screen and (max-width: 768px) { .movie-wrap {  position: relative;  padding-bottom: 56.25% !important;  height: 0;  overflow: hidden; }
.movie-wrap iframe, .movie-wrap object, .movie-wrap a {  position: absolute;  top: 0;  left: 0;  width: 100% !important;  height: 100% !important; }
}

/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- form.form */
.form {}
.form .inline { display: inline; margin: 0; }
.form label, .form .postalcode { white-space: nowrap; }
.form label.normal { white-space: normal; }
.form label { cursor: pointer; }

/* ---------------------------------------------------------- ie .form input[type="text"] .form textarea */
.form input[type="text"], .form input[type="email"], .form input[type="tel"], .form textarea { border-radius: 5px; border: none; border: 2px solid #ccc; background: #f9f9f9; transition: all 0.2s ease-in-out; padding: 0.5em; box-sizing: border-box; /* vertical-align: bottom; */ -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.form textarea { resize: vertical; }
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus { background: #ffffff; outline: none; border: none; border: 2px solid #ccc; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6); }
.form input[type="text"].err, .form input[type="email"].err, .form input[type="tel"].err, .form textarea.err { border: 2px solid #a94442; background: #ffeeef; }

/* input[type="text"]:focus, input[type="email"]:focus,
input[type="tel"]:focus, textarea:focus
{  border: none;  border: 1px solid #eee;  outline: none;  background: #fff;  box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(102, 175, 233, .6); } */
input[type="text"].err:focus, input[type="email"].err:focus, input[type="tel"].err:focus, textarea.err:focus { border: none; border: 2px solid #eee; outline: none; background: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(169, 68, 66, .075); }
input[type="text"]:active, input[type="email"]:active, input[type="tel"]:active, textarea:active { background: #ffffff; outline: none; border: none; border: 2px solid #ccc; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.125) inset; }
input[type="text"]::-moz-focus-inner, input[type="email"]::-moz-focus-inner, input[type="tel"]::-moz-focus-inner, textarea::-moz-focus-inner { padding: 0; border: 0; }
textarea { resize: horizontal; }

/* placeholder color */ ::-webkit-input-placeholder { color: #ccc; opacity: 1; }
:-moz-placeholder { color: #ccc; }
::-moz-placeholder { color: #ccc; opacity: 1; }
:-ms-input-placeholder { color: #ccc; }
:placeholder-shown { color: #ccc
}

/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- select */
.form select { -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 38px; border-radius: 5px; border: 1px solid #ccc; padding: 0 0.5em; cursor: pointer; background: #fff; }
.form select.err { border: 1px solid #a94442; background: #ffeeef; }
.form select::-ms-expand { display: none; }
.form select:focus { -webkit-appearance: none; -moz-appearance: none; appearance: none; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6); }
.form select.err:focus { box-shadow: 0 1px 1px rgba(0, 0, 0, .075) inset, 0 0 8px rgba(169, 68, 66, .2); -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.form div.select-wrap { position: relative; /* width: 50% !important; */ height: 38px; display: inline-block; }
.form div.select-wrap::after { position: absolute; top: 50% !important; right: 10px; display: block; content: ''; width: 0; height: 0; border: 4px solid transparent; border-top: 4px solid #888; pointer-events: none; transform: translate(0, -50%); }

/* ------------------------------- */
.form label:hover { /* color: #2b91fc; */ color: #888; }

/* ------------------------------- radiobutton &amp; checkbox */
.form input[type=radio], .form input[type=checkbox] { /* display: none; */ -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; border: none; background: none; margin-left: 0; /* opacity: 0; */ position: relative; z-index: 9999; }
.form .radio, .form .checkbox { border-radius: 4px; box-sizing: border-box; content: "1"; cursor: pointer; display: inline-block; padding: 6px 12px 6px 6px; position: relative; transition: 0.2s linear 0s; vertical-align: middle; }
.form .radio.err, .form .checkbox.err { /* background-color: #ffeeef; */
}
.form .radio:hover, .form .checkbox:hover { /* background-color: #d7e5ed; */
}
.form .radio:hover:after, .form .checkbox:hover:after { border-color: #000; }
.form .radio:after { transition: border-color 0.2s linear; position: absolute; top: 50% !important; left: 0; display: block; margin-top: -12px; width: 16px; height: 16px; border: 2px solid #ccc; border-radius: 50% !important; content: ''; }
.form .radio:before { /* -webkit-transition: opacity 0.2s linear; *//* transition: opacity 0.2s linear; */ transition: 0.2s linear; position: absolute; top: 65% !important; left: 10px; display: block; margin-top: -7px; width: 0; height: 0; border-radius: 50% !important; background-color: #000000; content: ''; opacity: 1; }

/* .form input[type=radio]:checked:before */ /* + .radio:before */
.form input[type=radio]:checked:before { opacity: 1; top: 50% !important; left: 5px; width: 10px; height: 10px; }
.form .checkbox:after {transition: border-color 0.2s linear; position: absolute; top: 50% !important; /* left: 15px; */ left: 0; display: block; margin-top: -12px; width: 16px; height: 16px; border: 2px solid #ccc; border-radius: 4px; content: ''; }
.form .checkbox:before { transition: opacity 0.2s linear; position: absolute; top: 50% !important; /* left: 21px; */ left: 6px; display: block; margin-top: -9px; width: 5px; height: 9px; border-right: 3px solid #000; border-bottom: 3px solid #000; content: ''; opacity: 0; transform: rotate(45deg); }

/* .form input[type=checkbox]:checked:before */ /* + .checkbox:before */
.form input[type=checkbox]:checked:before { opacity: 1; }

/* -------------------------------------------------------------------------------------------------------- .btn */
.btn { background: #eee; /* margin: 0 auto 1em; */ display: block; padding: 0.5em 1em; /* border: 1px solid #ccc; */ border-radius: 5px; box-sizing: border-box; text-decoration: none; text-align: center; line-height: 1.5; transition: all 0.1s ease-in-out; cursor: pointer; border: 1px solid; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #a2a2a2; -webkit-appearance: none; }
.btn.inline-block { display: inline-block; }
.btn:hover { filter: brightness(85%); -moz-filter: brightness(85%); -webkit-filter: brightness(85%); }

/* btn color */
.btn.default { background: -moz-linear-gradient(top, #FFF 0%, #EEE); background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE)); /* background: #eee; */ color: #111; }
.btn.red { background: -moz-linear-gradient(top, #ff5a5f 0%, #ff5a5f); background: -webkit-gradient(linear, left top, left bottom, from(#ff5a5f), to(#ff5a5f)); background: #ff5b5e; color: #fff; }
.btn.purple { background: -moz-linear-gradient(top, #6f5499 0%, #6f5499); background: -webkit-gradient(linear, left top, left bottom, from(#6f5499), to(#6f5499)); background: #cf8ae5; color: #fff; }
.btn.blue { background: -moz-linear-gradient(top, #337ab7 0%, #337ab7); background: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#337ab7)); background: #4b8efa; color: #fff; }
.btn.green { background: -moz-linear-gradient(top, #30a6b1 0%, #30a6b1); background: -webkit-gradient(linear, left top, left bottom, from(#30a6b1), to(#30a6b1)); background: #6dcc54; color: #fff; }
.btn.yellow { background: -moz-linear-gradient(top, #faee2b 0%, #faee2b); background: -webkit-gradient(linear, left top, left bottom, from(#faee2b), to(#faee2b)); background: #f7cf4b; color: #666; }
.btn.orange { background: -moz-linear-gradient(top, #f89406 0%, #f89406); background: -webkit-gradient(linear, left top, left bottom, from(#f89406), to(#f89406)); background: #ffa244; color: #fff; }
div.contents div.link { position: relative; }
div.contents div.link a { display: block; margin-left: auto; margin-right: auto; position: relative; background: #000; color: #fff; padding: 1rem 2rem; box-sizing: border-box; text-align: center; text-decoration: none; border: 1px solid #000; transform: 0.25s all; }
div.contents div.link a:after { position: absolute; top: 50%; right: 1rem; display: block; width: 1.0rem; height: 1.0rem; content: ''; transition: all .2s ease-in-out; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #fff; border-right: 1px solid #fff; }
div.contents div.link a:before { position: absolute; top: 50%; right: 0.8rem; width: 2rem; height: 0.1rem; content: ""; background: #fff; transform: translateY(-50%);  }
div.contents div.link a span { position: relative; display: block; transform: 0.25s all; }
div.contents div.link a span:after { border: 1px solid #000; /* background: #fff; */ margin-left: -1rem; margin-right: -1rem; margin-top: -1rem; margin-bottom: -1rem; padding-left: 1rem; padding-right: 1rem; padding-top: 1rem; padding-bottom: 1rem; width: 100%; height: 100%; pointer-events: none; position: absolute; content: ""; top: 0.5rem; left: 0.5rem; z-index: -1; background: #fff; transform: 0.25s all; }

/* */
.btn.disabled { pointer-events: none; background: #ccc; color: #ddd; }


/* -------------------------------------------------------------------------------------------------------- tab */
#tab01:target ~ div.tab-contents div.content:nth-child(1), #tab02:target ~ div.tab-contents div.content:nth-child(2), #tab03:target ~ div.tab-contents div.content:nth-child(3) { display: block; }
#tab02:target ~ div.tab-contents div.content:first-child, #tab03:target ~ div.tab-contents div.content:first-child { display: none; }
#tab01:target ~ ul.tab-btn li:nth-child(1) a, #tab02:target ~ ul.tab-btn li:nth-child(2) a, #tab03:target ~ ul.tab-btn li:nth-child(3) a { background: #333; color: #fff; }
#tab01:target ~ ul.tab-btn li:not(:nth-child(1)) a, #tab02:target ~ ul.tab-btn li:not(:nth-child(2)) a, #tab03:target ~ ul.tab-btn li:not(:nth-child(3)) a { background: #ccc; color: #333; }
div.trigger { display: none; }
ul.tab-btn { margin: 0; padding: 0; }
ul.tab-btn li { margin: 0; padding: 0; position: relative; display: inline; }
ul.tab-btn li::before { background: none; content: ""; height: auto; left: 0; margin: 0; position: relative; top: 0; transition: none; width: auto; }
ul.tab-btn li a { display: inline-block; padding: 0.5em 1em; background: #ccc; border-radius: 5px 5px 0 0; text-decoration: none; }
#tab01 ~ ul.tab-btn li:nth-child(1) a, ul.tab-btn li a:hover { background: #333; color: #fff; }
div.tab-contents { width: 100% !important; position: relative; }
div.tab-contents div.content { position: relative; display: none; top: 0; width: 100% !important; padding: 1em; box-sizing: border-box; border: 2px solid #ccc; border-radius: 0px 5px 5px 5px; animation: fadeIn 0.2s; }
div.tab-contents div.content:first-child { display: block; }

@media print { 
div.tab-contents div.content {  display: block; }
}

/* -------------------------------------------------------------------------------------------------------- .accordion */
div.accordion-trigger { position: relative; cursor: pointer; background: #f8f8f8; }
div.accordion-trigger span:after { width: 0.5em; height: 0.5em; position: absolute; top: 50% !important; right: 1em; content: ""; border-top: 2px solid #333; border-right: 2px solid #333; transform: translate(0, -50%) rotate(135deg); transition: all 0.2s; }
div.accordion-trigger.active span:after { transform: translate(0, -50%) rotate(-45deg); }
div.accordion-contents { /* div.confirm-trigger + div.confirm-list { */ max-height: 0; overflow: hidden; transition: all 0.2s; position: relative; z-index: 1000; /* top: 60px; */ /* *//* background: #fbfbf1; */ background: #fff; width: 100% !important; }
div.accordion-contents.active { max-height: 5000px; overflow: hidden; }

/* -------------------------------------------------------------------- モーダル 表示 */
div.wrapper {}
/* div.contents-wrapper.disabled {} */
div.wrapper.disabled { position: fixed; width: 100% !important; height: 100% !important; overflow: hidden; cursor: pointer; }
div.wrapper.disabled:before { width: 100% !important; height: 100% !important; background: rgba(0, 0, 0, 0.75); pointer-events: none; position: absolute; top: 0; left: 0; content: ""; z-index: 10000; }
.modal-open { cursor: pointer; }
div.modal { position: fixed; top: 0; left: 0; display: none; width: 100% !important; height: 100% !important; transition: 0.25s all; }
div.modal.active { display: block; z-index: 9999; }
div.modal div.modal-bg { /* background-color: rgba(0, 0, 0, 0.7); */ display: block; width: 100% !important; height: 100% !important; position: absolute; /* z-index: 500; */ z-index: 9999; content: ""; background-color: rgba(0, 0, 0, 0.7); top: 0; left: 0; cursor: pointer; /* overflow-y: scroll;	 */ /* モーダル 内 を スクロール ? */ }
div.modal div.modal-contents { /* top: 5% !important; */ top: 50% !important; left: 50% !important; width: 90% !important; height: auto; /* min-height: 90% !important; */ /* モーダル 内 を スクロール ? */ position: absolute; /* padding: 5% !important; *//* padding: 2em 1em 0; */ box-sizing: border-box; /* min-height: 480px; */ z-index: 10000; transform: translateX(-50%) translateY(-50%); /* max-height: 90% !important; *//* background: #fff; */ background: #000; transition: 0.25s all; }

/* モーダルの たてのいちを 制御 ひとまず 30% まで */
div.modal div.modal-contents.top5 { top: 5% !important; }
div.modal div.modal-contents.top10 { top: 10% !important; }
div.modal div.modal-contents.top15 { top: 15% !important; }
div.modal div.modal-contents.top20 { top: 20% !important; }
div.modal div.modal-contents.top25 { top: 25% !important; }
div.modal div.modal-contents.top30 { top: 30% !important; }
div.modal div.modal-contents.top35 { top: 35% !important; }
div.modal div.modal-contents.top40 { top: 40% !important; }
div.modal div.modal-contents.top45 { top: 45% !important; }
div.modal div.modal-contents.top50 { top: 50% !important; }
div.modal div.modal-contents.top55 { top: 55% !important; }
div.modal div.modal-contents.top60 { top: 60% !important; }
div.modal div.modal-contents.top65 { top: 65% !important; }
div.modal div.modal-contents.top70 { top: 70% !important; }
div.modal div.modal-contents.top75 { top: 75% !important; }
div.modal div.modal-contents.top80 { top: 80% !important; }
div.modal div.modal-contents.top85 { top: 85% !important; }
div.modal div.modal-contents.top90 { top: 90% !important; }
div.modal div.modal-contents.top95 { top: 95% !important; }
div.modal div.modal-contents.top100 { top: 100% !important; }

/* モーダルの たてのいちを 制御 絶対値 してい */
div.modal div.modal-contents.top10px { top: 10px; }
div.modal div.modal-contents.top20px { top: 20px; }
div.modal div.modal-contents.top30px { top: 30px; }
div.modal div.modal-contents.top40px { top: 40px; }
div.modal div.modal-contents.top50px { top: 50px; }
div.modal div.modal-contents.top60px { top: 60px; }
div.modal div.modal-contents.top70px { top: 70px; }
div.modal div.modal-contents.top80px { top: 80px; }
div.modal div.modal-contents.top90px { top: 90px; }
div.modal div.modal-contents.top100px { top: 100px; }

/* div.modal div.modal-contents div.modal-contents-inner.bgc-black { background: #000; color: #fff; }
div.modal div.modal-contents div.modal-contents-inner.bgc-white { background: #fff; color: #333; }
*/
div.modal div.modal-contents div.modal-contents-inner { padding: 1em; /* margin-bottom: 5% !important; */ box-sizing: border-box; /* min-height: 100vh; *//* min-height: 90vh; *//* min-height: 80vh; */ /* モーダル 内 を スクロール ? */ padding-top: 3.5rem; overflow-y: scroll; /* モーダル 内 を スクロール ? *//* max-height: 90vh; */ /* モーダル 内 を スクロール ? *//* max-height: 80vh; */ /* モーダル 内 を スクロール ? */ height: 90vh; max-height: 90vh; }

/* モーダル の たかさ の 制御 */
div.modal div.modal-contents.minh10 { min-height: 10% !important; }
div.modal div.modal-contents.minh20 { min-height: 20% !important; }
div.modal div.modal-contents.minh30 { min-height: 30% !important; }
div.modal div.modal-contents.minh40 { min-height: 40% !important; }
div.modal div.modal-contents.minh50 { min-height: 50% !important; }
div.modal div.modal-contents.minh60 { min-height: 60% !important; }
div.modal div.modal-contents.minh70 { min-height: 70% !important; }
div.modal div.modal-contents.minh80 { min-height: 80% !important; }
div.modal div.modal-contents.maxh10 { max-height: 10% !important; }
div.modal div.modal-contents.maxh20 { max-height: 20% !important; }
div.modal div.modal-contents.maxh30 { max-height: 30% !important; }
div.modal div.modal-contents.maxh40 { max-height: 40% !important; }
div.modal div.modal-contents.maxh50 { max-height: 50% !important; }
div.modal div.modal-contents.maxh60 { max-height: 60% !important; }
div.modal div.modal-contents.maxh70 { max-height: 70% !important; }
div.modal div.modal-contents.maxh80 { max-height: 80% !important; }
div.modal div.modal-contents div.modal-contents-inner.minvh10 { min-height: 10vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh20 { min-height: 20vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh30 { min-height: 30vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh40 { min-height: 40vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh50 { min-height: 50vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh60 { min-height: 60vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh70 { min-height: 70vh; }
div.modal div.modal-contents div.modal-contents-inner.minvh80 { min-height: 80vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh10 { max-height: 10vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh20 { max-height: 20vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh30 { max-height: 30vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh40 { max-height: 40vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh50 { max-height: 50vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh60 { max-height: 60vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh70 { max-height: 70vh; }
div.modal div.modal-contents div.modal-contents-inner.maxvh80 { max-height: 80vh; }

/* */
@media only screen and (max-width: 768px) { 
div.modal div.modal-contents.resp_maxh50 {  max-height: 50% !important; }
div.modal div.modal-contents div.modal-contents-inner.resp_maxvh50 {  max-height: 50vh; }
}

/*　*/
/* コンテンツ の 表示位置 を 固定値 の 場合 */
div.title-position-absolute { margin-top: 120px; }
/* コンテンツ の 表示位置 を 固定値 の 場合 */
div.title-position-absolute.min { margin-top: 50px; }
/* コンテンツ の 表示位置 を 固定値 の 場合 */
div.title-position-absolute.top30 { margin-top: 30px; }

/* close-btn ------------------------------------------------------ */
div.modal div.modal-close { position: absolute; top: 0.5em; right: 0.5em; /* width: 40px; height: 40px; */ width: 40px; height: 40px; border-radius: 1000px; display: block; /* background: #f0f0f0; *//* background: #ccc; *//* background: #d30a1a; */ background: #ff0000; /* border-radius: 1000px; *//* border: 1px solid #5a4a18; *//* border: 1px solid #ccc; *//* border: 3px solid #000; *//* box-sizing: border-box; */ cursor: pointer; z-index: 10000; }
div.modal div.modal-close span { position: absolute; left: 0; display: inline-block; box-sizing: border-box; width: 20px; height: 4px; transition: all .4s; /* background: #65a248; */ background: #fff; border-radius: 1000px; }
div.modal div.modal-close span:nth-of-type(1) { /* top: 13px; left: 11px; */ top: 50% !important; left: 50% !important; }
div.modal div.modal-close span:nth-of-type(2) { /* top: 25px; left: 11px; */ top: 50% !important; left: 50% !important; }
div.modal div.modal-close span:nth-of-type(1) { transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
div.modal div.modal-close span:nth-of-type(2) { transform: translateX(-50%) translateY(-50%) rotate(45deg); }

/* 印刷用 */
@media print { header {  display: none; }
}

/* addition */
div.anchor-link { margin-top: 0; margin-bottom: 4rem; /*max-width: 90rem;*/ margin-left: auto; margin-right: auto; }
div.anchor-link ul { padding-top: 3rem; padding-bottom: 3rem; /* border: 2px solid #000; */ border-radius: 0.5rem; background: #f0f0f0; display:flex; flex-flow:row wrap; justify-content:space-around; }

/* div.anchor-link ul li { width: 20.00%; float: left; box-sizing: border-box; } */
div.anchor-link ul li { width: 14.28%; /*float: left;*/ box-sizing: border-box; }
div.anchor-link ul li a { display: block; text-align: center; font-size: 1.4rem; white-space: nowrap; text-decoration: none; transition: 0.25s all; }
div.anchor-link ul li a:hover { opacity: 0.5; }
div.anchor-link ul li a img { display: block; width: 100%; max-width: 10.25rem !important; margin-left: auto; margin-right: auto; border-radius: 0.5rem; }

@media only screen and (max-width: 768px) { 
div.anchor-link ul li {  width: 33.33%;  float: left;  margin-bottom: 2rem; }
div.anchor-link ul li a img {  max-width: 10.5rem !important; }
}

@media only screen and (max-width: 480px) { 
div.anchor-link ul li {  width: 50.00%;  float: left;  margin-bottom: 2rem; }
}

div.contents p { font-size: 1.8rem; line-height: 2; }
div.page-title-wrap div.description h2 { font-weight: normal; }
div.scroller div.button { overflow: visible !important; }

@media only screen and (max-width: 768px) { 
div.scroller div.button a img {  position: relative;  top: -1rem; }
}

/* */
section.event div#calendar { margin-bottom: 4rem; }

/* */
.language_la { display: inline-block; font-weight: bold; font-size: 1.4rem; padding: 0 1rem; margin: 0 1rem; background: #cc6600; color: #fff; }
div.contents table p { margin: 0 !important; line-height: 1.5; }
div.contents table.support-table p { font-size: 1.4rem; }


.flex { display:flex; flex-flow:row wrap; justify-content:space-between; position: relative; }
.flex.rowre { flex-flow: row-reverse wrap; }
.flex.jcfs { justify-content:flex-start; }
.flex.jcc { justify-content:center; }
.flex.aic { align-items: center; }
.flex.aifs { align-items: flex-start; }
.flex.aife { align-items: flex-end; }
.flex .fg1 { flex-grow: 1; }