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


@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

strong {
  font-weight: 700;
}

html,
body{
	height: 100%;
}

body {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.03em;
  font-size: 16px;
	background: #fff;
  position: relative;
	
}


/* ==========================================================================
  header 
========================================================================== */

@media screen and (min-width: 841px), print {
  #Header {
    border-top: solid 1px #333333;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 6px;
    width: auto !important;
    padding: 12px 0;
    background: #f6f5f0;
    z-index: 3;
    position: relative;
  }
}
@media screen and (min-width: 841px) and (max-width: 1300px) {
  #Header {
    padding-right: 90px;
  }
}
@media screen and (min-width: 841px), print {
  #Header .topHeaderIn {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
		justify-content: center;
  }
}
@media screen and (min-width: 841px) and (max-width: 1141px) {
  #Header .topHeaderIn {
    width: 100%;
  }
}
@media screen and (min-width: 841px), print {
  #Header .topHeaderIn .logo {
    display: block;
    width: 338px;
    height: 73px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0;
    background: url(../common/logo.svg) no-repeat center 0;
		background-size: contain;
  }
}

@media screen and (max-width: 840px), print {
  #Header {
    padding: 10px;
    background: #f6f5f0;
  }

  #Header .topHeaderIn .logo {
    margin-right: auto;
  }
  #Header .topHeaderIn .logo {
    display: block;
    width: 200px;
    height: 48px;
    text-indent: 100%;
    margin-left: 0;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0;
    background: url(../common/logo_sp.svg) no-repeat 0 0;
    background-size: contain;
  }
}

/* ==========================================================================
  im_wrap 
========================================================================== */
@media screen and (min-width: 841px), print {
  .im_wrap {
    width: 1000px;
    margin: auto;
    padding: 40px 0 50px;
  }
}

@media screen and (max-width: 840px), print {
  .im_wrap {
    width: 95%;
    margin: 10px auto 80px;
    padding: 0;
  }
}



/* ==========================================================================
  footer 
========================================================================== */
footer {
  position: sticky;
  top: 100vh;
  width: 100%;
	background: #FFF;
}



.foot_info {
  border-top: solid 2px #e881c1;
  padding: 10px 0 0;
	
}

.foot_info {
  border-top: solid 2px #e881c1;
  padding: 10px 0 0;
}
@media screen and (min-width: 841px), print {
  .foot_info {
    padding: 20px 0;
  }
}
.foot_info .foot_logo {
  margin: 10px auto 0;
  width: 294px;
  height: 50px;
}
@media screen and (min-width: 841px), print {
  .foot_info .foot_logo {
    margin: 0 auto 5px;
    width: 353px;
    height: 60px;
  }
}
.foot_info .foot_logo {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  background: url(../common/logo.svg) no-repeat center center;
  background-size: contain;
}
.foot_info .copyright {
  text-align: center;
  font-size: 0.625rem;
}
@media screen and (max-width: 840px), print {
  .foot_info .copyright {
    padding: 10px 5px 20px;
  }
}



