@charset "UTF-8";

/* grid */
:root .grid::after{content: "";display: block;clear: both;}
:root .grid > *{float: left;}
:root .grid > *.__right{float: right;}
/* grid table */
:root .grid-table{display: table;width: 100%;}
:root .grid-table.fixed{table-layout: fixed;}
:root .grid-table > *{display: table-cell;vertical-align: top;}
/* grid inline-block */
:root .grid-inline{letter-spacing: -.4em;}
:root .grid-inline > *{display: inline-block;letter-spacing: normal;}
/* margin */
:root .m60{margin-right: -30px;margin-left: -30px;}
:root .m60 > *{padding-right: 30px;padding-left: 30px;}
:root .m50{margin-right: -25px;margin-left: -25px;}
:root .m50 > *{padding-right: 25px;padding-left: 25px;}
:root .m40{margin-right: -20px;margin-left: -20px;}
:root .m40 > *{padding-right: 20px;padding-left: 20px;}
:root .m30{margin-right: -15px;margin-left: -15px;}
:root .m30 > *{padding-right: 15px;padding-left: 15px;}
:root .m20{margin-right: -10px;margin-left: -10px;}
:root .m20 > *{padding-right: 10px;padding-left: 10px;}
:root .m10{margin-right: -5px;margin-left: -5px;}
:root .m10 > *{padding-right: 5px;padding-left: 5px;}
@media screen and (max-width: 960px){.m60, .m50{margin-right: -15px;margin-left: -15px;}
:root .m60 > *, .m50 > *{padding-right: 15px;padding-left: 15px;}
:root .m40, .m30{margin-right: -10px;margin-left: -10px;}
:root .m40 > *, .m30 > *{padding-right: 10px;padding-left: 10px;}
:root .m20{margin-right: -5px;margin-left: -5px;}
:root .m20 > *{padding-right: 5px;padding-left: 5px;}
}
/* column */
:root .__col1{width: 8.3333%;}
:root .__col2{width: 16.6666%;}
:root .__col3{width: 25%;}
:root .__col4{width: 33.33%;}
:root .__col5{width: 41.6666%;}
:root .__col6{width: 50%;}
:root .__col7{width: 58.3333%;}
:root .__col8{width: 66.66%;}
:root .__col9{width: 75%;}
:root .__col10{width: 83.3333%;}
:root .__col11{width: 91.6666%;}
:root .__col12{width: 100%;}
:root .__col_d5{width: 20%;}
:root .__col_d10{width: 10%;}

@media screen and (max-width: 960px){/* :root .__col1,:root .__col2, :root .__col3, :root .__col4, :root .__col5, :root .__col6, :root .__col7, :root .__col8, :root .__col9, :root .__col10,:root .__col_d5,:root .__col_d10{width: 100%;}*/
:root .__col1-tab{width: 8.3333%;}
:root .__col2-tab{width: 16.6666%;}
:root .__col3-tab{width: 25%;}
:root .__col4-tab{width: 33.33%;}
:root .__col5-tab{width: 41.6666%;}
:root .__col6-tab{width: 50%;}
:root .__col7-tab{width: 58.3333%;}
:root .__col8-tab{width: 66.67%;}
:root .__col9-tab{width: 75%;}
:root .__col10-tab{width: 83.3333%;}
:root .__col11-tab{width: 91.6666%;}
:root .__col12-tab{width: 100%;}
}
@media screen and (max-width: 520px){:root .__col1, :root .__col2, :root .__col3, :root .__col4, :root .__col5, :root .__col6,
:root .__col7, :root .__col8, :root .__col9, :root .__col10, :root .__col11,
:root .__col_d5, :root .__col_d10{width: 100%;}
:root .__col1-sp{width: 8.3333%;}
:root .__col2-sp{width: 16.6666%;}
:root .__col3-sp{width: 25%;}
:root .__col4-sp{width: 33.33%;}
:root .__col5-sp{width: 41.6666%;}
:root .__col6-sp{width: 50%;}
:root .__col7-sp{width: 58.3333%;}
:root .__col8-sp{width: 66.67%;}
:root .__col9-sp{width: 75%;}
:root .__col10-sp{width: 83.3333%;}
:root .__col11-sp{width: 91.6666%;}
:root .__col12-sp{width: 100%;}
}
/* flexbox */
:root .flex{display: flex;flex-wrap: wrap;}
:root .flex.column{flex-direction: column;}
:root .flex.reverse{flex-direction: row-reverse;}
:root .flex.center{align-items: center;}
:root .flex.space{justify-content: space-between;}
:root .flex > *{margin-bottom: 20px;}
:root .flex > *:last-child{margin-bottom: inherit;}
@media screen and (max-width: 520px){.flex{flex-direction: column;}
:root .flex.reverse{flex-direction: row-reverse;}
:root .flex.row-sp{flex-direction: row;}
:root .flex > * + *{margin-top: 0px;}
}
/* other element */
:root .ul-disc > li{list-style: disc;margin-left: 18px;}
:root .ol-decimal > li{list-style: decimal;margin-left: 18px;}
/*
State
-------------------------------------------------- */
:root .hidden{display: none;}

