@charset "UTF-8";
/* reset用css */
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;}h1,h2,h3,h4,button,input,label{line-height:1.1}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit;border: none;background: none;color: inherit;}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}input, button{-webkit-tap-highlight-color: transparent;}table {display: table;border-collapse: collapse;border-spacing: 0;width: 100%;}th, td {margin: 0;padding: 0;border: none;text-align: left;vertical-align: top;}
/* 基本設定用css */
*{box-sizing: border-box;margin: 0;padding: 0;}
body{font-family: "Roboto", "Noto Sans JP","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;color: var(--gray-font-700);background-color: #fff;font-size: 16px;line-height: 1.5;}
body.js_no-scroll{overflow: hidden;}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
a{
  transition: all .3s;
  text-decoration: none;
  color: var(--gray-font-700);
}
a:after{
  transition: all .3s;
}
em{
  font-style: initial;
}
ul,li{
  list-style: none;
}
button{
  color: var(--gray-font-700);
  cursor: pointer;
}

/* セクション間　余白　共通レイアウト項目 */
.ly_section-padding{
  padding: var(--sec-padding);
}
.ly_section-padding-top{
  padding-top: var(--sec-padding-top);
}
.ly_section-padding-bottom{
  padding-bottom: var(--sec-padding-bottom);
}
/* cta間　余白　共通レイアウト項目 */
.ly_cta-padding{
  padding: var(--cta-padding);
}
.ly_cta-padding-top{
  padding-top: var(--cta-padding-top);
}
.ly_cta-padding-bottom{
  padding-bottom: var(--cta-padding-bottom);
}
/* コンテンツ間　余白　共通レイアウト項目 */
.ly_content-padding{
  padding: var(--con-padding);
}
.ly_content-padding-top{
  padding-top: var(--con-padding-top);
}
.ly_content-padding-bottom{
  padding-bottom: var(--con-padding-bottom);
}
/* 詳しく見るが上にあるパターンのpadding */
.ly_detail-btn-padding-top{
  padding-top: var(--detail-padding-top);
}
.ly_detail-btn-padding-bottom{
  padding-bottom: var(--detail-padding-bottom);
}
/* セクションのインナー幅 */
.ly_section-inner-1400{
  max-width: var(--max-width-1400);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-1300{
  max-width: var(--max-width-1300);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-1200{
  max-width: var(--max-width-1200);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-1100{
  max-width: var(--max-width-1100);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-1000{
  max-width: var(--max-width-1000);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-900{
  max-width: var(--max-width-900);
  margin-inline: var(--margin-inline-auto);
}
.ly_section-inner-800{
  max-width: var(--max-width-800);
  margin-inline: var(--margin-inline-auto);
}
/* PC時のインナー担保幅 */
.ly_section-padding-inner{
  padding-left: var(--sec-padding-inner);
  padding-right: var(--sec-padding-inner);
}

/* ヘルパー */
.hl_bg-gray{
  background-color: var(--gray-bg-100);
}
.hl_text-wrap{
  display: inline-block;
}
.hl_text-primary{
  color: var(--primary-700);
}
.hl_text-wrap-block{
  display: block;
}
.hl_underline{
  border-bottom: 1px solid var(--gray-font-700);
}
.hl_underline:hover{
  border-bottom: none;
}
.hl_display-sp{
  display: none;
}
.hl_sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.hl_text-align-center{
  text-align: center;
}
/* あしらい　デザイン用 */
/* 見出し下のシンプル吹き出しデザイン */
.hl_design-pop-line{
  position: relative;
  border-bottom: 3px solid var(--primary-700);
}
.hl_design-pop-line::before{
  content: "";
  position: absolute;
  top: calc(100% - 3px);
  left: 50%;
  width: 3px;
  height: 16px;
  background-color: var(--primary-700);
  transform: translateX(-50%) rotate(60deg);
}
.hl_design-pop-line::after{
  position: absolute;
  content: "";
  top: calc(100% - 2px);
  left: calc(50% - 7px);
  transform: translateX(-50%);
  border-left: 35px solid #fff;
  border-bottom: 20px solid transparent;
  height: 0;
  width: 0;
}
.hl_design-pop-line.hl_design-pop-line--gray::after{
  border-left: 35px solid var(--gray-bg-100);
}
@media (max-width: 768px) {
  .hl_text-wrap.hl_text-wrap--sp{
    display: inline;
  }
  .hl_display-pc{
    display: none;
  }
  .hl_display-sp{
    display: block;
  }
}