/*===========================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
フォント
*===========================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.text_center {
  text-align: center;
}
@media screen and (min-width: 841px), print {
  .text_center_Pc {
    text-align: center;
  }
}
@media screen and (max-width: 840px), print {
  .text_center_Sp {
    text-align: center;
  }
}


.fo14 {
  font-size: 0.875rem;
  line-height: 1.71;
}

@media screen and (max-width: 840px), print {
  .fo14_Sp {
    font-size: 0.875rem;
    line-height: 1.61;
  }
}
@media screen and (min-width: 841px), print {
  .fo14_Pc {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}
.fo15 {
  font-size: 0.9375rem;
  line-height: 1.725;
}

@media screen and (max-width: 840px), print {
  .fo15_Sp {
    font-size: 0.9375rem;
    line-height: 1.625;
  }
}
@media screen and (min-width: 841px), print {
  .fo15_Pc {
    font-size: 0.9375rem;
    line-height: 1.725;
  }
}
.fo16 {
  font-size: 1rem;
  line-height: 1.74;
}

@media screen and (max-width: 840px), print {
  .fo16_Sp {
    font-size: 1rem;
    line-height: 1.64;
  }
}
@media screen and (min-width: 841px), print {
  .fo16_Pc {
    font-size: 1rem;
    line-height: 1.74;
  }
}
.fo17 {
  font-size: 1.0625rem;
  line-height: 1.755;
}

@media screen and (max-width: 840px), print {
  .fo17_Sp {
    font-size: 1.0625rem;
    line-height: 1.655;
  }
}
@media screen and (min-width: 841px), print {
  .fo17_Pc {
    font-size: 1.0625rem;
    line-height: 1.755;
  }
}
.fo18 {
  font-size: 1.125rem;
  line-height: 1.77;
}

@media screen and (max-width: 840px), print {
  .fo18_Sp {
    font-size: 1.125rem;
    line-height: 1.67;
  }
}
@media screen and (min-width: 841px), print {
  .fo18_Pc {
    font-size: 1.125rem;
    line-height: 1.77;
  }
}
.fo19 {
  font-size: 1.1875rem;
  line-height: 1.785;
}

@media screen and (max-width: 840px), print {
  .fo19_Sp {
    font-size: 1.1875rem;
    line-height: 1.685;
  }
}
@media screen and (min-width: 841px), print {
  .fo19_Pc {
    font-size: 1.1875rem;
    line-height: 1.785;
  }
}
.fo20 {
  font-size: 1.25rem;
  line-height: 1.8;
}

@media screen and (max-width: 840px), print {
  .fo20_Sp {
    font-size: 1.25rem;
    line-height: 1.7;
  }
}
@media screen and (min-width: 841px), print {
  .fo20_Pc {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
.fo21 {
  font-size: 1.3125rem;
  line-height: 1.815;
}

@media screen and (max-width: 840px), print {
  .fo21_Sp {
    font-size: 1.3125rem;
    line-height: 1.715;
  }
}
@media screen and (min-width: 841px), print {
  .fo21_Pc {
    font-size: 1.3125rem;
    line-height: 1.815;
  }
}
.fo22 {
  font-size: 1.375rem;
  line-height: 1.83;
}

@media screen and (max-width: 840px), print {
  .fo22_Sp {
    font-size: 1.375rem;
    line-height: 1.73;
  }
}
@media screen and (min-width: 841px), print {
  .fo22_Pc {
    font-size: 1.375rem;
    line-height: 1.83;
  }
}
.fo23 {
  font-size: 1.4375rem;
  line-height: 1.845;
}

@media screen and (max-width: 840px), print {
  .fo23_Sp {
    font-size: 1.4375rem;
    line-height: 1.745;
  }
}
@media screen and (min-width: 841px), print {
  .fo23_Pc {
    font-size: 1.4375rem;
    line-height: 1.845;
  }
}
.fo24 {
  font-size: 1.5rem;
  line-height: 1.86;
}

@media screen and (max-width: 840px), print {
  .fo24_Sp {
    font-size: 1.5rem;
    line-height: 1.76;
  }
}
@media screen and (min-width: 841px), print {
  .fo24_Pc {
    font-size: 1.5rem;
    line-height: 1.86;
  }
}
.fo25 {
  font-size: 1.5625rem;
  line-height: 1.875;
}

@media screen and (max-width: 840px), print {
  .fo25_Sp {
    font-size: 1.5625rem;
    line-height: 1.775;
  }
}
@media screen and (min-width: 841px), print {
  .fo25_Pc {
    font-size: 1.5625rem;
    line-height: 1.875;
  }
}
.fo26 {
  font-size: 1.625rem;
  line-height: 1.89;
}

@media screen and (max-width: 840px), print {
  .fo26_Sp {
    font-size: 1.625rem;
    line-height: 1.79;
  }
}
@media screen and (min-width: 841px), print {
  .fo26_Pc {
    font-size: 1.625rem;
    line-height: 1.89;
  }
}


/*===========================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
margin　
*===========================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.mt0 {
  margin-top: 0px !important;
}
@media screen and (min-width: 841px), print {
  .mt0_Pc {
    margin-top: 0px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt0_Sp {
    margin-top: 0px !important;
  }
}

.mb0 {
  margin-bottom: 0px !important;
}
@media screen and (min-width: 841px), print {
  .mb0_Pc {
    margin-bottom: 0px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb0_Sp {
    margin-bottom: 0px !important;
  }
}

.mr0 {
  margin-right: 0px !important;
}
@media screen and (min-width: 841px), print {
  .mr0_Pc {
    margin-right: 0px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr0_Sp {
    margin-right: 0px !important;
  }
}

.ml0 {
  margin-left: 0px !important;
}
@media screen and (min-width: 841px), print {
  .ml0_Pc {
    margin-left: 0px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml0_Sp {
    margin-left: 0px !important;
  }
}

.mt5 {
  margin-top: 5px !important;
}
@media screen and (min-width: 841px), print {
  .mt5_Pc {
    margin-top: 5px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt5_Sp {
    margin-top: 5px !important;
  }
}

.mb5 {
  margin-bottom: 5px !important;
}
@media screen and (min-width: 841px), print {
  .mb5_Pc {
    margin-bottom: 5px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb5_Sp {
    margin-bottom: 5px !important;
  }
}

.mr5 {
  margin-right: 5px !important;
}
@media screen and (min-width: 841px), print {
  .mr5_Pc {
    margin-right: 5px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr5_Sp {
    margin-right: 5px !important;
  }
}

.ml5 {
  margin-left: 5px !important;
}
@media screen and (min-width: 841px), print {
  .ml5_Pc {
    margin-left: 5px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml5_Sp {
    margin-left: 5px !important;
  }
}

.mt10 {
  margin-top: 10px !important;
}
@media screen and (min-width: 841px), print {
  .mt10_Pc {
    margin-top: 10px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt10_Sp {
    margin-top: 10px !important;
  }
}

.mb10 {
  margin-bottom: 10px !important;
}
@media screen and (min-width: 841px), print {
  .mb10_Pc {
    margin-bottom: 10px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb10_Sp {
    margin-bottom: 10px !important;
  }
}

.mr10 {
  margin-right: 10px !important;
}
@media screen and (min-width: 841px), print {
  .mr10_Pc {
    margin-right: 10px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr10_Sp {
    margin-right: 10px !important;
  }
}

.ml10 {
  margin-left: 10px !important;
}
@media screen and (min-width: 841px), print {
  .ml10_Pc {
    margin-left: 10px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml10_Sp {
    margin-left: 10px !important;
  }
}

.mt15 {
  margin-top: 15px !important;
}
@media screen and (min-width: 841px), print {
  .mt15_Pc {
    margin-top: 15px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt15_Sp {
    margin-top: 15px !important;
  }
}

.mb15 {
  margin-bottom: 15px !important;
}
@media screen and (min-width: 841px), print {
  .mb15_Pc {
    margin-bottom: 15px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb15_Sp {
    margin-bottom: 15px !important;
  }
}

.mr15 {
  margin-right: 15px !important;
}
@media screen and (min-width: 841px), print {
  .mr15_Pc {
    margin-right: 15px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr15_Sp {
    margin-right: 15px !important;
  }
}

.ml15 {
  margin-left: 15px !important;
}
@media screen and (min-width: 841px), print {
  .ml15_Pc {
    margin-left: 15px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml15_Sp {
    margin-left: 15px !important;
  }
}

.mt20 {
  margin-top: 20px !important;
}
@media screen and (min-width: 841px), print {
  .mt20_Pc {
    margin-top: 20px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt20_Sp {
    margin-top: 20px !important;
  }
}

.mb20 {
  margin-bottom: 20px !important;
}
@media screen and (min-width: 841px), print {
  .mb20_Pc {
    margin-bottom: 20px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb20_Sp {
    margin-bottom: 20px !important;
  }
}

.mr20 {
  margin-right: 20px !important;
}
@media screen and (min-width: 841px), print {
  .mr20_Pc {
    margin-right: 20px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr20_Sp {
    margin-right: 20px !important;
  }
}

.ml20 {
  margin-left: 20px !important;
}
@media screen and (min-width: 841px), print {
  .ml20_Pc {
    margin-left: 20px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml20_Sp {
    margin-left: 20px !important;
  }
}

.mt25 {
  margin-top: 25px !important;
}
@media screen and (min-width: 841px), print {
  .mt25_Pc {
    margin-top: 25px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt25_Sp {
    margin-top: 25px !important;
  }
}

.mb25 {
  margin-bottom: 25px !important;
}
@media screen and (min-width: 841px), print {
  .mb25_Pc {
    margin-bottom: 25px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb25_Sp {
    margin-bottom: 25px !important;
  }
}

.mr25 {
  margin-right: 25px !important;
}
@media screen and (min-width: 841px), print {
  .mr25_Pc {
    margin-right: 25px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr25_Sp {
    margin-right: 25px !important;
  }
}

.ml25 {
  margin-left: 25px !important;
}
@media screen and (min-width: 841px), print {
  .ml25_Pc {
    margin-left: 25px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml25_Sp {
    margin-left: 25px !important;
  }
}

.mt30 {
  margin-top: 30px !important;
}
@media screen and (min-width: 841px), print {
  .mt30_Pc {
    margin-top: 30px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt30_Sp {
    margin-top: 30px !important;
  }
}

.mb30 {
  margin-bottom: 30px !important;
}
@media screen and (min-width: 841px), print {
  .mb30_Pc {
    margin-bottom: 30px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb30_Sp {
    margin-bottom: 30px !important;
  }
}

.mr30 {
  margin-right: 30px !important;
}
@media screen and (min-width: 841px), print {
  .mr30_Pc {
    margin-right: 30px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr30_Sp {
    margin-right: 30px !important;
  }
}

.ml30 {
  margin-left: 30px !important;
}
@media screen and (min-width: 841px), print {
  .ml30_Pc {
    margin-left: 30px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml30_Sp {
    margin-left: 30px !important;
  }
}

.mt35 {
  margin-top: 35px !important;
}
@media screen and (min-width: 841px), print {
  .mt35_Pc {
    margin-top: 35px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt35_Sp {
    margin-top: 35px !important;
  }
}

.mb35 {
  margin-bottom: 35px !important;
}
@media screen and (min-width: 841px), print {
  .mb35_Pc {
    margin-bottom: 35px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb35_Sp {
    margin-bottom: 35px !important;
  }
}

.mr35 {
  margin-right: 35px !important;
}
@media screen and (min-width: 841px), print {
  .mr35_Pc {
    margin-right: 35px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr35_Sp {
    margin-right: 35px !important;
  }
}

.ml35 {
  margin-left: 35px !important;
}
@media screen and (min-width: 841px), print {
  .ml35_Pc {
    margin-left: 35px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml35_Sp {
    margin-left: 35px !important;
  }
}

.mt40 {
  margin-top: 40px !important;
}
@media screen and (min-width: 841px), print {
  .mt40_Pc {
    margin-top: 40px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt40_Sp {
    margin-top: 40px !important;
  }
}

.mb40 {
  margin-bottom: 40px !important;
}
@media screen and (min-width: 841px), print {
  .mb40_Pc {
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb40_Sp {
    margin-bottom: 40px !important;
  }
}

.mr40 {
  margin-right: 40px !important;
}
@media screen and (min-width: 841px), print {
  .mr40_Pc {
    margin-right: 40px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr40_Sp {
    margin-right: 40px !important;
  }
}

.ml40 {
  margin-left: 40px !important;
}
@media screen and (min-width: 841px), print {
  .ml40_Pc {
    margin-left: 40px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml40_Sp {
    margin-left: 40px !important;
  }
}

.mt45 {
  margin-top: 45px !important;
}
@media screen and (min-width: 841px), print {
  .mt45_Pc {
    margin-top: 45px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt45_Sp {
    margin-top: 45px !important;
  }
}

.mb45 {
  margin-bottom: 45px !important;
}
@media screen and (min-width: 841px), print {
  .mb45_Pc {
    margin-bottom: 45px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb45_Sp {
    margin-bottom: 45px !important;
  }
}

.mr45 {
  margin-right: 45px !important;
}
@media screen and (min-width: 841px), print {
  .mr45_Pc {
    margin-right: 45px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr45_Sp {
    margin-right: 45px !important;
  }
}

.ml45 {
  margin-left: 45px !important;
}
@media screen and (min-width: 841px), print {
  .ml45_Pc {
    margin-left: 45px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml45_Sp {
    margin-left: 45px !important;
  }
}

.mt50 {
  margin-top: 50px !important;
}
@media screen and (min-width: 841px), print {
  .mt50_Pc {
    margin-top: 50px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mt50_Sp {
    margin-top: 50px !important;
  }
}

.mb50 {
  margin-bottom: 50px !important;
}
@media screen and (min-width: 841px), print {
  .mb50_Pc {
    margin-bottom: 50px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mb50_Sp {
    margin-bottom: 50px !important;
  }
}

.mr50 {
  margin-right: 50px !important;
}
@media screen and (min-width: 841px), print {
  .mr50_Pc {
    margin-right: 50px !important;
  }
}
@media screen and (max-width: 840px), print {
  .mr50_Sp {
    margin-right: 50px !important;
  }
}

.ml50 {
  margin-left: 50px !important;
}
@media screen and (min-width: 841px), print {
  .ml50_Pc {
    margin-left: 50px !important;
  }
}
@media screen and (max-width: 840px), print {
  .ml50_Sp {
    margin-left: 50px !important;
  }
}