:root .hidden-pc {display: none;}
@media screen and (max-width: 960px) {
:root .hidden-pc {display: block;}
:root .hidden-pc.inline {display: inline;}
:root .hidden-tab {display: none;}
}
@media screen and (max-width: 560px) {
:root .hidden-pc.hidden-tab {display: block;}
:root .hidden-sp {display: none;}
}
/*
Utillity
-------------------------------------------------- */
:root .clearfix::after{content: "";display: block;clear: both;}
:root .clear{clear: both;}
:root .ofH{overflow: hidden;}
:root .poR{position: relative;}
:root .poA{position: absolute;}
:root .inline{display: inline !important;}
:root .block{display: block !important;}
:root .static{position: static !important;}
:root .border-bottom-none{border-bottom: none !important;}
@media screen and (max-width: 520px){.inline-sp{display: inline;}
:root .block-sp{display: block;}
}
:root .center-block, .mx-auto{margin-left: auto !important;margin-right: auto !important;}
:root .vc{display: flex;flex-direction: column;justify-content: center;align-items: center;}
/* Float */
:root .flL{float: left;}
:root .flR{float: right;}
:root .flL.m-auto{margin-bottom: 1.5em;margin-right: 3em;}
:root .flR.m-auto{margin-bottom: 1.5em;margin-left: 3em;}
/* Margin */
:root .m00{margin: 0 !important;}
:root .mt0{margin-top: 0 !important;}
:root .mb0{margin-bottom: 0 !important;}
:root .mr0{margin-right: 0 !important;}
:root .mt1{margin-top: 1px !important;}
:root .mb1{margin-bottom: 1px !important;}
:root .mt05,.mt5{margin-top: 5px !important;}
:root .mr05,.mr5{margin-right: 5px !important;}
:root .mb05,.mb5{margin-bottom: 5px !important;}
:root .ml05,.ml5{margin-left: 5px !important;}
:root .mt10{margin-top: 10px !important;}
:root .mr10{margin-right: 10px !important;}
:root .mb10{margin-bottom: 10px !important;}
:root .ml10{margin-left: 10px !important;}
:root .mt15{margin-top: 15px !important;}
:root .mr15{margin-right: 15px !important;}
:root .mb15{margin-bottom: 15px !important;}
:root .ml15{margin-left: 15px !important;}
:root .mt20{margin-top: 20px !important;}
:root .mr20{margin-right: 20px !important;}
:root .mb20{margin-bottom: 20px !important;}
:root .ml20{margin-left: 20px !important;}
:root .mt25{margin-top: 25px !important;}
:root .mr25{margin-right: 25px !important;}
:root .mb25{margin-bottom: 25px !important;}
:root .ml25{margin-left: 25px !important;}
:root .mt30{margin-top: 30px !important;}
:root .mr30{margin-right: 30px !important;}
:root .mb30{margin-bottom: 30px !important;}
:root .ml30{margin-left: 30px !important;}
:root .mt40{margin-top: 40px !important;}
:root .mr40{margin-right: 40px !important;}
:root .mb40{margin-bottom: 40px !important;}
:root .ml40{margin-left: 40px !important;}
:root .mt50{margin-top: 50px !important;}
:root .mr50{margin-right: 50px !important;}
:root .mb50{margin-bottom: 50px !important;}
:root .ml50{margin-left: 50px !important;}
:root .pt05{padding-top: 5px !important;}
:root .pr05{padding-right: 5px !important;}
:root .pb05{padding-bottom: 5px !important;}
:root .pl05{padding-left: 5px !important;}
:root .pt10{padding-top: 10px !important;}
:root .pr10{padding-right: 10px !important;}
:root .pb10{padding-bottom: 10px !important;}
:root .pl10{padding-left: 10px !important;}
:root .pt20{padding-top: 20px !important;}
:root .pr20{padding-right: 20px !important;}
:root .pb20{padding-bottom: 20px !important;}
:root .pl20{padding-left: 20px !important;}
:root .pt30{padding-top: 30px !important;}
:root .pr30{padding-right: 30px !important;}
:root .pb30{padding-bottom: 30px !important;}
:root .pl30{padding-left: 30px !important;}
:root .mt60{margin-top: 60px !important;}
:root .mt70{margin-top: 70px !important;}
:root .mt80{margin-top: 80px !important;}
:root .mt90{margin-top: 90px !important;}
:root .mt100{margin-top: 100px !important;}
:root .mt-40{margin-top: -40px}
:root .mb60{margin-bottom: 60px !important;}
:root .mb70{margin-bottom: 70px !important;}
:root .mb80{margin-bottom: 80px !important;}
:root .mb90{margin-bottom: 90px !important;}
:root .mb100{margin-bottom: 100px !important;}
:root .pd0{padding: 0 !important;}
:root .pd10 {padding: 10px !important;}
:root .pd20{padding: 20px !important;}
:root .pd40{padding: 40px !important;}
@media screen and (max-width: 520px){
:root .mb-1-sp {margin-top: -1px;}
:root .pd10-sp{padding: 10px !important;}
:root .mt60-sp{margin-top: 60px !important;}
:root .mt70-sp{margin-top: 70px !important;}
:root .mt80-sp{margin-top: 80px !important;}
:root .mt90-sp{margin-top: 90px !important;}
:root .mt100-sp{margin-top: 100px !important;}
:root .mb20-sp{margin-bottom: 20px !important;}
:root .mb40-sp{margin-bottom: 40px !important;}
:root .mb60-sp{margin-bottom: 60px !important;}
:root .mb70-sp{margin-bottom: 70px !important;}
:root .mb80-sp{margin-bottom: 80px !important;}
:root .mb90-sp{margin-bottom: 90px !important;}
:root .mb100-sp{margin-bottom: 100px !important;}
:root .pd20-sp{padding: 20px !important;}
}
:root .h100p{height: 100% !important;}
:root .w100{width: 100px !important;max-width: 100px !important;}
:root .w1000{width: 1000px !important;max-width: 1000px !important;}
:root .w1200{width: 1200px !important;max-width: 1200px !important;}
:root .h-auto{height: auto !important;}
@media screen and (max-width: 520px){
:root .h100p-sp{height: 100% !important;}
:root .w100-sp{width: 100px !important;max-width: 100px !important;}
:root .w600-sp{width: 600px !important;max-width: 600px !important;}
:root .w800-sp{width: 800px !important;max-width: 800px !important;}
:root .w1000-sp{width: 1000px !important;max-width: 1000px !important;}
:root .w1200-sp{width: 1200px !important;max-width: 1200px !important;}
:root .h60vh-sp{height: calc(60vh);}
}
:root .mw-unset{max-width: unset}
:root .brd{border-radius: 10px !important;}
/* Text */
:root .fwB{font-weight: 700 !important;}
:root .fwN{font-weight: normal !important;}
:root .ffYG{font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif !important;}
:root .ffYM{font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", serif !important;}
:root .fs10,.fz10 { font-size: 0.625em !important}
:root .fs12,.fz12 { font-size: 0.75em !important}
:root .fs14,.fz14 { font-size: 0.875em !important}
:root .fs18,.fz18 { font-size: 1.125em !important}
:root .fs20,.fz20 { font-size: 1.25em !important}
:root .fs24,.fz24 { font-size: 1.5em !important}
:root .fs28,.fz28 { font-size: 1.75em !important}
:root .fs28,.fz28 { font-size: 1.75em !important}
:root .lh10{line-height: 1 !important;}
:root .lh12{line-height: 1.2 !important;}
:root .lh15{line-height: 1.5 !important;}
:root .lh20,.lh2{line-height: 2 !important;}
sup, sub{line-height: 1;font-size: .5em;}
/* bg */
:root .bg-gray{background-color: #eee !important;;}
:root .bg-w {background-color: #fff !important;}
:root .bg-pale-red {background-color: rgb(255, 207, 207);}

:root .fcW{color: #fff !important;}
:root .fcG{color: #eee !important;}
:root .fcGR{color: green !important;}
:root .fcBK{color: #000 !important;}
:root .fcR{color: red !important;}
:root .taR{text-align: right !important;}
:root .taL{text-align: left !important;}
:root .taC{text-align: center !important;}
:root .vaM{vertical-align: middle;}
:root .indent{padding-left: 1em;text-indent: -1em;}
/* Image */
a img{backface-visibility: hidden;transition: all .2s;}
a:hover img{opacity: .8;}
:root .text-plane{text-decoration: none !important;text-decoration-line:none !important}
*[class|="logo"] a:hover img{opacity: 1;}
img.fit{width: 100%;height: auto;}
@media screen and (max-width: 960px){img.retina{zoom: .75;}
:root .taR-tab{text-align: right !important;}
:root .taL-tab{text-align: left !important;}
:root .taC-tab{text-align: center !important;}
}
@media screen and (max-width: 520px){img.retina{zoom: .5;}
:root .taR-sp{text-align: right !important;}
:root .taL-sp{text-align: left !important;}
:root .taC-sp{text-align: center !important;}
}
/* bg */
:root .bg-gray,.label.gray{background-color: #666 !important;}
:root .pos_mid,.pos-mid{display: flex;align-items: center;}
@media screen and (max-width: 960px){
:root .pos_mid,.pos-mid{align-items: stretch;}
:root .pos_mid-sp,.pos-mid-sp{align-items: middle;}
:root .pos_mid em,.pos-mid em{margin-bottom: 15px;}
}
:root .pos_center,.pos-center{display: flex;justify-content: center;}
@media screen and (min-width: 768px){.grecaptcha-badge{display: none;}}
:root .youtube{width: 100%;aspect-ratio: 16 / 9;}
:root .youtube iframe{width: 100% !important;height: 100% !important;}
@media screen and (min-width: 768px) {
  a[href^='tel:'] {pointer-events: none !important;}
}

:root .flex.g60{gap: 60px;}
:root .flex.g40{gap: 40px;}
:root .flex.g20{gap: 20px;}
:root .flex.outsider {
  justify-content: space-between;
  /* max-width: 1000px; */
  /* margin: auto; */
}

:root .flex.outsider .obox-r {
  flex: 1;
  margin-right: calc(50% - 50vw);
}
:root .flex.outsider .obox-l {
  flex: 1;
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 520px) {
:root .flex.outsider .obox-r{margin-right:0;}
:root .flex.outsider .obox-l{margin-left:0;}
}