@charset "UTF-8";
@font-face {
  font-family: "hiragino";
  src: url("../fonts/hiragino_w3.woff2") format("woff2"), url("../fonts/hiragino_w3.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "hiragino";
  src: url("../fonts/hiragino_w5.woff2") format("woff2"), url("../fonts/hiragino_w5.ttf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "KaiminTuStd";
  src: url("../fonts/KaiminTuStd_R.woff") format("woff"), url("../fonts/KaiminTuStd_R.woff2") format("woff2"), url("../fonts/KaiminTuStd_R.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "KaiminTuStd";
  src: url("../fonts/KaiminTuStd_B.woff") format("woff"), url("../fonts/KaiminTuStd_B.woff2") format("woff2"), url("../fonts/KaiminTuStd_B.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas";
  src: url("../fonts/BebasNeue_R.woff") format("woff"), url("../fonts/BebasNeue_R.woff2") format("woff2"), url("../fonts/BebasNeue_R.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSerif";
  src: url("../fonts/NotoSerifJP-Medium.woff") format("woff"), url("../fonts/NotoSerifJP-Medium.woff2") format("woff2"), url("../fonts/NotoSerifJP-Medium.ttf") format("trueype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* reset styles */
* {
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

html, body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, figure {
  margin: 0;
  padding: 0;
  font-family: "hiragino", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "MS Ｐゴシック", sans-serif;
  line-height: 160%;
  zoom: 1;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}

/*__________________________________________________________________________*/
#Wrapper {
  position: relative;
  z-index: 1;
}

/* img
/*__________________________________________________________________________*/
img {
  margin: 0px;
  padding: 0px;
}

a img {
  border: none;
  overflow: hidden;
  outline: none;
}

figure {
  margin: 0;
  padding: 0;
  display: block;
  height: auto;
}

/*それ以外の文字を隠すには▼▼これを使ってください
/*__________________________________________________________________________*/
em {
  font-size: 1px;
  visibility: hidden;
  text-decoration: none;
}

/* ▼リンククリック時の点線を消す
/*__________________________________________________________________________*/
a {
  outline: none;
}

/* フォントサイズなど
/*__________________________________________________________________________*/
.font48 {
  font-size: 48px;
}
@media screen and (min-width: 768.9px) {
  .font48 {
    font-size: clamp(44px, 2.501vw, 48px);
  }
}
@media screen and (max-width: 1024px) {
  .font48 {
    font-size: clamp(40px, 4.296vw, 44px);
  }
}
@media screen and (max-width: 768px) {
  .font48 {
    font-size: clamp(36px, 5.208vw, 40px);
  }
}
@media screen and (max-width: 480px) {
  .font48 {
    font-size: clamp(30px, 7.5vw, 36px);
  }
}

/*__________________________________________________________________________*/
.font46 {
  font-size: 46px;
}
@media screen and (min-width: 768.9px) {
  .font46 {
    font-size: clamp(42px, 2.605vw, 46px);
  }
}
@media screen and (max-width: 1024px) {
  .font46 {
    font-size: clamp(38px, 4.492vw, 42px);
  }
}
@media screen and (max-width: 768px) {
  .font46 {
    font-size: clamp(34px, 5.468vw, 38px);
  }
}
@media screen and (max-width: 480px) {
  .font46 {
    font-size: 7.0833vw;
  }
}

/*__________________________________________________________________________*/
.font44 {
  font-size: 44px;
}
@media screen and (min-width: 768.9px) {
  .font44 {
    font-size: clamp(40px, 2.292vw, 44px);
  }
}
@media screen and (max-width: 1024px) {
  .font44 {
    font-size: clamp(36px, 3.906vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  .font44 {
    font-size: clamp(30px, 4.687vw, 36px);
  }
}
@media screen and (max-width: 480px) {
  .font44 {
    font-size: clamp(28px, 6.25vw, 30px);
  }
}

/*__________________________________________________________________________*/
.font40 {
  font-size: 40px;
}
@media screen and (min-width: 768.9px) {
  .font40 {
    font-size: clamp(36px, 2.084vw, 40px);
  }
}
@media screen and (max-width: 1024px) {
  .font40 {
    font-size: clamp(32px, 3.512vw, 36px);
  }
}
@media screen and (max-width: 768px) {
  .font40 {
    font-size: clamp(28px, 4.161vw, 32px);
  }
}
@media screen and (max-width: 480px) {
  .font40 {
    font-size: 5.833vw;
  }
}

/*__________________________________________________________________________*/
.font36 {
  font-size: 36px;
}
@media screen and (min-width: 768.9px) {
  .font36 {
    font-size: clamp(32px, 1.823vw, 36px);
  }
}
@media screen and (max-width: 1024px) {
  .font36 {
    font-size: clamp(28px, 2.734vw, 32px);
  }
}
@media screen and (max-width: 768px) {
  .font36 {
    font-size: clamp(24px, 3.645vw, 28px);
  }
}
@media screen and (max-width: 480px) {
  .font36 {
    font-size: clamp(20px, 5vw, 24px);
  }
}

/*__________________________________________________________________________*/
.font30 {
  font-size: 30px;
}
@media screen and (min-width: 768.9px) {
  .font30 {
    font-size: clamp(26px, 1.563vw, 30px);
  }
}
@media screen and (max-width: 1024px) {
  .font30 {
    font-size: clamp(22px, 2.168vw, 26px);
  }
}
@media screen and (max-width: 768px) {
  .font30 {
    font-size: clamp(22px, 3.385vw, 22px);
  }
}
@media screen and (max-width: 480px) {
  .font30 {
    font-size: clamp(18px, 4.583vw, 22px);
  }
}

/*__________________________________________________________________________*/
.font28 {
  font-size: 28px;
}
@media screen and (min-width: 768.9px) {
  .font28 {
    font-size: clamp(24px, 1.459vw, 28px);
  }
}
@media screen and (max-width: 1024px) {
  .font28 {
    font-size: clamp(20px, 2.343vw, 24px);
  }
}
@media screen and (max-width: 768px) {
  .font28 {
    font-size: clamp(20px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  .font28 {
    font-size: clamp(17px, 4.166vw, 20px);
  }
}

/*__________________________________________________________________________*/
.font26 {
  font-size: 26px;
}
@media screen and (min-width: 768.9px) {
  .font26 {
    font-size: clamp(22px, 1.25vw, 26px);
  }
}
@media screen and (max-width: 1024px) {
  .font26 {
    font-size: clamp(18px, 1.668vw, 22px);
  }
}
@media screen and (max-width: 768px) {
  .font26 {
    font-size: clamp(18px, 2.864vw, 22px);
  }
}
@media screen and (max-width: 480px) {
  .font26 {
    font-size: clamp(16px, 3.75vw, 18px);
  }
}

/*__________________________________________________________________________*/
.font24 {
  font-size: 24px;
}
@media screen and (min-width: 768.9px) {
  .font24 {
    font-size: clamp(20px, 1.0422vw, 24px);
  }
}
@media screen and (max-width: 1024px) {
  .font24 {
    font-size: clamp(18px, 1.757vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .font24 {
    font-size: clamp(18px, 2.343vw, 20px);
  }
}
@media screen and (max-width: 480px) {
  .font24 {
    font-size: clamp(15px, 3.33vw, 16px);
  }
}

/*__________________________________________________________________________*/
.font22 {
  font-size: 22px;
}
@media screen and (min-width: 768.9px) {
  .font22 {
    font-size: clamp(20px, 1.146vw, 22px);
  }
}
@media screen and (max-width: 1024px) {
  .font22 {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .font22 {
    font-size: clamp(16px, 2.343vw, 18px);
  }
}
@media screen and (max-width: 480px) {
  .font22 {
    font-size: 3.33vw;
  }
}

/*__________________________________________________________________________*/
.font20 {
  font-size: 20px;
}
@media screen and (min-width: 768.9px) {
  .font20 {
    font-size: clamp(18px, 1.0422vw, 20px);
  }
}
@media screen and (max-width: 1024px) {
  .font20 {
    font-size: clamp(16px, 1.757vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  .font20 {
    font-size: clamp(15px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  .font20 {
    font-size: 3.125vw;
  }
}

/*__________________________________________________________________________*/
.font18 {
  font-size: 18px;
}
@media screen and (min-width: 768.9px) {
  .font18 {
    font-size: clamp(16px, 0.937vw, 18px);
  }
}
@media screen and (max-width: 1024px) {
  .font18 {
    font-size: clamp(14px, 1.562vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  .font18 {
    font-size: clamp(13px, 1.953vw, 14px);
  }
}
@media screen and (max-width: 480px) {
  .font18 {
    font-size: clamp(12px, 2.708vw, 13px);
  }
}

/*__________________________________________________________________________*/
.font16, .font_basic {
  font-size: 16px;
  font-size: clamp(15px, 0.83vw, 16px);
}
@media screen and (max-width: 1024px) {
  .font16, .font_basic {
    font-size: clamp(13px, 0.83vw, 15px);
  }
}
@media screen and (max-width: 768px) {
  .font16, .font_basic {
    font-size: clamp(12px, 2.083vw, 13px);
  }
}
@media screen and (max-width: 480px) {
  .font16, .font_basic {
    font-size: clamp(10px, 2.5vw, 12px);
  }
}

/*__________________________________________________________________________*/
.font14 {
  font-size: 14px;
}
@media screen and (min-width: 768.9px) {
  .font14 {
    font-size: clamp(13px, 0.729vw, 14px);
  }
}
@media screen and (max-width: 1024px) {
  .font14 {
    font-size: clamp(12px, 1.2695vw, 13px);
  }
}
@media screen and (max-width: 768px) {
  .font14 {
    font-size: clamp(10px, 1.562vw, 12px);
  }
}
@media screen and (max-width: 480px) {
  .font14 {
    font-size: clamp(10px, 2.29vw, 11px);
  }
}

/*__________________________________________________________________________*/
.font12 {
  font-size: 12px;
}
@media screen and (max-width: 1024px) {
  .font12 {
    font-size: clamp(11px, 1vw, 12px);
  }
}
@media screen and (max-width: 768px) {
  .font12 {
    font-size: clamp(10px, 1.432vw, 11px);
  }
}
@media screen and (max-width: 480px) {
  .font12 {
    font-size: clamp(9px, 2.083vw, 10px);
  }
}

/* フォント色 */
/*__________________________________________________________________________*/
/* padding 
__________________________________________________________________________*/
.pd0 {
  padding: 0px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pl0 {
  padding-left: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

/* padding-top
/*__________________________________________________________________________*/
.pt15 {
  padding-top: 15px;
}
@media screen and (max-width: 768px) {
  .pt15 {
    padding-top: 1.5%;
  }
}

/*__________________________________________________________________________*/
.pt30 {
  padding-top: 30px;
}
@media screen and (max-width: 768px) {
  .pt30 {
    padding-top: 3%;
  }
}

/*__________________________________________________________________________*/
.pt45 {
  padding-top: 45px;
}
@media screen and (max-width: 768px) {
  .pt45 {
    padding-top: 4.5%;
  }
}

/*__________________________________________________________________________*/
.pt60 {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .pt60 {
    padding-top: 6%;
  }
}

/*__________________________________________________________________________*/
.pt90 {
  padding-top: 90px;
}
@media screen and (max-width: 768px) {
  .pt90 {
    padding-top: 9%;
  }
}

/*__________________________________________________________________________*/
.pt100 {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .pt100 {
    padding-top: 10%;
  }
}

/*__________________________________________________________________________*/
.pt120 {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .pt120 {
    padding-top: 12%;
  }
}

/* padding-bottom
/*__________________________________________________________________________*/
.pb15 {
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .pb15 {
    padding-bottom: 1.5%;
  }
}

/*__________________________________________________________________________*/
.pb30 {
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .pb30 {
    padding-bottom: 3%;
  }
}

/*__________________________________________________________________________*/
.pb45 {
  padding-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .pb45 {
    padding-bottom: 4.5%;
  }
}

/*__________________________________________________________________________*/
.pb60 {
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .pb60 {
    padding-bottom: 6%;
  }
}

/*__________________________________________________________________________*/
.pb90 {
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .pb90 {
    padding-bottom: 9%;
  }
}

/*__________________________________________________________________________*/
.pb100 {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .pb100 {
    padding-bottom: 10%;
  }
}

/*__________________________________________________________________________*/
.pb120 {
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .pb120 {
    padding-bottom: 12%;
  }
}

/* margin 
_________________________________________________________________________*/
.mg0 {
  margin: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.ml0 {
  margin-left: 0 !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

/* margin-top
/*__________________________________________________________________________*/
.mt15 {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .mt15 {
    margin-top: 1.5%;
  }
}

/*__________________________________________________________________________*/
.mt30 {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .mt30 {
    margin-top: 3%;
  }
}

/*__________________________________________________________________________*/
.mt45 {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .mt45 {
    margin-top: 4.5%;
  }
}

/*__________________________________________________________________________*/
.mt60 {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .mt60 {
    margin-top: 6%;
  }
}

/*__________________________________________________________________________*/
.mt90 {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .mt90 {
    margin-top: 9%;
  }
}

/*__________________________________________________________________________*/
.mt100 {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .mt100 {
    margin-top: 10%;
  }
}

/*__________________________________________________________________________*/
.mt120 {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .mt120 {
    margin-top: 12%;
  }
}

/* margin-bottom
/*__________________________________________________________________________*/
.mb15 {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .mb15 {
    margin-bottom: 1.5%;
  }
}

/*__________________________________________________________________________*/
.mb30 {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .mb30 {
    margin-bottom: 3%;
  }
}

/*__________________________________________________________________________*/
.mb45 {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .mb45 {
    margin-bottom: 4.5%;
  }
}

/*__________________________________________________________________________*/
.mb60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .mb60 {
    margin-bottom: 6%;
  }
}

/*__________________________________________________________________________*/
.mb90 {
  margin-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .mb90 {
    margin-bottom: 9%;
  }
}

/*__________________________________________________________________________*/
.mb100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .mb100 {
    margin-bottom: 10%;
  }
}

/*__________________________________________________________________________*/
.mb120 {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .mb120 {
    margin-bottom: 12%;
  }
}

/* clearfix
/*__________________________________________________________________________*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* IE6 */
* htm .clearfix {
  height: 1%;
}

/* IE7 */
*:first-child + html .clearfix {
  height: 1%;
}

.ie_hack {
  display: none;
}

@media all and (-ms-high-contrast: none) {
  .ie_hack {
    display: block;
  }
}
/* rollover 
/*__________________________________________________________________________*/
a:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

/*__________________________________________________________________________*/
.indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*__________________________________________________________________________*/
.bold {
  font-weight: 600;
}

.s_bold {
  font-weight: 900;
}

/*__________________________________________________________________________*/
.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.center {
  text-align: center !important;
}

/*__________________________________________________________________________*/
.uline {
  text-decoration: underline;
}

/*__________________________________________________________________________*/
ol, ul {
  list-style-type: none;
}

/* PC〜tab表示
/*__________________________________________________________________________*/
@media screen and (max-width: 768px) {
  .for_pc {
    display: none !important;
  }
}

/* PCのみ表示
/*__________________________________________________________________________*/
@media screen and (max-width: 1024.9px) {
  .for_pconly {
    display: none !important;
  }
}

/* Smartphoneのみ表示
/*__________________________________________________________________________*/
@media screen and (min-width: 769px) {
  .for_sp {
    display: none !important;
  }
}

/* Smartphoneのみ表示2
/*__________________________________________________________________________*/
@media screen and (min-width: 361px) {
  .for_msp {
    display: none !important;
  }
}

/* tablet〜Smartphoneのみ表示
/*__________________________________________________________________________*/
@media screen and (min-width: 1024.9px) {
  .for_tabsp {
    display: none !important;
  }
}

/*__________________________________________________________________________*/
.bebas {
  font-family: "Bebas", serif !important;
}

.min {
  font-family: "NotoSerif", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝 Medium", "YuMincho Medium", serif !important;
}

.min_t {
  font-family: "KaiminTuStd", serif !important;
}

html:not([lang=ja]) .min_t {
  font-family: "NotoSerif", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝 Medium", "YuMincho Medium", serif !important;
}

.tel_link {
  pointer-events: none;
  cursor: default;
  text-decoration: none !important;
}
@media screen and (max-width: 768px) {
  .tel_link {
    pointer-events: all;
    cursor: pointer;
  }
}

@media screen and (max-width: 768px) {
  .sp_center {
    text-align: center !important;
  }
}

.mark {
  color: #5E7E2A !important;
}