@charset "UTF-8";
/* //////////////////////////////////////////////////

　common style for modern browser

　Version: 3.0

////////////////////////////////////////////////// */
/*
  Base
-------------------------------------------------- */
/*
　各要素のスタイルを初期化し、デフォルトのスタイルを定義
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, details, figure, figcaption, header, footer, main, nav, section, time {
  border: 0;
  font-size: 100%;
  font: inherit;
  margin: 0;
  padding: 0;
}

article, aside, details, figure, figcaption, header, footer, main, nav, section {
  display: block;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: none;
}

blockquote, q {
  quotes: none;
}

img {
  height: auto;
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
}

a img {
  border: 0;
}

button {
  border: none;
  background: none;
  margin: 0;
  padding: 0;
  outline: none;
  font-size: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

img, object, video, iframe {
  max-width: 100%;
}

* {
  box-sizing: border-box;
  background-clip: padding-box;
}

/*
Module
-------------------------------------------------- */
/*
　あらゆる再利用できるオブジェクト
　ブロックのエレメントを表すルールは"_"で始まる
　エレメントのバリエーションを表すルールは"__"で始まる
*/
/* grid */
.grid::after{content: "";display: block;clear: both;}
.grid > *{float: left;}
.grid > *.__right{float: right;}
/* grid table */
.grid-table{display: table;width: 100%;}
.grid-table.fixed{table-layout: fixed;}
.grid-table > *{display: table-cell;vertical-align: top;}
/* grid inline-block */
.grid-inline{letter-spacing: -.4em;}
.grid-inline > *{display: inline-block;letter-spacing: normal;}
/* margin */
.m60{margin-right: -30px;margin-left: -30px;}
.m60 > *{padding-right: 30px;padding-left: 30px;}
.m50{margin-right: -25px;margin-left: -25px;}
.m50 > *{padding-right: 25px;padding-left: 25px;}
.m40{margin-right: -20px;margin-left: -20px;}
.m40 > *{padding-right: 20px;padding-left: 20px;}
.m30{margin-right: -15px;margin-left: -15px;}
.m30 > *{padding-right: 15px;padding-left: 15px;}
.m20{margin-right: -10px;margin-left: -10px;}
.m20 > *{padding-right: 10px;padding-left: 10px;}
.m10{margin-right: -5px;margin-left: -5px;}
.m10 > *{padding-right: 5px;padding-left: 5px;}
@media screen and (max-width: 960px){.m60, .m50{margin-right: -15px;margin-left: -15px;}
.m60 > *, .m50 > *{padding-right: 15px;padding-left: 15px;}
.m40, .m30{margin-right: -10px;margin-left: -10px;}
.m40 > *, .m30 > *{padding-right: 10px;padding-left: 10px;}
.m20{margin-right: -5px;margin-left: -5px;}
.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 */
.flex{display: flex;flex-wrap: wrap;}
.flex.column{flex-direction: column;}
.flex.reverse{flex-direction: row-reverse;}
.flex.center{align-items: center;}
.flex.space{justify-content: space-between;}
@media screen and (max-width: 520px){
  .flex > *{margin-bottom: 20px;}
  .flex > *:last-child{margin-bottom: inherit;}
  .flex{flex-direction: column;}
  .flex.reverse-sp {flex-direction: column-reverse;}
  .flex.row-sp {flex-direction: row;}
  .flex.row-sp.reverse-sp {flex-direction: row-reverse;}
  .flex > * + *{margin-top: 0px;}
}
/* other element */
.ul-disc > li{list-style: disc;margin-left: 18px;}
.ol-decimal > li{list-style: decimal;margin-left: 18px;}
/*
State
-------------------------------------------------- */
.hidden{display: none;}

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

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

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

.flex.outsider .obox-r {
  flex: 1;
  margin-right: calc(50% - 50vw);
}
.flex.outsider .obox-l {
  flex: 1;
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 520px) {
  .flex.outsider .obox-r{margin-right:0;}
  .flex.outsider .obox-l{margin-left:0;}
}
.shift-rb {
  height: 500px;
  position: relative;
}
@media screen and (max-width: 960px) {
  .shift-rb {
    height: 50vw;
  }
}
.shift-rb div:nth-child(2) {
  position: absolute;
  right: 0;
  bottom: 0;
}
pre,code{
  font-family: "Courier Prime", serif;
  font-weight: 400;
  font-style:italic;
}