@charset "utf-8";
body {
    line-break: strict;
}
/* コンテナ
********************************************** */
.container-fluid {
  width: 100%;
}
.container-lg {
  max-width: 1520px;
  margin: 0 auto;
}
.container-md {
  max-width: 1200px;
  margin: 0 auto;
}
.container-sm {
  max-width: 1040px;
  margin: 0 auto;
}
.container-xs {
  max-width: 880px;
  margin: 0 auto;
}
@media screen and (max-width: 1600px) {
  .container-lg {
    max-width: calc(100% - 8%);
  }
}
@media screen and (max-width: 1280px) {
  .container-md {
    max-width: calc(100% - 8%);
  }
}
@media screen and (max-width: 1120px) {
  .container-sm {
    max-width: calc(100% - 8%);
  }
}
@media screen and (max-width: 960px) {
  .container-xs {
    max-width: calc(100% - 8%);
  }
}
/* 背景
********************************************** */
.bg-lightGray {
  background: var(--bg-color-lightgray);
}
.bg-lightblue {
  background: var(--color-lightblue);
}
/* img
********************************************** */
/*　画像の位置調整　*/
.img-ctr {
  display: block;
  margin: 0 auto;
}
/*　画像のトリミング　*/
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.img-contain {
  object-fit: contain;
  font-family: 'object-fit: contain;';
}
/*　画像の拡大マスク　*/
.img-mask {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.img-mask:hover img {
  transform: scale(1.2);
}
/* table
********************************************** */
.tbl--main {
  width: 100%;
  color: #393f49;
}
.tbl--main tr {
  border-bottom: solid 1px var(--bor-color-bluegray);
}
.tbl--main th, .tbl--main td {
  padding: 1.875rem 0; /*30px*/
  border: none;
  font-size: clamp(0.875rem, 0.667rem + 0.44vw, 1rem); /*14px～16px　w750-w1200*/
  line-height: 2;
}
.tbl--main th {
  width: 30%;
}
@media only screen and (max-width: 550px) {
  .tbl--main th, .tbl--main td {
    display: block;
    width: 100%;
  }
  .tbl--main th {
    width: 100%;
    padding: .938rem 0 0; /*15px*/
  }
  .tbl--main td {
    padding: 0 0 .938rem; /*15px*/
  }
}
/* button
********************************************** */
.btn--main {
  position: relative;
  display: inline-block;
  min-width: 300px;
  padding: 1.25rem 1.875rem; /*20px 30px*/
  background: var(--color-button);
  font-size: clamp(0.875rem, 0.667rem + 0.44vw, 1rem); /*14px～16px　w750-w1200*/
  color: #fff;
  text-align: center;
  transition: .6s;
  user-select: none;
}
.btn--main:hover {
  background: var(--color-button-darken);
}
.btn--main::after {
  content: "";
  position: absolute;
  top: 42%;
  right: 20px;
  transform: translateY(-50%);
  transform-origin: left;
  width: 2em;
  height: .5em;
  background: #fff;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  transition: all .3s;
}
.btn--main:hover::after {
  right: 16px;
}
.btn--sub {
  display: inline-flex;
  align-items: center;
  transition: .6s;
}
.btn--sub span:nth-of-type(1) {
  font-size: clamp(1.125rem, 0.917rem + 0.44vw, 1.25rem); /*18px～20px　w750-w1200*/
  font-weight: 700;
}
.btn--sub span:nth-of-type(2) {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  margin-left: 1rem;
  border-radius: 50%;
  background: var(--color-button);
}
.btn--sub span:nth-of-type(2):before, .btn--sub span:nth-of-type(2):after {
  position: absolute;
  content: '';
}
.btn--sub span:nth-of-type(2):before {
  top: 25px;
  left: 14px;
  width: 17px;
  height: 1px;
  background: #fff;
}
.btn--sub span:nth-of-type(2):after {
  top: 20px;
  left: 31px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 8px solid #fff;
}
.btn--sub:hover span:nth-of-type(1) {
  color: var(--color-button-darken);
}
.btn--sub:hover span:nth-of-type(2) {
  background: var(--color-button-darken);
}
/* a
********************************************** */
/*外部リンク*/
.link-external {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: .3s;
  font-size: clamp(0.875rem, 0.667rem + 0.44vw, 1rem); /*14px～16px　w750-w1200*/
    
    font-weight: bold;
}
.link-external:after {
  display: inline-block;
  content: url("../images/link_external.svg");
  width: 16px;
  padding: 0 1rem 0 .2rem;
}
.link-external:hover {
  text-decoration: underline;
  opacity: .7;
}
/*リンク無効化*/
.link-non {
  pointer-events: none;
}
/* 見出し
********************************************** */
/*　見出し--メイン　*/
.ttl--main {
  margin-bottom: 3.75rem;
  /*font-size: clamp(3rem, -0.75rem + 8vw, 5.25rem); /*48px～84px　w750-w1200*/
  font-size: clamp(2.1rem, -0.75rem + 8vw, 3.7rem); /*48px～84px　w750-w1200*/
  min-height: 0vw;
  font-weight: 700;
  text-align: center;
  word-break: normal;
}
.ttl--main span:nth-of-type(1) {
  position: relative;
  display: inline-block;
  font-family: "Roboto Condensed", sans-serif;
    
    border-bottom: 3px solid var(--color-accent);
    padding-bottom: 0.5rem;
    
}
.ttl--main span:nth-of-type(2) {
  display: block;
  padding-top: 0.5rem; /*30px*/
  font-size: clamp(1.2rem, 0.583rem + 0.89vw, 1.5rem); /*16px～20px　w750-w1200*/
  min-height: 0vw;
}
/*.ttl--main span:first-of-type::before {
  position: absolute;
  left: 50%;
  bottom: -15px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: inline-block;
  content: "";
  width: 60px;
    
  height: 3px;
  background: var(--color-accent);
  border-radius: 2px;
}*/
@media screen and (max-width: 550px) {
  .ttl--main {
    margin-bottom: 1.875rem; /*30px*/
  }
  .ttl--main span:nth-of-type(2) {
    padding-top: 0.625rem; /*10px*/
  }
  /*.ttl--main span:first-of-type::before {
    bottom: -5px;
    width: 30px;
    height: 3px;
  }*/
}
/*　見出し--サブ　*/
.ttl--sub {
  position: relative;
  width: 100%;
  padding-bottom: 1.25rem; /*20px*/
  margin-bottom: 1.875rem 0; /*30px*/
  border-bottom: solid 1px var(--bor-color-bluegray);
  font-size: clamp(1.5rem, 0.875rem + 1.33vw, 1.875rem); /*24px～30px　w750-w1200*/
  font-weight: 700;
}
.ttl--sub:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px var(--color-theme);
  bottom: -1px;
  width: 20%;
}
/*　見出し--アクセント　*/
.ttl--accent {
  font-size: clamp(1.125rem, 0.917rem + 0.44vw, 1.25rem); /*18px～20px　w750-w1200*/
  font-weight: 700;
}
/* heading
********************************************** */
.heading-xlg {
  font-size: clamp(3rem, -1.897rem + 10.45vw, 5.938rem); /*48px～95px　w750-w1200*/
  line-height: 1.2;
}
.heading-lg {
  font-size: clamp(2.25rem, 1rem + 2.67vw, 3rem); /*36px～48px　w750-w1200*/
  line-height: 1.2;
}
.heading-md {
  font-size: clamp(1.875rem, 1.25rem + 1.33vw, 2.25rem); /*30px～36px　w750-w1200*/
  line-height: 1.5;
}
.heading-sm {
  font-size: clamp(1.5rem, 0.875rem + 1.33vw, 1.875rem); /*24px～30px　w750-w1200*/
  line-height: 1.5;

}
.heading-xs {
  font-size: clamp(1.25rem, 0.833rem + 0.89vw, 1.5rem); /*20px～24px　w750-w1200*/
  line-height: 1.5;
}
.heading-xxs {
  font-size: clamp(1.125rem, 0.917rem + 0.44vw, 1.25rem); /*18px～20px　w750-w1200*/
  line-height: 1.5;
}
/* 英字ルビ 　ー ××××××　*/
.ruby--en {
  display: flex;
  align-items: center;
  margin-bottom: 1.85rem; /*30px*/
  font-size: 12px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  color: var(--color-theme);
  letter-spacing: 1px;
  word-break: normal;
}
.ruby--en::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  margin-right: 0.625rem;
  background: var(--color-theme);
}
@media screen and (max-width: 550px) {
  .ruby--en {
    margin-bottom: 1.25rem; /*20px*/
  }
}
/* リード
********************************************** */
.lead {
  margin-bottom: 2rem; /*32px*/
}
.lead-xlg {
  font-size: clamp(3rem, -1.897rem + 10.45vw, 5.938rem); /*48px～95px　w750-w1200*/
  line-height: 1.2;
  margin-bottom: 1.25rem;
}
.lead-lg {
  font-size: clamp(2.25rem, 1rem + 2.67vw, 3rem); /*36px～48px　w750-w1200*/
  line-height: 1.2;
  margin-bottom: 1.25rem;
}
.lead-md {
  font-size: clamp(2rem, 1.583rem + 0.89vw, 2.25rem); /*32px～36px　w750-w1200*/
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
.lead-sm {
  font-size: clamp(1.5rem, 0.875rem + 1.33vw, 1.875rem); /*24px～30px　w750-w1200*/
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
.lead-xs {
  font-size: clamp(1.25rem, 0.833rem + 0.89vw, 1.5rem); /*20px～24px　w750-w1200*/
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
.lead-xxs {
  font-size: clamp(1.125rem, 0.917rem + 0.44vw, 1.25rem); /*18px～20px　w750-w1200*/
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
/* 文字
********************************************** */
.bold-700 {
  font-weight: 700 !important;
}
.bold-800 {
  font-weight: 800 !important;
}
.bold-900 {
  font-weight: 900 !important;
}
.bold-reset {
  font-weight: normal !important;
}
.italic {
  font-style: italic !important;
}
.text-indent {
  text-indent: -1em;
  padding-left: 1em;
}
/* 改行
********************************************** */
@media screen and (min-width: 551px) {
  .brPc {
    display: block;
  }
  .brSp {
    display: none;
  }
}
@media screen and (max-width: 550px) {
  .brPc {
    display: none;
  }
  .brSp {
    display: block;
  }
}
/* マージン・パディング
********************************************** */
.ma-bt10 {
  margin-bottom: 0.625rem !important;
}
.ma-bt20 {
  margin-bottom: 1.25rem !important;
}
.ma-bt30 {
  margin-bottom: 1.875rem !important;
}
.ma-bt40 {
  margin-bottom: 2.5rem !important;
}
.ma-bt50 {
  margin-bottom: 3.125rem !important;
}
.ma-bt60 {
  margin-bottom: 3.75rem !important;
}
.ma-tp10 {
  margin-top: 0.625rem !important;
}
.ma-tp20 {
  margin-top: 1.25rem !important;
}
.ma-tp30 {
  margin-top: 1.875rem !important;
}
.ma-tp40 {
  margin-top: 2.5rem !important;
}
.ma-tp50 {
  margin-top: 3.125rem !important;
}
.ma-tp60 {
  margin-top: 3.75rem !important;
}
.pa-bt10 {
  padding-bottom: 0.625rem !important;
}
.pa-bt20 {
  padding-bottom: 1.25rem !important;
}
.pa-bt30 {
  padding-bottom: 1.875rem !important;
}
.pa-bt40 {
  padding-bottom: 2.5rem !important;
}
.pa-bt50 {
  padding-bottom: 3.125rem !important;
}
.pa-bt60 {
  padding-bottom: 3.75rem !important;
}
.pa-tp10 {
  padding-top: 0.625rem !important;
}
.pa-tp20 {
  padding-top: 1.25rem !important;
}
.pa-tp30 {
  padding-top: 1.875rem !important;
}
.pa-tp40 {
  padding-top: 2.5rem !important;
}
.pa-tp50 {
  padding-top: 3.125rem !important;
}
.pa-tp60 {
  padding-top: 3.75rem !important;
}
/*リセット*/
.ma-reset {
  margin: 0 !important
}
.pa-reset {
  padding: 0 !important
}
@media screen and (max-width: 960px) {
  .ma-bt10 {
    margin-bottom: 0.313rem !important;
  }
  .ma-bt20 {
    margin-bottom: 0.625rem !important;
  }
  .ma-bt30 {
    margin-bottom: 0.938rem !important;
  }
  .ma-bt40 {
    margin-bottom: 1.25rem !important;
  }
  .ma-bt50 {
    margin-bottom: 1.563rem !important;
  }
  .ma-bt60 {
    margin-bottom: 1.875rem !important;
  }
  .ma-tp10 {
    margin-top: 0.313rem !important;
  }
  .ma-tp20 {
    margin-top: 0.625rem !important;
  }
  .ma-tp30 {
    margin-top: 0.938rem !important;
  }
  .ma-tp40 {
    margin-top: 1.25rem !important;
  }
  .ma-tp50 {
    margin-top: 1.563rem !important;
  }
  .ma-tp60 {
    margin-top: 1.875rem !important;
  }
  .pa-bt10 {
    padding-bottom: 0.313rem !important;
  }
  .pa-bt20 {
    padding-bottom: 0.625rem !important;
  }
  .pa-bt30 {
    padding-bottom: 0.938rem !important;
  }
  .pa-bt40 {
    padding-bottom: 1.25rem !important;
  }
  .pa-bt50 {
    padding-bottom: 1.563rem !important;
  }
  .pa-bt60 {
    padding-bottom: 1.875rem !important;
  }
  .pa-tp10 {
    padding-top: 0.313rem !important;
  }
  .pa-tp20 {
    padding-top: 0.625rem !important;
  }
  .pa-tp30 {
    padding-top: 0.938rem !important;
  }
  .pa-tp40 {
    padding-top: 1.25rem !important;
  }
  .pa-tp50 {
    padding-top: 1.563rem !important;
  }
  .pa-tp60 {
    padding-top: 1.875rem !important;
  }
}
/* align
********************************************** */
.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
/* flex
********************************************** */
.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flex-inline {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.flex-reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.flex-al-start {
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.flex-al-end {
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.flex-al-ctr {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.flex-ju-between {
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flex-f-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .flex-sp {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}