@charset "UTF-8";

/* サイト全体で共通のスタイル
--------------------------------------*/

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */


/* サイト全体で共通のウェブフォント */
/* ==========================================================================

    サイト全体で共通のウェブフォント

========================================================================== */

@font-face {
  font-family: "Alata-Regular";
  font-style: normal;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.woff") format("woff"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.woff2") format("woff2"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Alata-Bold";
  font-style: normal;
  font-weight: bold;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.woff") format("woff"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.woff2") format("woff2"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/Alata-Regular.otf") format("opentype");
}


@font-face {
  font-family: "NotoSansCJKjp";
  font-style: normal;
  font-weight: 400;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp.woff") format("woff"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp.woff2") format("woff2"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Regular";
  font-style: normal;
  font-weight: 500;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Regular.woff") format("woff"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Regular.woff2") format("woff2"),
      url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Medium";
  font-style: normal;
  font-weight: 600;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Medium.woff") format("woff"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Medium.woff2") format("woff2"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Medium.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Bold";
  font-style: normal;
  font-weight: 800;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Bold.woff") format("woff"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Bold.woff2") format("woff2"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Black";
  font-style: normal;
  font-weight: 900;
  src: url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSans_Black.woff") format("woff"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSans_Black.woff2") format("woff2"),
       url("https://8087961.fs1.hubspotusercontent-na1.net/hubfs/8087961/fonts/NotoSans_Black.otf") format("opentype");
}

@font-face {
  font-family: "Roboto-Medium";
  font-style: normal;
  font-weight: 500;
  src: url("https://7242392.fs1.hubspotusercontent-na1.net/hubfs/7242392/fonts/Roboto-Medium.woff") format("woff"),
      url("https://7242392.fs1.hubspotusercontent-na1.net/hubfs/7242392/fonts/Roboto-Medium.woff2") format("woff2"),
      url("https://7242392.fs1.hubspotusercontent-na1.net/hubfs/7242392/fonts/Roboto-Medium.otf") format("opentype");
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');

/* フォント */
.font-word {
    font-weight: 600;
}

/* サイト全体で共通のアニメーション */
/* ==========================================================================

    サイト全体で共通のアニメーション

========================================================================== */

/* スクロール */
@-webkit-keyframes scroll {
  0% {
      transform: translateY(0px)
  }
  80% {
      transform: translateY(40px)
  }
  100% {
      transform: translateY(40px)
  }
}

@keyframes scroll {
  0% {
      transform: translateY(0px)
  }
  80% {
      transform: translateY(40px)
  }
  100% {
      transform: translateY(40px)
  }
}


@-webkit-keyframes table-swipe {
  0% {
    opacity: 0;
    -webkit-transform: translate(-20px,5px) rotate(-5deg);
    transform: translate(-20px,5px) rotate(-5deg);
  }

  50% {
      opacity: 1;
      -webkit-transform: translate(0px,-5px) rotate(0deg);
      transform: translate(0px,-5px) rotate(0deg);
  }

  100% {
      opacity: 1;
      -webkit-transform: translate(20px,5px) rotate(5deg);
      transform: translate(20px,5px) rotate(5deg);
  }
}

@keyframes table-swipe {
  0% {
      opacity: 0;
      -webkit-transform: translate(-20px,5px) rotate(-5deg);
      transform: translate(-20px,5px) rotate(-5deg)
  }

  50% {
      opacity: 1;
      -webkit-transform: translate(0px,-5px) rotate(0deg);
      transform: translate(0px,-5px) rotate(0deg);
  }

  100% {
      opacity: 1;
      -webkit-transform: translate(20px,5px) rotate(5deg);
      transform: translate(20px,5px) rotate(5deg);
  }
}


@-webkit-keyframes link-underline {
  0% {
    width: 0
  }
  100% {
    width: 100%
  }
}

@keyframes link-underline {
  0% {
    width: 0
  }
  100% {
    width: 100%
  }
}

.anchor__item a:before, 
.button--text>a, 
.button--default>a, 
.figure img, 
.figure--movie:before, 
.icon, 
.icon:after, 
.movie:before, 
.movie:after {
  -webkit-transition: all .5s;
  transition: all .5s;
}

@-webkit-keyframes hang {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes hang {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* スライダー用 */
@-webkit-keyframes slide-in {
  0% {
    left: -50px;
  }
  100% {
    left: 0;
  }
}
@keyframes slide-in {
  0% {
    left: -50px;
  }
  100% {
    left: 0;
  }
}

@-webkit-keyframes slide-out {
  0% {
    left: 0;
  }
  100% {
    left: 50px;
  }
}
@keyframes slide-out {
  0% {
    left: 0;
  }
  100% {
    left: 50px;
  }
}

@keyframes fade-in-bound {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  70% {
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    transform: translateY(4px);
    opacity: 1;
  }
}

/* サイト全体で共通な自然なスタイル */
.natural {
  display: block;
  overflow: hidden;
}

.natural:not(:last-child) {
  margin-bottom: 20px;
}

.natural h2 {
  color: #131415;
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .17em;
  line-height: 1.4;
}
@media screen and (max-width:767px) {
  .natural h2 {
    font-size: 18px;
  }
}

.natural h2:not(:first-child) {
  margin-top: 55px;
}
@media screen and (max-width:767px) {
  .natural h2:not(:first-child) {
    margin-top: 40px;
  }
}

.natural h2:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width:767px) {
  .natural h2:not(:last-child) {
    margin-bottom: 20px;
  }
}

.natural h3 {
  background-color: #f1f4f8;
  border-left: 5px solid #12298c;
  color: #131415;
  font-size: 25px;
  font-weight: bold;
  font-family: 'NotoSansCJKjp', sans-serif;
	letter-spacing: .15em;
  line-height: 1.5;
  padding: 10px 25px 10px 20px;
}
@media screen and (max-width:767px) {
	.natural h3 {
    font-size: 20px;
    padding: 15px 20px 15px 15px;
	}
}

.natural h3:not(:first-child) {
  margin-top: 50px;
}
@media screen and (max-width:767px) {
	.natural h3:not(:first-child) {
		margin-top: 40px
	}
}
.natural h3:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (max-width:767px) {
  .natural h3:not(:last-child) {
  	margin-bottom: 20px;
  }
}

.natural h4 {
  color: #131415;
  font-size: 20px;
  font-weight: bold;
  font-family: 'NotoSansCJKjp', sans-serif;
  letter-spacing: .15em;
  line-height: 1.8;
  padding-bottom: 8px;
  position: relative;
}
.natural h4:before {
  content: "";
  border-bottom: 1px solid #d3dae2;
  bottom: 2px;
  left: 0;
  width: 100%;
  position: absolute;
}
.natural h4:after {
  content: "";
  border-bottom: 1px solid #d3dae2;
  bottom: 0;
  left: 0;
  width: 100%;
  position: absolute;
}

@media screen and (max-width:767px) {
  .natural h4 {
    font-size: 18px;
  }
}

.natural h4:not(:first-child) {
  margin-top: 30px;
}
@media screen and (max-width:767px) {
  .natural h4:not(:first-child) {
    margin-top: 25px;
  }
}

.natural h4:not(:last-child) {
  margin-bottom: 20px;
}

.natural h5 {
  border-left: 3px solid #12298c;
  color: #131415;
  font-family: 'NotoSansCJKjp', sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: .2em;
  line-height: 1.5;
  padding: 0 15px 0 12px;
}
@media screen and (max-width:767px) {
  .natural h5 {
    font-size: 17px;
  }
}

.natural h5:not(:first-child) {
  margin-top: 30px;
}
.natural h5:not(:last-child) {
  margin-bottom: 20px;
}

.natural p {
	color: #26292b;
	font-size: 16px;
	letter-spacing: .2em;
	line-height: 2;
}
@media screen and (max-width:767px) {
  .natural p {
    font-size: 13px;
	}
}

.natural--white p {
  color: #ffffff;
}

.natural p:not(:first-child) {
	margin-top: 20px
}
.natural p:not(:last-child) {
	margin-bottom: 20px
}

.natural figure figcaption,
.natural caption {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: .17em;
  margin-bottom: 5px;
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .natural figure figcaption,
  .natural caption {
    font-size: 12px;
    line-height: 1.9;
  }
}
.natural figure {
  max-width: 750px;
  margin: 0 auto;
}

.natural figure:not(:first-child) {
  margin-top: 30px;
}
.natural figure:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width:767px) {
  .natural figure:not(:first-child) {
    margin-top: 20px;
  }
  .natural figure:not(:last-child) {
    margin-bottom: 20px;
  }
}

.natural figure figcaption:first-child,
.natural caption:first-child {
  margin-top: 0
}

.natural pre:not(:first-child) {
  margin-top: 30px;
}

.natural pre:not(:last-child) {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .natural pre {
    font-size: 13px;
  }
}

.natural h1,.natural h2,.natural h3,.natural h4,.natural h5,.natural h6 {
  display: block;
}

.natural li,.natural dt {
  margin-top: 2.5px
}

.natural pre,.natural h1,.natural h2,.natural h3,.natural h5,.natural h6,.natural .solid,.natural hr,.natural blockquote {
  display: block;
}

.natural pre+pre,.natural h1+pre,.natural h2+pre,.natural h3+pre,.natural h4+pre,.natural h5+pre,.natural h6+pre,.natural .solid+pre,.natural hr+pre,.natural blockquote+pre,.natural table+pre,.natural pre+h1,.natural h1+h1,.natural h2+h1,.natural h3+h1,.natural h4+h1,.natural h5+h1,.natural h6+h1,.natural .solid+h1,.natural hr+h1,.natural blockquote+h1,.natural table+h1,.natural pre+h2,.natural h1+h2,.natural h2+h2,.natural h3+h2,.natural h4+h2,.natural h5+h2,.natural h6+h2,.natural .solid+h2,.natural hr+h2,.natural blockquote+h2,.natural table+h2,.natural pre+h3,.natural h1+h3,.natural h2+h3,.natural h3+h3,.natural h4+h3,.natural h5+h3,.natural h6+h3,.natural .solid+h3,.natural hr+h3,.natural blockquote+h3,.natural table+h3,.natural pre+h4,.natural h1+h4,.natural h2+h4,.natural h3+h4,.natural h4+h4,.natural h5+h4,.natural h6+h4,.natural .solid+h4,.natural hr+h4,.natural blockquote+h4,.natural table+h4,.natural pre+h5,.natural h1+h5,.natural h2+h5,.natural h3+h5,.natural h4+h5,.natural h5+h5,.natural h6+h5,.natural .solid+h5,.natural hr+h5,.natural blockquote+h5,.natural table+h5,.natural pre+h6,.natural h1+h6,.natural h2+h6,.natural h3+h6,.natural h4+h6,.natural h5+h6,.natural h6+h6,.natural .solid+h6,.natural hr+h6,.natural blockquote+h6,.natural table+h6,.natural pre+.solid,.natural h1+.solid,.natural h2+.solid,.natural h3+.solid,.natural h4+.solid,.natural h5+.solid,.natural h6+.solid,.natural .solid+.solid,.natural hr+.solid,.natural blockquote+.solid,.natural table+.solid,.natural pre+hr,.natural h1+hr,.natural h2+hr,.natural h3+hr,.natural h4+hr,.natural h5+hr,.natural h6+hr,.natural .solid+hr,.natural hr+hr,.natural blockquote+hr,.natural table+hr,.natural pre+blockquote,.natural h1+blockquote,.natural h2+blockquote,.natural h3+blockquote,.natural h4+blockquote,.natural h5+blockquote,.natural h6+blockquote,.natural .solid+blockquote,.natural hr+blockquote,.natural blockquote+blockquote,.natural table+blockquote,.natural pre+table,.natural h1+table,.natural h2+table,.natural h3+table,.natural h4+table,.natural h5+table,.natural h6+table,.natural .solid+table,.natural hr+table,.natural blockquote+table,.natural table+table {
  margin-top: 38px;
}

.natural ol:not(:first-child),.natural ul:not(:first-child),.natural dl:not(:first-child),.natural figure:not(:first-child) {
  display: block;
}

.natural p:not(:last-child),.natural ol:not(:last-child),.natural ul:not(:last-child),.natural dl:not(:last-child),.natural figure:not(:last-child) {
  display: block;
}

.natural a {
  color: #12298c;
  display: inline-block;
  text-decoration: none;
  position: relative;
  word-break: break-all;
}

/*.natural a:hover {
  color: #12298c;
}*/

.natural a:after {
  background-color: #12298c;
  bottom: 5px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

/*.natural a:hover:after {
  background-color: #12298c};
}*/

.natural a[target="_blank"] {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .natural a[target="_blank"] {
    padding-left: 15px;
  }
}
.natural a[target="_blank"]:before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS45NjkiIGhlaWdodD0iMTEuOTY5IiB2aWV3Qm94PSIwIDAgMTEuOTY5IDExLjk2OSI+CiAgPHBhdGggaWQ9IuODkeOCuV8yMTEiIGRhdGEtbmFtZT0i44OR44K5IDIxMSIgZD0iTS03ODguNTI5LDBoLTYuMzQyYS41MjguNTI4LDAsMCwwLS41MjguNTI5VjIuMTY3aC0zLjg3YS43LjcsMCwwLDAtLjcuN3Y4LjRhLjcuNywwLDAsMCwuNy43aDguNGEuNy43LDAsMCwwLC43LS43VjcuNGgxLjYzOEEuNTI4LjUyOCwwLDAsMC03ODgsNi44NzFWLjUyOUEuNTI5LjUyOSwwLDAsMC03ODguNTI5LDBabS0yLjYzOCwxMC45NjloLTcuOHYtNy44aDMuNTd2My43YS41MjcuNTI3LDAsMCwwLC41MjguNTI4aDMuN1pNLTc4OSw2LjRoLTUuNFYxaDUuNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc5OS45NjkpIiBmaWxsPSIjMTIyOThjIi8+Cjwvc3ZnPgo=");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
	content: "";
	top: 10px;
	left: 0;
	width: 12px;
	height: 12px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .natural a[target="_blank"]:before {
    width: 10px;
    height: 10px;
    top: 8px;
  }
}

/*.natural a[href$=".pdf"]:before {
	content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8ZyBpZD0i44Kw44Or44O844OX5YyWXzc5MyIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5fljJYgNzkzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTguNSAtNjkwKSI+CiAgICA8cGF0aCBpZD0i44OR44K5XzE4NDAiIGRhdGEtbmFtZT0i44OR44K5IDE4NDAiIGQ9Ik0xMDUuODU5LDY5My45MjhsLS45NTMuMjUyLjkzOCwzLjUwNy0yLjU2NiwyLjU2OC43LjcsMi41NjYtMi41NjcsMy41MDguOTM5LjI1NC0uOTU2LTMuNTA4LS45MzdaIi8+CiAgICA8cGF0aCBpZD0i44OR44K5XzE4NDEiIGRhdGEtbmFtZT0i44OR44K5IDE4NDEiIGQ9Ik0xMDguNDA2LDY5MEgxMDAuNXYzaC0ydjJoMnY5aDEyVjY5NFptMy4wOTQsMTNoLTEwdi04aDJ2LTJoLTJ2LTJIMTA4bDEuNiwxLjU2NywxLjksMS44NTRaIi8+CiAgPC9nPgo8L3N2Zz4K") no-repeat center;
  background-size: contain;
  width: 11px;
  height: 14px;
  left: 0;
  top: 50%;
  margin-top: -7px;
  position: absolute;
}*/

.natural strong {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .natural td,.natural th {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.natural ul:not(:first-child), .natural ol:not(:first-child) {
  margin-top: 5px
}

.natural ul:not(:last-child), .natural ol:not(:last-child) {
  margin-bottom: 5px
}


.natural ul > li {
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 16px;
  letter-spacing: .2em;
  line-height: 2;
  list-style-type: none;
  padding-left: 35px;
  position: relative;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .natural ul > li {
    font-size: 13px;
  }
}
.natural ul > li:before {
  background-color: #12298c;
  border-radius: 5%;
  content: "";
  height: 4px;
  display: block;
  position: absolute;
  top: 14px;
  left: 15px;
  width: 4px;
}
@media screen and (max-width: 767px) {
  .natural ul > li:before {
    top: 10px;
  }
}

/* IE */
@media all and (-ms-high-contrast: none) {
  .natural ul > li:before {
    top: 12px;
  }
}

/* 番号付きリスト */
.natural ol {
  display: list-item;
  padding-inline-start: 35px;
  list-style-type: decimal;
}
.natural ol li {
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 16px;
  letter-spacing: .2em;
  line-height: 2;
  display: list-item;
  list-style: inherit;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .natural ol li {
    font-size: 13px;
  }
}

/* Firefox */
@-moz-document url-prefix() {
  .natural ol {
    padding-inline-start: 25px;
  }
}

/* IE */
@media all and (-ms-high-contrast: none) {
  .natural ol {
    padding-left: 10px;
  }
  .natural ol li {
    list-style-position: inside;
  }
}

.natural table {
  border: inherit;
  border-style: inherit !important;
  border-color: inherit !important;
  margin: 40px 0px;
}
@media screen and (max-width: 767px) {
  .natural table {
    display: block;
    overflow-x: auto !important;
    height: 100% !important;
    table-layout: fixed !important;
  }
}
.natural tbody {
  border: 1px;
  border-style: dotted !important;
  border-color: #d3dae2 !important;
}

.natural table thead {
  border-top: 1px dotted #d3dae2;
  border-left: 1px dotted #d3dae2;
}

@media screen and (max-width: 767px) {
   .natural table tbody {
    display: block;
  }
  .natural table thead {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .natural table thead {
    width: 751px !important;
  }
  .natural table tbody {
    width: 750px !important;
  }
}

.natural table tr:not(:last-child) {
  border-bottom: 1px dotted #d3dae2;
}
.natural table th {
  box-sizing: border-box;
  background-color: #f1f4f8;
  border-right: 1px dotted #d3dae2;
  padding: 20px 15px;
}
@media screen and (max-width: 1049px) {
  .natural table th {
    width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .natural table th {
    width: 150px !important;
    padding: 15px 15px;
  }
  .natural table th:not(:first-child) {
    width: inherit;
  }
}

.natural table th, .natural table td {
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'NotoSansCJKjp', sans-serif;
  letter-spacing: .15em;
  line-height: 2;
  text-align: left;
  vertical-align: middle;
  color: #26292b;
}
@media screen and (max-width: 767px) {
  .natural table th, .natural table td {
    font-size: 13px;
  }
}

.natural table td {
  border: inherit;
  padding: 15px 15px;
  width: 250px;
}
@media screen and (max-width: 1049px) {
  .natural table td {
    width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .natural table td {
    width: 150px !important;
  }
}


.natural table td:not(:last-child) {
  border-right: 1px dotted #d3dae2;
}


/* ４：img＋h5＋btn */
@media screen and (max-width: 767px) {
  .figure+.heading-5+.natural {
    margin-bottom: 15px !important;
  }
}



/* IE */
@media all and (-ms-high-contrast: none) {
  .natural h3 {
    padding: 13px 25px 0 20px;
  }
  .natural h5 {
    padding-top: 8px;
  }
}

/* サイト全体で共通の HTML 要素のスタイル */
/* ==========================================================================

    初期化の設定

========================================================================== */

html {
  line-height: 1.3571428571;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 1049px) {
  html {
    font-size: 14px;
  }
}

body {
  overflow-x: hidden;
}
a {
  background-color: transparent;
  color: #0074d9
}

mark {
  background-color: #ffdc00;
  color: #111
}

input[type=submit],input[type=reset],html input[type=button],button {
    -webkit-appearance: button
}

input[type=search]:: -webkit-search-cancel-button,input[type=search]:: -webkit-search-decoration {
    -webkit-appearance: none
}

input[type=search] {
  -webkit-appearance: textfield
}

hr,img,iframe,fieldset,legend {
    border: 0
}

input:: -moz-focus-inner,button:: -moz-focus-inner {
    border: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

table {
    border-collapse: collapse
}

input[type=text],input[type=search],input[type=tel],input[type=url],input[type=email],input[type=password],input[type=number],input[type=color],textarea {
    border-radius: 0
} 

table {
    border-spacing: 0
}

table th {
    background-color: transparent;
    border: none;
}

sub {
    bottom: -.2em
}

input[type=checkbox],input[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

hr,input[type=search] {
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input,button,select,optgroup,textarea {
    color: inherit
}

html body [disabled] {
    cursor: default
}

input[type=submit],input[type=reset],html input[type=button],button {
    cursor: pointer
}

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

video,audio,progress,canvas {
    display: inline-block
}

[hidden],template {
    display: none
}

h1,h2,h3,h4,h5,h6,address,pre,code,samp,kbd,th,input,button,select,optgroup,textarea {
    font: inherit
}

pre,code,samp,kbd {
    font-family: Noto Mono,monospace
}

sub,sup {
    font-size: 78.5714285714%
}

small {
    font-size: 85.7142857143%
}

strong,b,optgroup {
  font-weight: 700
}
hr {
    height: 0
}
img {
    height: auto
}

input[type=number]:: -webkit-inner-spin-button,input[type=number]:: -webkit-outer-spin-button {
    height: auto
}

sub,sup {
    line-height: 0
}

input,button {
    line-height: 1.3214285714
}
@media(min-width: 768px) and (max-width: 1049px) {
    input,button {
    line-height: 1.3035714286}
}
@media(max-width: 414px) {
    input,button {
    line-height: 1.2857142857}
}
li {
    list-style: none
}

body,h1,h2,h3,h4,h5,h6,p,hr,pre,blockquote,ol,ul,dl,dd,figure,input,button,select,optgroup,textarea,fieldset {
    margin: 0
}
img,iframe,video,canvas {
    max-width: 100%
}

pre,textarea {
    overflow: auto
}

button {
    overflow: visible
}

ol,ul,td,th,input[type=checkbox],input[type=radio],fieldset,legend {
    padding: 0
}

input:: -moz-focus-inner,button:: -moz-focus-inner {
    padding: 0
}

sub,sup {
    position: relative
}

q:after {
    content: "\201D"
}

q:before {
    content: "\201C"
}

caption,th {
    text-align: left
}

abbr[title] {
    text-decoration: none
}

button,select {
    text-transform: none
}

sup {
    top: -.6em
}

sub,sup,progress,meter {
    vertical-align: baseline
}

img,iframe,video,audio,input[type=image],textarea,canvas {
    vertical-align: bottom
}

.list--float:after,.section--footer__breadcrumb-nav__list:after {
    clear: both;
    content: "";
    display: block
}

audio: not([controls]) {
    display: none;
    height: 0
}

svg: not(: root) {
    max-width: 100%;
    overflow: hidden;
    vertical-align: bottom
}

ul {
  list-style-type: none;
}

/* ==========================================================================

    サイト全体で共通の要素のスタイル

========================================================================== */

::selection {
	background: rgba(9, 21, 71, .2);
}

::-moz-selection {
	background: rgba(9, 21, 71, .2);
}

html {
  color: #131415;
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: .17em;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
@media screen and (max-width: 767px) {
  html {
    font-size: 13px;
  }
}

body {
}

a {
  text-decoration: none;
}

a:focus {
  outline: none;
}

input[type="text"],
input[type="email"] {
  -webkit-appearance: none;
}

textarea {
  -webkit-appearance: none;
}

button {
	background: none;
	border: none;
	padding: 0;
}

button:focus {
  outline: none;
}

ul,ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

select:focus {
  outline: none;
}

sup {
  font-size: .6em;
  margin-left: 5px;
}

/* サイト全体で共通の微調整用の便利スタイル */
.block {
  display: block;
  text-decoration: none;
}

.block,.block:active,.block:visited {
  color: inherit;
}

.break {
  word-wrap: break-word;
}

.full {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}

.stick {
  margin: 0!important;
}

.stick-bottom {
  margin-bottom: 0!important
}

.stick-left {
  margin-left: 0!important
}

.stick-right {
  margin-right: 0!important
}

.stick-top {
  margin-top: 0!important
}

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

.text-left {
  text-align: left!important
}

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

.text-lower {
  text-transform: lowercase
}

.text-upper {
  text-transform: uppercase
}

.word {
  display: inline-block
}

/* サイト全体で共通のレイアウトスタイル */
/* ==========================================================================

    site-header

========================================================================== */

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



/* ヘッダー
--------------------------------- */

@media screen and (min-width: 1050px) {
	body {
		margin-left: auto;
		position: relative;
	}
}

body.is-fixed {
    position: fixed;
    overflow: hidden;
	width: 100%;
}

.body-wrapper {
	position: relative;
    overflow-x: hidden;
}

.site-header {
	box-sizing: border-box;
	padding-left: 110px;
	position: absolute;
	transition: .5s;
	top: 30px;
	width: 100%;
	z-index: 5;
}
@media screen and (max-width: 1420px) {
	.site-header {
		padding-left: 100px;
	}
}
@media screen and (max-width: 1049px) {
	.site-header {
		background-color: #ffffff;
		padding: 20px 10px;
		top: 0;
		width: 260px;
	}
}
@media screen and (max-width: 767px) {
	.site-header {
		padding: 19px 10px;
		width: 180px;
	}
}

.site-header__inner {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
}

.site-header__inner__logo {
	margin-right: 140px;
	width: 228px;
}
@media screen and (max-width: 1529px) {
	.site-header__inner__logo {
		margin-right:  70px;
		width: 178px;
	}
}
@media screen and (max-width: 1250px) {
	.site-header__inner__logo {
		margin-right:  40px;
		width: 118px;
	}
}
@media screen and (max-width: 1049px) {
	.site-header__inner__logo {
		margin: 0 auto;
		width: 200px;
	}
}
@media screen and (max-width: 767px) {
	.site-header__inner__logo {
		width: 140px;
	}
}


/* ナビゲーション
--------------------------------- */

.nav {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	-webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;;
	width: calc(100% - 368px);
}
@media screen and (max-width: 1529px) {
	.nav {
		margin-left: auto;
		width: calc(100% - 323px);
	}
}
@media screen and (max-width: 1420px) {
	.nav {
		width: calc(100% - 	170px);
	}
}
@media screen and (max-width: 1049px) {
	.nav {
		display: none;
	}
}

.nav .nav__inner {
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
}

.nav .nav__menu ul {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
}
@media screen and (max-width: 1049px) {
	.nav .nav__menu ul {
		display: block;
	}
}

.nav .nav__menu ul li {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	text-align: center;
}

.nav .nav__menu ul li:not(:last-child) {
	margin-right: 35px;
}
@media screen and (max-width: 1529px) {
	.nav .nav__menu ul li:not(:last-child) {
		margin-right: 20px;
	}
}

.nav .nav__menu ul > li > a {
	color: #ffffff;
	display: inline-block;
	font-family: 'NotoSansCJKjp-Medium', sans-serif;
	font-size: 14px;
	letter-spacing: .2em;
	line-height: 1.5;
	position: relative;
	transition: .5s;
}
@media screen and (max-width: 1420px) {
	.nav .nav__menu ul > li > a {
		font-size: 13px;
	}
}
@media screen and (max-width: 1250px) {
	.nav .nav__menu ul > li > a {
		font-size: 12px;
	}
}

.nav .nav__menu ul > li > a:hover {
	color: #afbac5;
}

.nav__utility {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	margin-left: 40px;
}
@media screen and (max-width: 1420px) {
	.nav__utility {
		margin-left: 30px;
	}
}
@media screen and (max-width: 1250px) {
	.nav__utility {
		margin-left: 20px;
	}
}

.nav__utility .nav__utility__extra ul li a {
	color: #ffffff;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 12px;
	letter-spacing: .3em;
	line-height: 1;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}

.nav__utility__contact {
	box-sizing: border-box;
	padding-left: 32px;
}
@media screen and (max-width: 1250px) {
	.nav__utility__contact {
		padding-left: 17px;
	}
}

.nav__utility__contact a {
	background-color: #ffffff;
	box-sizing: border-box;
	color: #131415;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 14px;
	letter-spacing: .3em;
	line-height: 1;
	padding: 13px 10px;
	position: relative;
	text-align: center;
	text-transform: lowercase;
	transition: .3s;
	transition-timing-function: ease-in;
	width: 170px;
}
@media screen and (max-width: 1420px) {
	.nav__utility__contact a {
		width: 130px;
	}
}
@media screen and (max-width: 1250px) {
	.nav__utility__contact a {
		font-size: 13px;
		min-height: 40px;
		width: 120px;
	}
}

.nav__utility__contact a:before {
	background-color: #ffffff;
	content: "";
	height: 1px;
	left: -32px;
	position: absolute;
    top: 50%;
	width: 32px;
}
@media screen and (max-width: 1250px) {
	.nav__utility__contact a:before {
		left: -20px;
		width: 20px;
	}
}

.nav__utility__contact a:after {
	background-color: #131415;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	text-align: center;
    transition: .3s;
	transition-timing-function: ease-in;
	width: 20px;
}
@media screen and (max-width: 1250px) {
	.nav__utility__contact a:after {
		width: 13px;
	}
}

.nav__utility__contact a:hover {
	padding: 13px 10px 13px 50px;
}

.nav__utility__contact a:hover:after {
	transition-delay: .15s;
	width: 40px;
	transform-origin: left;
}


.nav__utility__extra  ul li:first-child {
	border-bottom: 1px solid #ffffff;
}

@media screen and (min-width: 1050px) {
	.nav__utility__extra  ul li:nth-child(2) {
		padding-top: 10px;
	}
}

.nav__utility__extra  ul li:last-child {
	display: none;
}

.nav__utility__extra ul li a {
	color: #ffffff;
	display: block;
	text-align: center;
	text-transform: lowercase;
	transition: .3s;
	min-width: 160px;
}
@media screen and (max-width: 1420px) {
	.nav__utility__extra ul li a {
		min-width: 130px;
	}
}
@media screen and (max-width: 1250px) {
	.nav__utility .nav__utility__extra ul li a {
		min-width: 100px;
	}
}

.nav__utility__extra  ul li:first-child a {
	padding-bottom: 8px;
	text-transform: uppercase;
}

.nav__utility__extra  ul li:last-child a {
	padding-top: 7px;
	text-transform: lowercase;
}

.nav__utility__extra ul li a:hover {
	color: #afbac5;
}

.side-nav {
	background-color: #131415;
	box-sizing: border-box;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	flex-flow: column;
	height: 100vh;
    justify-content: space-between;
	left: 0;
	padding: 40px 10px 30px 10px;
	position: fixed;
	top: 0;
	width: 80px;
	z-index: 999;
}
@media screen and (max-width: 1049px) {
	.side-nav {
		background-color: transparent;
		height: auto;
		padding: 0;
		position: absolute;
		width: 36px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav {
		width: 30px;
	}
}

.side-nav__scroll {
	box-sizing: border-box;
	color: #ffffff;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 13px;
	letter-spacing: .3em;
	line-height: 1;
	height: 114px;
	text-transform: lowercase;
	padding-bottom: 60px;
	position: relative;
	margin: 0 auto;
	writing-mode: tb-rl;
	width: 15px;
}
@media screen and (min-width: 1050px) and (max-height: 600px) {
	.side-nav__scroll {
		display: none;
	}
}
@media screen and (max-width: 1049px) {
	.side-nav__scroll {
		color: #131415;
		height: 214px;
		padding-top: 100px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__scroll {
		padding-top: 70px;
	}
}
 
.side-nav__scroll:before {
	background-color: #ffffff;
	bottom: 0;
	content: "";
	height: 45px;
	left: 50%;
	position: absolute;
	width: 1px;
}
@media screen and (max-width: 1049px) {
	.side-nav__scroll:before {
		background-color: #131415;
	}
}

.side-nav__scroll:after {
	animation: scroll 1.5s ease-in infinite;
	background-color: #ffffff;
	bottom: 40px;
	content: "";
	height: 5px;
	left: calc(50% - 2.5px);
	position: absolute;
	width: 5px;
}
@media screen and (max-width: 1049px) {
	.side-nav__scroll:after {
		background-color: #131415;
	}
}

.side-nav__hamburger__bg {
	background-color: rgba(19, 20, 21, .5);
	content: "";
	left: -100%;
	height: 100%;
	position: absolute;
	top: 0;
	transition: .5s;
	transition-timing-function: ease-in;
	width: 100%;
	z-index: 997;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__bg {
		left: inherit;
		right: -100%;
		transition: .6s;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__bg {
		display: none;
	}
}

.side-nav__hamburger__bg.is-active {
	left: 0;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__bg.is-active {
		left: inherit;
		right: 0;
	}
}

.side-nav__hamburger__button {
	display: block;
	height: 78px;
	margin: 0 auto;
	padding-top: 30px;
	position: relative;
	width: 7px;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button {
		background-color: #131415;
		height: 60px;
		padding-top: 20px;
		position: fixed;
		right: 0;
		top: 7px;
		width: 70px;
		z-index: 999;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button {
		height: 50px;
		padding-top: 15px;
		width: 60px;
	}
}

.side-nav__hamburger__button:before,
.side-nav__hamburger__button:after {
	background-color: #ffffff;
	content: "";
	height: 20px;
	position: absolute;
	top: 0;
	transition: .5s;
	width: 1px;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button:before,
	.side-nav__hamburger__button:after {
		height: 1px;
		width: 30px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button:before,
	.side-nav__hamburger__button:after {
		width: 25px;
	}
}

.side-nav__hamburger__button:hover:before,
.side-nav__hamburger__button:hover:after {
	background-color: #afbac5;
}

.side-nav__hamburger__button:before {
	left: 0;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button:before {
		left: calc(50% - 15px);
		top: 18px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button:before {
		left: calc(50% - 12.5px);
		top: 14px;
	}
}

.side-nav__hamburger__button:after {
	right: 0;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button:after {
		left: calc(50% - 15px);
		right: 0;
		top: 24px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button:after {
		left: calc(50% - 12.5px);
		top: 20px;
	}
}

.side-nav__hamburger__button.is-active:before {
	left: 3px;
	transform: rotate(-45deg);
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button.is-active:before {
		left: calc(50% - 10px);
		top: 20px;
		transform: rotate(-45deg);
		width: 20px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button.is-active:before {
		top: 15px;
	}
}

.side-nav__hamburger__button.is-active:after {
	right: 3px;
	transform: rotate(-135deg);
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button.is-active:after {
		left: calc(50% - 10px);
		transform: rotate(-135deg);
		top: 20px;
		width: 20px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button.is-active:after {
		top: 15px;
	}
}

.side-nav__hamburger__button__text {
	color: #ffffff;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 13px;
	letter-spacing: .3em;
	line-height: 1;
	margin-left: -2px;
	text-transform: lowercase;
	transition: .3s;
	writing-mode: tb-rl;
	z-index: 2;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger__button__text {
		font-size: 12px;
		writing-mode: rl-tb;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__button__text {
		font-size: 11px;
		padding-left: 5px;
	}
}

.side-nav__hamburger__button:hover .side-nav__hamburger__button__text {
	color: #afbac5;
}

.side-nav__link {
	border-bottom: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	height: 115px;
	padding-bottom: 30px;
	padding-top: 30px;
}
@media screen and (max-width: 1049px) {
	.side-nav__link {
		display: none;
	}
}

.side-nav__link a {
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
	color: #ffffff;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 13px;
	letter-spacing: .3em;
	line-height: 1;
	-webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
	text-transform: lowercase;
	transition: .3s;
	position: relative;
	writing-mode: tb-rl;
    width: 100%;
}

.side-nav__link a:hover {
	color: #afbac5;
}

.side-nav__hamburger {
	background-color: #131415;
	box-sizing: border-box;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
    flex-flow: column;
	height: 100vh;
	left: -400px;
	justify-content: center;
	padding: 0 85px 0 55px;
	position: fixed;
	top: 0;
	transition: .3s;
	transition-timing-function: ease-in;
	width: 400px;
	z-index: 998;
}
@media screen and (max-height: 600px) {
	.side-nav__hamburger {
		overflow-y: scroll;
	}
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger {
		left: inherit;
		right: -420px;
		padding: 0 80px 0 80px;
		width: 420px;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger {
		padding: 0 40px;
		right: -100%;
		transition: .4s;
		width: 100%;
	}
}

.side-nav__hamburger.is-active {
	left: 80px;
}
@media screen and (max-width: 1049px) {
	.side-nav__hamburger.is-active {
		left: inherit;
		right: 0;
	}
}

.side-nav__hamburger__nav {
	padding-top: 50px;
}

.side-nav__hamburger__nav__title {
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
	color: #ffffff;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 16px;
	letter-spacing: .3em;
	line-height: 1;
	margin-bottom: 40px;
	text-transform: uppercase;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__title {
		font-size: 14px;
		margin-bottom: 27px;
	}
}

.side-nav__hamburger__nav__title:after {
	background: #ffffff;
	content: "";
	display: block;
	flex-grow: 1;
	height: 1px;
	margin-left: 15px;
}

.side-nav__hamburger__nav__menu ul li:not(:last-child) {
	margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__menu ul li:not(:last-child) {
		margin-bottom: 20px;
	}
}

.side-nav__hamburger__nav__menu ul li a {
	color: #ffffff;
	display: block;
	font-size: 22px;
	letter-spacing: .2em;
	line-height: 1.5;
	transition: .3s;
	transition-timing-function: ease-in;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__menu ul li a {
		font-size: 17px;
	}
}

.side-nav__hamburger__nav__menu ul li a:hover {
	color: #afbac5;
	transform: translateX(10px);
}

.side-nav__hamburger__nav__menu ul li a:after {
	display: inline-block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 12px;
	letter-spacing: .3em;
	line-height: 1;
	margin-left: 15px;
	text-transform: uppercase;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__menu ul li a:after {
		font-size: 10px;
		margin-left: 10px;
	}
}

.side-nav__hamburger__nav__menu ul li:first-child a:after {
	content: "History";
}

.side-nav__hamburger__nav__menu ul li:nth-child(2) a:after {
	content: "Strength";
}

.side-nav__hamburger__nav__menu ul li:nth-child(3) a:after {
	content: "Column List";
}

.side-nav__hamburger__nav__menu ul li:nth-child(4) a:after {
	content: "Case";
}

.side-nav__hamburger__nav__menu ul li:nth-child(5) a:after {
	content: "Company";
}

.side-nav__hamburger__nav__menu ul li:nth-child(6) a:after {
	content: "recruit";
}

.side-nav__hamburger__nav__utility__extra {
	margin-top: 75px;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__utility__extra {
		margin-top: 50px;
	}
}

.side-nav__hamburger__nav__utility__extra ul {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__utility__extra ul {
		margin-top: -15px;
	}
}

@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__utility__extra ul li {
		margin-top: 15px;
	}
}

@media screen and (min-width: 768px) {
	.side-nav__hamburger__nav__utility__extra ul li:first-child {
		margin-right: 30px;
		padding-right: 30px;
		position: relative;
	}

	.side-nav__hamburger__nav__utility__extra ul li:first-child:after {
		background-color: #ffffff;
		content: "";
		height: 15px;
		position: absolute;
		right: 0;
		top: calc(50% - 7.5px);
		width: 1px;
	}

	.side-nav__hamburger__nav__utility__extra ul li:last-child {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.side-nav__hamburger__nav__utility__extra ul li:not(:last-child) {
		margin-right: 30px;
		padding-right: 30px;
		position: relative;
	}

	.side-nav__hamburger__nav__utility__extra ul li:not(:last-child):after {
		background-color: #ffffff;
		content: "";
		height: 15px;
		position: absolute;
		right: 0;
		top: calc(50% - 7.5px);
		width: 1px;
	}
}

.side-nav__hamburger__nav__utility__extra ul li a {
	color: #ffffff;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 12px;
	letter-spacing: .3em;
	line-height: 1;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	text-transform: lowercase;
	transition: .4s;
}

.side-nav__hamburger__nav__utility__extra ul li:first-child a {
	text-transform: uppercase;
}

.side-nav__hamburger__nav__utility__extra ul li a:hover {
	color: #afbac5;
}

.side-nav__hamburger__nav__utility__contact {
	padding-left: 32px;
	margin-bottom: 50px;
}

.side-nav__hamburger__nav__utility__contact:not(:first-child) {
	margin-top: 30px;
}

.side-nav__hamburger__nav__utility__contact a {
	background-color: #ffffff;
	box-sizing: border-box;
	color: #131415;
	display: block;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 14px;
	letter-spacing: .3em;
	line-height: 1;
	padding: 13px 10px;
	position: relative;
	text-align: center;
	text-transform: lowercase;
	transition: .3s;
	transition-timing-function: ease-in;
	width: 170px;
}

.side-nav__hamburger__nav__utility__contact a:hover {
	padding-left: 50px;
}

.side-nav__hamburger__nav__utility__contact a:before {
	background-color: #ffffff;
	content: "";
	height: 1px;
	left: -32px;
	position: absolute;
    top: 50%;
	width: 32px;
}

.side-nav__hamburger__nav__utility__contact a:after {
	background-color: #131415;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
    top: 50%;
	transition: .3s;
	transition-timing-function: ease-in;
	width: 20px;
}

.side-nav__hamburger__nav__utility__contact a:hover:after {
	transition-delay: .15s;
	width: 40px;
	transform-origin: left;
}
/* ==========================================================================

    site-footer

========================================================================== */

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



.site-footer {
	background-color: #26292b;
	padding-bottom: 30px;
	padding-top: 80px;
	position: relative;
	width: calc(100% - 80px);
	padding-left: 80px
}
@media screen and (max-width: 1049px) {
	.site-footer {
		padding-bottom: 25px;
		padding-left: 0;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.site-footer {
  		padding-top: 60px;
	}
}

.site-footer__inner {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	flex-wrap: wrap;
	max-width: 1160px;
	padding-left: 80px;
}
@media screen and (max-width: 1300px) and (min-width: 1050px) {
	.site-footer__inner {
		padding-left: 50px;
		padding-right: 50px;
	}
}
@media screen and (max-width: 1049px) {
	.site-footer__inner {
		padding-left: 50px;
		padding-right: 50px;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner {
		display: block;
		overflow: hidden;
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* LP */
.site-footer--lp {
	padding-top: 30px;
}
@media screen and (max-width: 767px) {
	.site-footer--lp {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}
.site-footer--lp__copyright {
	margin-top: 0 !important;
}


/* 会社詳細 */
.site-footer__inner__about {
	box-sizing: border-box;
	position: relative;
	width: 40%;
}
@media screen and (max-width: 1049px) {
	.site-footer__inner__about {
		border-right: none;
		margin-bottom: 50px;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner__about {
		margin-bottom: 30px;
	}
}

.site-footer__inner__about__logo {
	width: 300px;
}
@media screen and (max-width: 767px) {
	.site-footer__inner__about__logo {
		width: 200px;
	}
}

.site-footer__inner__about__copy-en {
	color: #ffffff;
	font-family: 'Alata-Regular', sans-serif;
	margin-top: 25px;
	text-transform: uppercase;
}

.site-footer__inner__about__copy-en__sub {
	display: block;
	font-size: 16px;
	letter-spacing: .35em;
	line-height: 2;
}
@media screen and (max-width: 767px) {
	.site-footer__inner__about__copy-en__sub {
		font-size: 14px;
	}
}

.site-footer__inner__about__copy-en__main {
	display: block;
	font-size: 22px;
	letter-spacing: .35em;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.site-footer__inner__about__copy-en__main {
		font-size: 20px;
	}
}

.site-footer__inner__about__copy-ja {
	color: #ffffff;
	font-size: 14px;
	letter-spacing: .2em;
	line-height: 1.5;
	margin-top: 25px;
}
@media screen and (max-width: 767px) {
	.site-footer__inner__about__copy-ja {
		font-size: 13px;
		margin-top: 20px;
	}
}

.site-footer__inner__about__detail {
	font-size: 13px;
	font-weight: bold;
	letter-spacing: .17em;
	line-height: 2;
}


/* メニュー */
.site-footer__inner__menu {
	border-right: 1px dotted #cccccc;
	box-sizing: border-box;
	padding: 0 40px;
	width: 40%;
}
@media screen and (max-width: 1100px) and (min-width: 1050px) {
	.site-footer__inner__menu {
		padding: 0 30px;
	}
}
@media screen and (max-width: 1049px) {
	.site-footer__inner__menu {
		padding: 0 80px 0 0;
		width: 67%;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner__menu {
		border-bottom: 1px dotted #cccccc;
		border-right: none;
		padding: 0 0 25px 0;
		width: 100%;
	}
}

.site-footer__inner__menu ul {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	flex-wrap: wrap;
	position: relative;
}

.site-footer__inner__menu ul li {
	margin-bottom: 19px;
	width: calc(50% - 50px);
}
@media screen and (max-width: 1300px) and (min-width: 1050px) {
	.site-footer__inner__menu ul li {
		width: calc(50% - 25px);
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner__menu ul li {
		margin-bottom: 20px;
		width: calc(50% - 15px);
	}
}

.site-footer__inner__menu ul li:first-child {
	order: 1;
}

.site-footer__inner__menu ul li:nth-child(2) {
	order: 3;
}

.site-footer__inner__menu ul li:nth-child(3) {
	order: 5;
}

.site-footer__inner__menu ul li:nth-child(4) {
	margin-bottom: 0;
	order: 7;
}

.site-footer__inner__menu ul li:nth-child(5) {
	order: 2;
}

.site-footer__inner__menu ul li:nth-child(6) {
	order: 4;
}

.site-footer__inner__menu ul li:nth-child(7) {
	order: 6;
}

.site-footer__inner__menu ul li:nth-child(8) {
	margin-bottom: 0;
	order: 8;
}

.site-footer__inner__menu ul li:nth-child(-n+4) {
	margin-right: 100px;
}
@media screen and (min-width: 1320px) {
	.site-footer__inner__menu ul li:nth-child(-n+4) {
		min-width: 170px;
		margin-right: 70px;
	}
}
@media screen and (max-width: 1300px) and (min-width: 1050px) {
	.site-footer__inner__menu ul li:nth-child(-n+4) {
		margin-right: 50px;
	}
}
@media screen and (max-width: 1049px) {
	.site-footer__inner__menu ul li:nth-child(-n+4) {
		margin-right: 75px;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner__menu ul li:nth-child(-n+4) {
		margin-right: 30px;
	}
}


.site-footer__inner__menu ul li a {
	color: #ffffff;
	display: block;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: .2em;
	position: relative;
	transition: .5s;
}

.site-footer__inner__menu ul li a:hover,
.site-footer__inner__menu ul li a:hover:before {
	color: #afbac5;
}

.site-footer__inner__menu ul li a:before {
	color: #ffffff;
	content: "";
	display: block;
	font-size: 16px;
	font-family: 'Alata-Regular', sans-serif;
	letter-spacing: .35em;
	line-height: 1.5;
	margin-bottom: 7px;
	text-transform: uppercase;
	transition: .5s;
}
@media screen and (max-width: 767px) {
	.site-footer__inner__menu ul li a:before {
		font-size: 15px;
		margin-bottom: 8px;
	}
}

.site-footer__inner__menu ul li:first-child a:before {
	content: "History";
}

.site-footer__inner__menu ul li:nth-child(2) a:before {
	content: "Strength";
}

.site-footer__inner__menu ul li:nth-child(3) a:before {
	content: "COLUMN LIST";
}

.site-footer__inner__menu ul li:nth-child(4) a:before {
	content: "Casestudy";
}

.site-footer__inner__menu ul li:nth-child(5) a:before {
	content: "Document";
}

.site-footer__inner__menu ul li:nth-child(6) a:before {
	content: "FAQ";
}

.site-footer__inner__menu ul li:nth-child(7) a:before {
	content: "Company";
}

.site-footer__inner__menu ul li:nth-child(8) a:before {
	content: "Recruit";
}

/* フッターメニュー */
.site-footer__inner__utility {
	box-sizing: border-box;
	padding-left: 40px;
	width: 20%;
}
@media screen and (max-width: 1049px) {
	.site-footer__inner__utility {
		padding-left: 50px;
		width: 33%;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__inner__utility {
		margin-top: 30px;
		padding-left: 0;
		width: 100%;
	}
}

.site-footer__inner__utility ul li:not(:last-child) {
	margin-bottom: 7px;
}

.site-footer__inner__utility ul li a {
	color: #ffffff;
	display: block;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	padding-left: 13px;
	position: relative;
	transition: .5s;
}

.site-footer__inner__utility ul li a:hover {
	color: #afbac5;
}

.site-footer__inner__utility ul li a:before {
	background-color: #ffffff;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	width: 5px;
}

/* コピーライト */
.site-footer__copyright {
	color: #ffffff;
	font-family: 'Alata-Regular', sans-serif;
	font-size: 12px;
	letter-spacing: .2em;
	line-height: 1.75;
	margin-top: 50px;
	text-transform: uppercase;
}
@media screen and (max-width: 1049px) {
	.site-footer__copyright {
		margin-top: 70px;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__copyright {
		font-size: 11px;
		line-height: 1.6;
		margin-top: 55px;
	}
}

.site-footer__copyright__inner {
	box-sizing: border-box;
	padding: 0 80px;
}
@media screen and (max-width: 1049px) {
	.site-footer__copyright__inner {
		padding: 0 50px;
	}
}
@media screen and (max-width: 767px) {
	.site-footer__copyright__inner {
		padding: 0 20px;
	}
}





/* パンくず */

.breadcrumb-wrap {
	padding: 14px 0;
	border-top: 1px solid #d3dae2;
}
/* IE */
@media all and (-ms-high-contrast: none) {
	.breadcrumb-wrap {
	  padding: 20px 0 15px 0;
	}
}
@media screen and (max-width: 1049px) {
  .breadcrumb-wrap {
	  overflow-x: scroll;
	  -ms-overflow-style: none;    /* IE, Edge 対応 */
	  scrollbar-width: none;       /* Firefox 対応 */
	  overflow-y: hidden;
	}
}
@media screen and (max-width: 767px) {
	.breadcrumb-wrap {
	  padding: 15px 0 15px 0;
	}
}
.hs-breadcrumb-menu {
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	-ms-flex-wrap: nowrap;
  flex-wrap: nowrap;;
	-webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;;
	box-sizing: border-box;
	float: none;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1250px;
	min-width: 320px;
	width: 100%;
}


.hs-breadcrumb-menu-item {
	padding: 0 20px;
  	float: none;
	white-space: nowrap;
}
.hs-breadcrumb-menu-item:first-child{
	padding-left: 0;
}
.hs-breadcrumb-menu-item:last-child{
	padding-right: 0;
}

.hs-breadcrumb-menu-item:before {
	content: "";
	top: 0;
	left: -20px;
	height: 15px;
	border-left: 1px dotted #d3dae2;
	position: relative;
}
.hs-breadcrumb-menu-item:first-child:before{
	border-left: none;
}
.hs-breadcrumb-menu-item.last-crumb {
	text-overflow: ellipsis;
}
@media screen and (max-width: 1049px) {
  .hs-breadcrumb-menu-item {
	overflow: visible;
  }
}
.hs-breadcrumb-menu-item {
	color: #afbac5;
}
.hs-breadcrumb-menu-item:last-child {
	overflow-x: hidden !important;
}
@media screen and (max-width: 1049px) {
	.hs-breadcrumb-menu-item:last-child {
		overflow-x: inherit !important;
		text-overflow: inherit;
	}
}
@media screen and (max-width: 320px) {
	.hs-breadcrumb-menu-item:last-child {
		padding-right: 20px;
	}
}

.hs-breadcrumb-menu-item .hs-breadcrumb-label {
	font-family: 'NotoSansCJKjp-Medium', sans-serif;
	font-size: 14px;
	letter-spacing: .2em;
	line-height: 2;
	color: #afbac5;
}
@media screen and (max-width: 767px) {
	.hs-breadcrumb-menu-item .hs-breadcrumb-label {
		font-size: 13px;
	}
}

.hs-breadcrumb-menu-item:last-child .hs-breadcrumb-label {
	white-space: nowrap !important;
}
@media screen and (max-width: 1049px) {
	.hs-breadcrumb-menu-item:last-child .hs-breadcrumb-label {
	  padding-right: 50px;
	}
  }
  @media screen and (max-width: 767px) {
	.hs-breadcrumb-menu-item:last-child .hs-breadcrumb-label {
	  padding-right: 20px;
	}
  }

.hs-breadcrumb-menu-item:first-child a.hs-breadcrumb-label {
	font-family: 'NotoSansCJKjp-Medium', sans-serif;
}
.hs-breadcrumb-menu-item a.hs-breadcrumb-label {
  color: #26292b;
  transition: .5s;
}
.hs-breadcrumb-menu-item a:hover.hs-breadcrumb-label {
  color: #12298c;
}

.hs-breadcrumb-menu-divider:before {
	display: none;
}
/* ==========================================================================

    site-content

========================================================================== */

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



.site-content {
  background-color: ;
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: calc(100% - 80px);
  padding-left: 80px
}
@media screen and (max-width: 1049px) {
  .site-content {
    width: 100%;
    padding-left: 0;
  }
}

main.body-container-wrapper {
	overflow: hidden;
	padding-bottom: 100px;
}
@media screen and (max-width: 149px) {
  main.body-container-wrapper {
    padding-bottom: 90px;
  }
}
@media screen and (max-width: 767px) {
  main.body-container-wrapper {
    padding-bottom: 70px;
  }
}

/* サイト全体で共通のモジュール */
/* ==========================================================================

    columns

========================================================================== */

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



.strength-business {
  padding: 100px 0 100px 0;
}
@media screen and (max-width: 767px) {
  .strength-business {
    padding: 80px 0 60px 0;
  }
  .strength-business .heading-2 {
    margin-bottom: 30px !important;
  }
}
@media screen and (max-width: 767px) {
  .columns--strength .columns__column {
    flex: inherit !important;
  }
}

.strength-business .heading-2 {
  position: relative;
}
@media screen and (max-width: 1049px) {
  .strength-business .heading-2 {
    margin-bottom: 45px !important;
  }
}
@media screen and (max-width: 767px) {
  .strength-business .heading-2 {
    margin-bottom: 30px !important;
  }
}

.strength-business .heading-2:before {
  text-align: center;
  content: attr(data-heading2);
  color: #131415;
  display: block;
  font-family: 'Alata-Regular', sans-serif;
  font-size: 50px;
  letter-spacing: .35em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 20px;
  opacity: 0;
  transition: .4s;
  transition-timing-function: ease-in;
  text-transform: uppercase;
  transform: translateX(-80px);
}
@media screen and (max-width: 767px) {
  .strength-business .heading-2:before {
    font-size: 32px;
    margin-bottom: 10px;
  }
}
.strength-business .heading-2.is-active:before {
  opacity: 1;
  transform: translateX(0);
}


.strength-business .heading-2 .heading-2__inner--ja {
  padding: 2px 0 2px 5px;
}


/* IE */

@media all and (-ms-high-contrast: none) {
  .strength-business .heading-2 .heading-2__inner--ja {
    padding: 11px 0 2px 5px;
  }
}
/* ==========================================================================

    リンクカラム（交互）

========================================================================== */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



.reverse-columns {
  box-sizing: border-box;
  counter-reset: number;
}

.reverse-columns__column {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  position: relative;
  min-height: 765px;
}
@media screen and (max-width: 767px) {
  .reverse-columns__column {
    min-height: inherit;
  }
}
.reverse-columns__column--even {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1049px) {
  .reverse-columns__column {
    display: block;
    height: auto;
  }
}

.reverse-columns__column__summary {
  box-sizing: border-box;
  width: 50%;
}
@media screen and (max-width: 1049px) {
  .reverse-columns__column__summary {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .reverse-columns__column__summary {
    padding: 30px 20px 30px 20px;
  }
}

.blue--bg--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  flex-wrap: wrap;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
  width: 100%;
  height: 100%;
}
.blue--bg {
  position: relative;
}
.blue--bg:before {
  content: counter(number , decimal-leading-zero);
  counter-increment: number;
  color: #ffffff;
  font-size: 80px;
  font-family: 'Alata-Regular', sans-serif;
  line-height: 1;
  letter-spacing: .1em;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
}
@media screen and (max-width: 767px) {
  .blue--bg:before {
    font-size: 45px;
    top: 15px;
  }
}
.blue--bg:after {
  background-color: #ffffff;
  content: "";
  width: 40px;
  height: 2px;
  top: 115px;
  left: calc(50% - 20px);
  position: absolute;
}
@media screen and (max-width: 1049px) {
  .blue--bg:after {
    top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .blue--bg:after {
    width: 25px;
    left: calc(50% - 12.5px);
    top: 80px;
  }
}

.heading-2--point--wrap {
  display: block;
  padding-top: 170px;
  text-align: center;
}
@media screen and (max-width: 1049px) {
  .heading-2--point--wrap {
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .heading-2--point--wrap {
    padding-top: 105px;
  }
}

.heading-2--point--wrap .natural {
  color: #ffffff;
  font-size: 22px;
  letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
  .heading-2--point--wrap .natural {
    font-size: 17px;
  }
}

.heading-2--point--main {
 margin-top: 30px !important;
 margin-bottom: 75px !important;
}
@media screen and (max-width: 1049px) {
  .heading-2--point--main {
    margin-top: 30px !important;
    margin-bottom: 50px !important;
  }
}
@media screen and (max-width: 767px) {
  .heading-2--point--main {
    margin-top: 20px !important;
    margin-bottom: 30px !important;
  }
}
.heading-2--point--main .heading-2--point--main__inner {
  color: #131415;
  display: inline-block;
  font-size: 40px;
  font-family: 'NotoSansCJKjp-Medium', sans-serif;
  line-height: 1.5;
  letter-spacing: .2em;
  padding:  0 0 0 5px;
  opacity: 0;
  transition: .3s;
  transition-timing-function: ease-in;
  position: relative;
}
@media screen and (max-width: 767px) {
  .heading-2--point--main .heading-2--point--main__inner {
    font-size: 25px;
    line-height: 1.2;
  }
}
.heading-2--point--main .heading-2--point--main__inner:before {
  content: "";
  background-color: #ffffff;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  transform: scale(0,1);
  transform-origin: left top;
  transition: transform .2s;
  transition-timing-function: ease-in;
  position: absolute;
}
.reverse-columns__column--even .heading-2--point--main .heading-2--point--main__inner:before {
  transform-origin: right top;
}
.heading-2--point--main__inner__text {
  display: inline-block;
  opacity: 0;
  transition: .3s;
  transition-delay: .6s;
  transform: translateX(-30px);
}
.reverse-columns__column--even .heading-2--point--main__inner__text {
  transform: translateX(30px);
}

/* is-active */
.heading-2.is-active .heading-2--point--main {
  opacity: 1;
}
.heading-2.is-active .heading-2--point--main__inner {
  opacity: 1;
}
.heading-2.is-active .heading-2--point--main__inner:before {
  transform: scale(1,1);
}
.heading-2.is-active .heading-2--point--main__inner__text {
  opacity: 1;
  transform: translateX(0);
}

.blue--bg .natural p{
  color: #ffffff !important;
}


.reverse-columns__column__content {
  box-sizing: border-box;
  padding: 110px;
}
@media screen and (max-width: 1049px) {
  .reverse-columns__column__content {
    min-height: 633px;
    padding: 70px 50px 60px 50px;
  }
}
@media screen and (max-width: 767px) {
  .reverse-columns__column__content {
    min-height: 422px;
    padding: 25px 20px 30px 30px;
  }
}

.reverse-columns.bg_blue {
  background-color: #12298c;
}
.reverse-columns.bg_black {
  background-color: #131415;
}


.reverse-columns__column__image {
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1049px) {
  .reverse-columns__column__image {
    height: 570px;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .reverse-columns__column__image {
    height: 240px;
  }
}
.reverse-columns__column__image:before {
  content: attr(data-text);
  color: #ffffff;
  opacity: .6;
  font-size: 80px;
  font-family: 'Alata-Regular', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-align: right;
  bottom: -7px;
  right: -15px;
  position: absolute;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .reverse-columns__column__image:before {
    font-size: 42px;
    right: -7px;
    bottom: -4px;
  }
}
.reverse-columns__column--even .reverse-columns__column__image:before {
  text-align: left;
  left: 0;
}

.reverse-columns__column__image:after {
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgNy45NyA3Ljk3Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTt9LmNscy0ye2ZpbGw6dXJsKCPmlrDopo/jg5Hjgr/jg7zjg7Pjgrnjgqbjgqnjg4Pjg4FfMyk7fTwvc3R5bGU+PHBhdHRlcm4gaWQ9IuaWsOimj+ODkeOCv+ODvOODs+OCueOCpuOCqeODg+ODgV8zIiBkYXRhLW5hbWU9IuaWsOimj+ODkeOCv+ODvOODs+OCueOCpuOCqeODg+ODgSAzIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB2aWV3Qm94PSIwIDAgOCA4Ij48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiLz48cmVjdCB4PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0Ii8+PHJlY3QgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIvPjwvcGF0dGVybj48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHJlY3QgY2xhc3M9ImNscy0yIiB3aWR0aD0iNy45NyIgaGVpZ2h0PSI3Ljk3Ii8+PC9nPjwvZz48L3N2Zz4=);
  background-size: 8px;
  bottom: 0;
  content: "";
  height: 100%;
  left: 0;
  opacity: .3;
  position: absolute;
  width: 100%;
} 

.reverse-columns__column__image__bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  left: 0;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 1049px) {
  .reverse-columns__column__image__bg {
    position: inherit;
  }
}


/* Firefox */

@-moz-document url-prefix() {
  .strength-columns .point-columns__column.solution-icon a:after {
    left: calc(50% - 4px);
  }
}

/* IE */

@media all and (-ms-high-contrast: none) {
  .heading-2--point--main .heading-2--point--main__inner {
    padding: 15px 0 0 7px;
  }
}
/* ==========================================================================

    columns

========================================================================== */

/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


/* ブレイクポイント
--------------------------------------*/





/* 色
--------------------------------------*/
















/* セレクション */



/* フォント
--------------------------------------*/
/* 基本のフォント */



/* 英字のフォント */






/* html 要素 */



/* 文字のサイズ
--------------------------------------*/
/* html 要素 */




/* small要素 */




/* sub、sup 要素 */





/* 文字のウェイト
--------------------------------------*/



/* 行間
--------------------------------------*/
/* line-height-root-* 用*/










/* line-height-normal-* 用 */











/* containerの設定
--------------------------------------*/
/* 幅の上限と下限 */



/* 左右内側の余白 */





/* natural の設定
--------------------------------------*/
/* 要素間の上下余白 */





/* 上下マージン
----------------------------------------------*/
/* between column */



















/* 設定
---------------------------------------*/

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */


/* 説明リスト */

.strength-list {
  padding-top: 120px;
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 1049px) {
  .strength-list {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .strength-list {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
.strength-list:before {
  content: "";
  background-color: #f1f4f8;
  height: 100%;
  width: calc(100% - 350px);
  top: 0;
  right: 0;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 1049px) {
  .strength-list:before {
    width: calc(100% - 170px);
  }
}
@media screen and (max-width: 767px) {
  .strength-list:before {
    width: calc(100% - 70px);
  }
}

.strength-list .heading-2 {
  position: relative;
  margin-bottom: 40px !important;
}
.strength-list .heading-2:before {
  content: attr(data-heading2);
  color: #131415;
  display: block;
  font-family: 'Alata-Regular', sans-serif;
  font-size: 50px;
  letter-spacing: .35em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 20px;
  opacity: 0;
  transition: .4s;
  transition-timing-function: ease-in;
  text-transform: uppercase;
  transform: translateX(-80px);
}
.strength-list .heading-2.is-active:before {
  opacity: 1;
  transform: translateX(0);
}

@media screen and (max-width: 767px) {
  .strength-list .heading-2 {
    margin-bottom: 20px !important;
  }
  .strength-list .heading-2:before {
    font-size: 30px ;
  }
  .strength-list .heading-2 .heading-2__inner--ja {
    line-height: 1.2;
  }
}
.strength-list .heading-2 .heading-2__inner--ja {
  padding: 1px 0 2px 5px;
}

.strength__item {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .strength__item {
    margin-top: 30px;
  }
}
.strength__item img {
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .strength-list .description-list {
    margin-top: 25px !important;
  }
}

.strength-list .description-list .description-list__item .description-list__heading {
  letter-spacing: .2em;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .strength-list .heading-3 {
    font-size: 16px;
  }
  .strength-list .heading-3 .heading-link a {
    padding-left: 40px;
  }
  .strength-list .heading-link a:before {
    width: 24px;
    height: 24px;
    top: 0;
  }
  .strength-list .heading-link a:after {
    top: 9px;
    left: 10px;
  }
}



/* チェックリスト */

.strength-check-list {
  padding-top: 120px;
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 1049px) {
  .strength-check-list {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .strength-check-list {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
.strength-check-list:before {
  content: "";
  background-color: #f1f4f8;
  height: 100%;
  width: calc(100% - 350px);
  top: 0;
  right: 0;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 1049px) {
  .strength-check-list:before {
    width: calc(100% - 170px);
  }
}
@media screen and (max-width: 767px) {
  .strength-check-list:before {
    width: calc(100% - 70px);
  }
}

.strength-check-list .heading-2 {
  position: relative;
  margin-bottom: 40px !important;
}
.strength-check-list .heading-2:before {
  content: attr(data-heading2);
  color: #131415;
  display: block;
  font-family: 'Alata-Regular', sans-serif;
  font-size: 50px;
  letter-spacing: .35em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 20px;
  opacity: 0;
  transition: .4s;
  transition-timing-function: ease-in;
  text-transform: uppercase;
  transform: translateX(-80px);
}
.strength-check-list .heading-2.is-active:before {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 1049px) {
  .strength-check-list .heading-2:before {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .strength-check-list .heading-2 {
    margin-bottom: 20px !important;
  }
  .strength-check-list .heading-2:before {
    font-size: 30px !important;
    white-space: inherit;
  }
}
.strength-check-list .heading-2 .heading-2__inner--ja {
  padding: 1px 0 2px 5px;
}
@media screen and (max-width: 767px) {
  .strength-check-list .heading-2 .heading-2__inner--ja {
    line-height: 1.2;
  }
}

.strength-check-list .heading-2 .check-list__item {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .check-list__item {
    margin-top: 30px;
  }
}
.check-list__item img {
  text-align: center;
  width: 100%;
}

.check-list {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .check-list {
    margin-top: 30px;
  }
}
.check-list__summary {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
@media screen and (max-width: 1049px) {
  .check-list__summary {
    margin-left: -25px;
    margin-right: -25px;
  }
}
@media screen and (max-width: 767px) {
  .check-list__summary {
    margin-left: -10px;
    margin-right: -10px;
  }
}

.check-list__summary--child {
  box-sizing: border-box;
  color: #131415;
  font-size: 20px;
  font-family: 'NotoSansCJKjp-Medium', sans-serif;
  line-height: 1.5;
  letter-spacing: .2em;
  padding-left: 15px;
  padding-right: 15px;
  width: 33.3333%;
}
@media screen and (max-width: 1049px) {
  .check-list__summary--child {
    font-size: 18px;
    width: 50%;
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .check-list__summary--child {
    font-size: 14px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.check-list__summary--child:nth-child(n+4) {
  margin-top: 25px;
}
@media screen and (max-width: 1049px) {
  .check-list__summary--child:nth-child(n+3) {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .check-list__summary--child:nth-child(n+3) {
    margin-top: 20px;
  }
}
.check-list__summary--child__inner {
  display: block;
  padding-left: 40px;
  position: relative;
}
@media screen and (max-width: 1049px) {
  .check-list__summary--child__inner {
    padding-left: 30px;
  }
}
.check-list__summary--child__inner:before {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNXB4IiBoZWlnaHQ9IjIzcHgiIHZpZXdCb3g9IjAgMCA0OTYuMjMgNDQyLjcxIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzEyMjk4Yzt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0iXzIiIGRhdGEtbmFtZT0iMiI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDYzLjMsMEMzMzAuNDcsODUuMDgsMTk3LjExLDI5MiwxOTcuMTEsMjkyTDczLjUxLDE1MS42NSwwLDIyMS44MXMxMjUuNzcsMTEwLjQ4LDIxMS45MiwyMjAuOUMzNTQuNjgsMTM4LDQ5Ni4yMywxNS41Niw0OTYuMjMsMTUuNTZaIi8+PC9nPjwvZz48L3N2Zz4=");
  background-size: contain;
  background-repeat: no-repeat;
  width: 25px;
  height: 23px;
  top: 4px;
  left: 0;
  position: absolute;
}
@media screen and (max-width: 1049px) {
  .check-list__summary--child__inner:before {
    width: 20px;
    height: 19px;
    top: 2px;
  }
}
@media screen and (max-width: 767px) {
  .check-list__summary--child__inner:before {
    width: 18px;
    height: 17px;
    top: 2px;
  }
}

/* IE */

@media all and (-ms-high-contrast: none) {
  .strength-list .heading-2 .heading-2__inner--ja {
    padding: 11px 0 2px 5px;
  }
  .strength-check-list .heading-2 .heading-2__inner--ja {
    padding: 11px 0 2px 5px;
  }
}