@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 */


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

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

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

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&subset=japanese");
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

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

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

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

@-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;
  }
}

/* スライダー用 */
@-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;
  }
}
 
/* サイト全体で共通な自然なスタイル */
.natural {
  display: block;
}

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

.natural h2 {
  color: #04060c;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: .17em;
  line-height: 1.4;
  border-bottom: 2px solid #04060c;
  padding-bottom: 10px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .natural h2 {
    font-size: 20px;
    line-height: 1.5;
  }
}

.natural h2:not(:first-child) {
  margin-top: 60px;
}
@media screen and (max-width:1049px) {
  .natural h2:not(:first-child) {
    margin-top: 50px; 
  }
}

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

.natural h3 {
  color: #1c2a53;
  font-size: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
	letter-spacing: .17em;
  line-height: 1.5;
  padding-left: 15px;
  position: relative;
}
@media screen and (max-width:767px) {
	.natural h3 {
    font-size: 18px;
    line-height: 1.6;
	}
}

.natural h3:before {
  background-color: #1c2a53;
  content: "";
  height: 2px;
  left: 0;
  top: 15px;
  position: absolute;
  width: 6px;
}
@media screen and (max-width:1049px) {
  .natural h3:before {
    top: 14px;
  }
}
@media screen and (max-width:767px) {
  .natural h3:before {
    top: 13px;
  }
}

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

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

.natural h4 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .17em;
  line-height: 1.63;
}
 
@media screen and (max-width:767px) {
  .natural h4 {
    font-size: 16px;
  }
}

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

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

.natural h5 {
  color: #525872;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: .15em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .natural h5 {
    font-size: 15px;
  }
}

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

.natural p {
	color: #04060c;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.natural p {
    font-size: 14px;
    line-height: 1.8;
	}
}

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

.natural figure figcaption,
.natural caption {
  line-height: 1.3214285714285714px;
  margin-bottom: 5px;
  margin-top: 5px;
} 

.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 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 a {
  color: #525872;
  text-decoration: none;
  transition: .5s;
  position: relative;
  word-break: break-all;
}

.natural a:hover {
  color: #efed1b;
}

.natural a:hover:after {
  background-color: #efed1b};
}

.natural a[target="_blank"] {
}

.natural a[target="_blank"]:before {
}

.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: 20px
}

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

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

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

.natural ul > li {
  color: #04060c;
  list-style-type: none;
  padding-left: 20px;
  position: relative;
  letter-spacing: .02em;
}
.natural ul > li:before {
  background-color: #525872;
  border-radius: 100%;
  content: "";
  height: 4px;
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
}

.natural ol {
  color: #04060c;
  padding-left: 1.5em;
  list-style-type: decimal;
}

.natural ol li {
  display: list-item;
  list-style: inherit;
  letter-spacing: .02em;
}

.natural blockquote:first-child {
  margin-top: 10px;
}
.natural blockquote:not(:first-child) {
  margin-top: 50px;
}
.natural blockquote {
  padding: 25px 20px;
  background-color: #f3f4f7;
  position: relative;
}
.natural blockquote {
	color: #1c2a53;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
	.natural blockquote {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: .13em;
	}
}

.natural blockquote:before {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjEuMzIgMTAyLjg2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2I4YmVjZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0iXzEwIiBkYXRhLW5hbWU9IjEwIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zOS42OSwyNy41OWEzNi42NiwzNi42NiwwLDAsMC0xMCwuNzFBNDUuMDcsNDUuMDcsMCwwLDEsNDUuOSwwYy0xOC41NCw4LjUyLTMzLjE4LDI0LjY4LTQxLDQzLjUyQzEuNDUsNTEuNzctLjc2LDYwLjc2LjI0LDY5LjY1QTM4LjE5LDM4LjE5LDAsMCwwLDE5LjQyLDk4LjMyYzIyLjUyLDEyLjQyLDUxLjUxLTEuOTIsNTUuNDctMjcuMjRBMzguNDQsMzguNDQsMCwwLDAsNjMuNTQsMzcuODIsMzguNDUsMzguNDUsMCwwLDAsMzkuNjksMjcuNTlaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTI1LjY5LDI3LjU5YTM2LjY2LDM2LjY2LDAsMCwwLTEwLC43MUE0NS4wNyw0NS4wNywwLDAsMSwxMzEuOSwwYy0xOC41NCw4LjUyLTMzLjE4LDI0LjY4LTQxLDQzLjUyLTMuNDQsOC4yNS01LjY1LDE3LjI0LTQuNjUsMjYuMTNhMzguMTksMzguMTksMCwwLDAsMTkuMTgsMjguNjdjMjIuNTIsMTIuNDIsNTEuNTEtMS45Miw1NS40Ny0yNy4yNGEzNy42OCwzNy42OCwwLDAsMC0zNS4yLTQzLjQ5WiIvPjwvZz48L2c+PC9zdmc+");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: -10px;
  left: 20px;
  width: 33px;
  height: 21px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .natural blockquote {
    margin-top: 30px;
  }
}



.natural table {
  border: 1px solid #d1d7dd;
  color: #04060c;
}
@media screen and (max-width: 767px) {
  .natural table {
    display: block;
    overflow: scroll;
    width: 100%;
  }
}

.natural table th {
  border-bottom: 1px solid #d1d7dd;
  background-color: #eff2f2;
  font-weight: 500;
  font-size: 18px;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .natural table th {
    font-size: 16px;
  }
}

.natural table th:not(:last-child) {
  border-right: 1px solid #d1d7dd;
}

.natural table tr:not(:last-child) {
  border-bottom: 1px solid #d1d7dd;
}

.natural table td {
  font-size: 16px;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .natural table td {
    font-size: 13px;
  }
}

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

/* サイト全体で共通の 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(44,77,219,.2);
}

::-moz-selection {
	background: rgba(44,77,219,.2);
}

html {
  color: #1c2a53;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: .17em;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 13px;
  }
}

body {
  margin: 0;
  word-break: normal;
  overflow-wrap:normal;
  line-break: strict;
}

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
}

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

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

    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 {
  overflow-x: hidden;
  position: relative;
  z-index: 1;
}

/* サイト全体で共通のエレメント */
/* ==========================================================================

    entry-button

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */







.section-entry-button {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .section-entry-button {
    margin-top: 30px;
    margin-bottom: 40px;
  }
}

.entry-button:not(:last-child) {
	margin-top: 40px;
}
@media screen and (max-width: 767px) {
	.entry-button:not(:last-child) {
		margin-top: 30px;
	}
}

.entry-button:not(:last-child) {
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.entry-button:not(:last-child) {
		margin-bottom: 40px;
	}
}

.entry-button {
	text-align: center;
}

.entry-button a {
	background-color: #1C2A53;
	box-sizing: border-box;
	color: #ffffff;
	display: inline-block;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .17em;
	line-height: 2;
	min-width: 450px;
	text-align: left;
	padding: 20px 100px 20px 20px;
	position: relative;
	transition: .5s;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3LjA2MSIgaGVpZ2h0PSIxMi43MDciIHZpZXdCb3g9IjAgMCA3LjA2MSAxMi43MDciPjxwYXRoIGQ9Ik0tMjAyMjIuMzY5LDEyOTIwLjQzOGwtLjM1NC0uMzU0LTYtNiwuNzA3LS43MDcsNS42NDMsNS42NDYsNS42NS01LjY0Ni43MDcuNzA3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyOTEzLjM3NyAtMjAyMTYuMDEyKSByb3RhdGUoLTkwKSIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==);
	background-size: 6px;
	background-position: 90% center;
	background-repeat: no-repeat;

}
@media screen and (max-width: 767px) {
	.entry-button a {
		display: block;
		font-size: 14px;
		margin: 0 auto;
		max-width: 450px;
		min-width: inherit;
		padding: 16px 93px 16px 20px;
	}
}

.entry-button.is-active a {
	pointer-events: inherit;
}

.entry-button a:after {
	content: attr(data-entry);
	display: block;
	font-family: 'Poppins-Bold', sans-serif;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .17em;
	line-height: 1;
	text-transform: uppercase;
	transition: .5s;
	width: 100%;
	opacity: .5;
	margin-top: 2px;
}
@media screen and (max-width: 767px) {
	.entry-button a:after {
		font-size: 13px;
	}
}

.entry-button a:before {
	content: "";
	height: 5px;
	position: absolute;
	left: 0;
	bottom: -5px;
	transition: .5s;
	width: 80px;
	background-color: #EFED1B;
}
@media screen and (max-width: 767px) {
	.entry-button a:before {
		width: 60px;
	}
}

@media screen and (min-width: 1050px) {
	.entry-button a:hover::before {
		width: 90px;

	}
}
/* ==========================================================================

    figure

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-image-caption {
	margin-bottom: 60px;
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	.section-image-caption {
		margin-bottom: 40px;
		margin-top: 40px;
	}
}






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

.figure {
	text-align: center;
	margin: 0 auto;
}

.figure img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.figure img {
		max-width: 100% !important;
	}
}

.figcaption {
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .15em;
	text-align: left;
}
.figcaption:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 414px) {
	.figcaption {
		font-size: 12px;
	}
}

.figure.figure--smallbottom:not(:last-child) {
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.figure.figure--smallbottom:not(:last-child) {
		margin-bottom: 25px;
	}
}

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

    billboard

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.billboard {
  position: relative;
}

.billboard.billboard--type02 {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-position: center;
  height: 300px;
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 1049px) {
  .billboard.billboard--type02 {
  }
}
@media only screen and (max-width: 767px) {
  .billboard.billboard--type02 {
    height: 265px;
  }
}

.billboard.billboard--type02:before {
  background-color: rgba(19, 19, 19,.3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.billboard.billboard--type02 .billboard__inner {
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
	box-sizing: border-box;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	height: 100%;
	padding-top: 40px;
}
@media screen and (max-width: 1049px) {
  .billboard.billboard--type02 .billboard__inner {
  }
}

.billboard.billboard--type02 .billboard__inner .container {
	width: 100%;
}
/* ==========================================================================

    button

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.button a {
	text-decoration: none;
}

.button--default:not(:first-child) {
  margin-top:  40px;
}
@media screen and (max-width: 767px) {
	.button--default:not(:first-child) {
		margin-top: 30px;
	}
}

.division-top-button {
	margin-top:  40px;
  }
  @media screen and (max-width: 767px) {
	.division-top-button {
		margin-top: 30px;
	  }
  }

.button--default:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .button--default:not(:last-child) {
		margin-bottom: 30px;
	}
}

.division-bottom-button {
	margin-bottom:  40px;
}
@media screen and (max-width: 767px) {
	.division-bottom-button {
		margin-bottom: 30px;
	}
}

.division-top-text-button-back {
	margin-top: 50px;
}

.text-center.button--default a {
	margin: 0 auto;
}

.button--default a,
.button--default__link,
.button--default button {
	border: 1px solid #1c2a53;
	box-sizing: border-box;
	color: #1c2a53;
	display: block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .17em;
	line-height: 2;
	max-width: 280px;
	text-align: center;
	padding: 13px 25px;
	position: relative;
	transition: .5s;
}
@media screen and (max-width: 767px) {
  .button--default a,
  .button--default__link,
  .button--default button {
	margin: 0 auto;
	padding: 13px 25px;
  }
}

.button--default a span,
.button--default__link span,
.button--default button span {
	display: inline-block;
	padding-right: 20px;
	position: relative;
}

.button--default a span:before,
.button--default button span:before,
.button--default__link span:before,
.button--default__link span:after,
.button--default a span:after,
.button--default button span:after {
	background-color: #1c2a53;
    content: "";
    height: 1px;
    position: absolute;
    right: 0;
	width: 6px;
}

.button--default a span:before,
.button--default__link span:before,
.button--default button span:before {
	transform: rotate(50deg);
	top: 13.5px;
}

.button--default a span:after,
.button--default__link span:after,
.button--default button span:after {
	transform: rotate(-50deg);
	top: 17.5px;
}

.button--default a:before,
.button--default__link:before,
.button--default button:before {
	background-color: #efed1b;
	bottom: 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	transition: .5s;
	transition-timing-function: ease-in;
	width: 60px;
}

.button--default a:hover:before,
.button--default__link:hover:before,
.button--default button:hover:before {
	width: 75px;
}

.button--default a:hover,.natural .cta_button:hover {
	animation: none !important;
}

.button--return a span {
	padding-right: 0 !important;
}
.button--return a span:before {
	right: inherit !important;
	left: 0 !important;
	position: absolute;
	transform: rotate(-50deg) !important;
}
.button--return a span:after {
	right: inherit !important;
	left: 0 !important;
	position: absolute;
	transform: rotate(50deg) !important;
}
 
.cta_button.button--default__link {
	border: 2px solid #1c2a53;
	max-width: inherit;
	min-width: 280px;
}
@media screen and (max-width: 767px) {
	.cta_button.button--default__link {
		min-width: inherit;
	}
}

.blog-post__body .natural a.cta_button.button--default__link {
	font-weight: bold;
}

.hs-cta-wrapper:not(:last-child) {
	margin-bottom: 20px;
}

.hs-cta-wrapper:not(:first-child) {
	margin-top: 20px;
}

.cta_button.button--default__link.button--default__link--wide {
	display: block;
}

.button--center a {
	margin: 0 auto;
}

.button--default--white a,
.button--default--white button {
	border: 1px solid #ffffff;
	color: #ffffff;
}

.button--default--white a span:before, 
.button--default--white button span:before, 
.button--default--white a span:after, 
.button--default--white button span:after {
	background-color: #ffffff;
}


/* テキストボタン */

.button--text:not(:first-child) {
  margin-top:  20px;
}
@media screen and (max-width: 767px) {
	.button--text:not(:first-child) {
		margin-top: 15px;
	}
}

.division-top-text-button {
	margin-top:  20px;
}
@media screen and (max-width: 767px) {
	.division-top-text-button {
		margin-top: 15px;
	}
}

.button--text:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .button--text:not(:last-child) {
		margin-bottom: 15px;
	}
}

.division-bottom-text-button {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.division-bottom-text-button {
		margin-bottom: 15px;
	  }
  }
  
.button--text a,
.button--text .button--text__link {
	color: #1c2a53;
	font-family: 'Poppins-Bold', sans-serif;
	font-size: 16px;
	letter-spacing: .15em;
	line-height: 2;
	padding-left: 15px;
	position: relative;
	text-transform: lowercase;
	transition: .5s;
}
@media screen and (max-width: 767px) {
	.button--text a,
	.button--text .button--text__link {
		font-size: 14px;
	}
}

.button--text a:hover {
	color: #efed1b;
}

.button--text a:before,
.button--text .button--text__link:before,
.button--text a:after,
.button--text .button--text__link:after {
	background-color: #131313;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: .5s;
	width: 6px;
}

.button--text a:before,
.button--text .button--text__link:before {
    transform: rotate(50deg);
    top: 7.5px;
}

.button--text a:after,
.button--text .button--text__link:after {
    transform: rotate(-50deg);
	top: 11.5px;
}

.button--text__link.button--text__link--ja {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.button--text__link.button--text__link--ja {
		font-size: 14px;
	}
}

.button--text__link.button--text__link--ja:before {
    top: 4.5px;
}

.button--text__link.button--text__link--ja:after {
	top: 8.5px;
}

.button--wide a {
	display: inline-block;
	max-width: inherit;
}

.button--text__link.button--text__link--ja.button--text__link--return {
	border-bottom: 1px solid #1c2a53;
	padding-bottom: 5px;
	padding-left: 20px;
	font-size: 16px;
    letter-spacing: .17em;
}

.button--text__link--return span:before,
.button--text__link--return span:after {
    background-color: #1c2a53;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: .5s;
	width: 6px;
}

.button--text__link--return span:before {
    transform: rotate(-50deg);
	top: 12.5px;
}

.button--text__link--return span:after {
	transform: rotate(50deg);
	top: 16.5px;
}

.button--text__link.button--text__link--ja {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 15px;
	letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.button--text__link.button--text__link--ja {
		font-size: 14px;
	}
}

.button--return.button--text:not(:first-child) {
	margin-top: 40px;
}

.button--text__link.button--text__link--ja:before {
    top: 4.5px;
}

.button--text__link.button--text__link--ja:after {
	top: 8.5px;
}

.button--text__link--return {
	border-bottom: 1px solid #1c2a53;
	padding-bottom: 5px;
}

.button--text__link.button--text__link--ja:before {
	background-color: #efed1b;
	bottom: -6px;
	content: "";
	height: 5px;
	left: 0;
	transform: inherit;
    top: inherit;
	position: absolute;
	width: 60px;
}

.button--text__link.button--text__link--ja:after {
	content: none;
}

.button--text__link--return span:before,
.button--text__link--return span:after {
    background-color: #1c2a53;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: .5s;
	width: 6px;
}

.button--text__link--return span:before {
    transform: rotate(-50deg);
	top: 12.5px;
}

.button--text__link--return span:after {
	transform: rotate(50deg);
	top: 16.5px;
}
/* ==========================================================================

    cta

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


/* フッター */
.cta-wrapper {
  margin-top: 60px;
  position: relative;
}
/* ==========================================================================

    container

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.container,
.row-fluid [class*="span"] .container{
	box-sizing: border-box;
	float: none;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1250px;
	min-width: 320px;
	padding-left: 100px;
	padding-right: 100px;
}
@media screen and (max-width:1049px) {
	.container,
	.row-fluid [class*="span"] .container {
		padding-left: 50px;
		padding-right: 50px;
	}
}
@media screen and (max-width:767px) {
	.container,
	.row-fluid [class*="span"] .container{
		padding-left: 20px;
		padding-right: 20px;
	}
}

.container--wide,
.row-fluid [class*="span"] .container--wide {
	max-width: inherit;
}

.hs-responsive-embed-wrapper {
	max-width: inherit !important;
	max-height: inherit !important;
}
/* ==========================================================================

    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 */


.columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
  margin-left: -15px;
  margin-right: -15px
}
@media screen and (max-width:767px) {
  .columns {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.columns--one>.columns__column.margin-top-heading-2:nth-child(n+2) {
  margin-top: 100px
}
@media screen and (max-width:767px) {
  .columns--one>.columns__column.margin-top-heading-2:nth-child(n+2) {
    margin-top: 80px
  }
}

@media screen and (min-width:768px) {
  .columns--two>.columns__column.margin-top-heading-2:nth-child(n+3) {
    margin-top: 100px
  }
}
@media screen and (max-width:767px) {
  .columns--two>.columns__column.margin-top-heading-2:not(:first-child) {
    margin-top: 80px
  }
}


.columns--two>.columns__column.margin-top-heading-3:nth-child(n+3) {
  margin-top: 60px
}
@media screen and (max-width:767px) {
  .columns--two>.columns__column.margin-top-heading-3:nth-child(n+2) {
    margin-top: 50px
  }
}


.columns__column.margin-top-heading-4 {
  margin-top: 50px
}
@media screen and (max-width:767px) {
  .columns__column.margin-top-heading-4 {
    margin-top: 40px
  }
}

.columns__column.margin-top-heading-5 {
  margin-top: 40px
}
@media screen and (max-width:767px) {
  .columns__column.margin-top-heading-5 {
    margin-top: 30px
  }
}

.columns__column {
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}

.columns .columns__column {
  padding-left: 15px;
  padding-right: 15px;
}

.columns--one>.columns__column:nth-child(n+2), 
.columns--one-two>.columns__column:nth-child(n+3), 
.columns--two-one>.columns__column:nth-child(n+3), 
.columns--four>.columns__column:nth-child(n+5) {
  margin-top: 50px
}

.columns--two>.columns__column:nth-child(n+3){
  margin-top: 50px;
}
@media screen and (max-width:767px) {
  .columns--two>.columns__column:nth-child(n+3){
    margin-top: 50px
  }
}

.columns--three>.columns__column:nth-child(n+4) {
  margin-top: 30px;
}

@media screen and (max-width:767px) {
  .columns__column {
    padding-left: 0;
    padding-right: 0;
  }
}

.columns--one>.columns__column {
  float: none;
  width: 100%
}
@media screen and (max-width:767px) {
.columns--one {
    margin-left: 0;
    margin-right: 0;
  }
}

.columns--two>.columns__column {
  width: 50%
}
@media screen and (max-width:767px) {
  .columns--two {
    margin-left: 0;
    margin-right: 0
  }
  .columns--two>.columns__column {
    width: 100%;
    padding: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--two>.columns__column:not(:first-child) {
    margin-top: 30px;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--two>.columns__column:not(:last-child) {
    margin-bottom: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
}
@media screen and (max-width:1049px) {
  .columns--two.columns--to-two {
    margin-left: -15px;
    margin-right: -15px
  }
  .columns--two.columns--to-two>.columns__column {
    width: 50%;
    padding-left: 15px;
    padding-right: 15px;
    -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;;
  }
  .columns--two.columns--to-two>.columns__column:not(:first-child) {
    margin-top: 0
  }
  .columns--two.columns--to-two>.columns__column:nth-child(n+3) {
    margin-top: 30px
  }
}

@media screen and (max-width:1049px) {
  .columns.columns--three.columns--to-three {
    margin-left: -10px;
    margin-right: -10px;
  }
  .columns--three.columns--to-three>.columns__column {
    width: 33.333%;
    padding-left: 10px;
    padding-right: 10px;
    -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;;
  }
  .columns--three.columns--to-three>.columns__column:not(:nth-last-child(-n+2)) {
    margin-bottom: 0;
  }
  .columns--three.movie-columns.columns--three>.columns__column:nth-child(n+3){
    margin-top: 20px;
  }
  .columns--three.movie-columns.columns--to-three>.columns__column:nth-child(n+3) {
    margin-top: 0;
  }
}
@media screen and (max-width:767px) {
  .columns--three.columns--to-three>.columns__column {
    width: 100%;
  }
  .columns--three.movie-columns.columns--three>.columns__column:nth-child(n+3){
    margin-top: 20px;
  }
  .columns--three.columns--to-three>.columns__column:not(:nth-last-child(-n+2)) {
    margin-bottom: 0;
  }
}


/* 1:2カラム */
.columns--one-two {
  margin-left: -25px;
  margin-right: -25px;  
}

.columns--one-two > .columns__column {
  padding-left: 25px;
  padding-right: 25px;
}

.columns--one-two>.columns__column:nth-child(odd) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;;
}
.columns--one-two>.columns__column:nth-child(even) {
  -webkit-box-flex: 2;
  -ms-flex: 2;
  flex: 2;;
}
@media screen and (max-width: 1049px) {
  .columns--one-two {
    margin-left: -15px;
    margin-right: -15px;  
  }
  
  .columns--one-two > .columns__column {
    padding-left: 15px;
    padding-right: 15px;
  }  
}

@media screen and (max-width:767px) {
  .columns--one-two {
    margin-left: 0;
    margin-right: 0
  }
  .columns--one-two>.columns__column {
    width: 100%;
    padding: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--one-two>.columns__column:nth-child(1) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--one-two>.columns__column:nth-child(2) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
    margin-top: 20px
  }
}

.columns--two-one>.columns__column:nth-child(1) {
  -webkit-box-flex: 2;
  -ms-flex: 2;
  flex: 2;;
}
.columns--two-one>.columns__column:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;;
}
@media screen and (max-width:767px) {
  .columns--two-one {
    margin-left: 0;
    margin-right: 0
  }
  .columns--two-one>.columns__column {
    width: 100%;
    padding: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--two-one>.columns__column:nth-child(1) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--two-one>.columns__column:nth-child(2) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
    margin-top: 30px
  }
}


.columns--three-one>.columns__column:nth-child(1) {
  -webkit-box-flex: 3;
  -ms-flex: 3;
  flex: 3;;
}
.columns--three-one>.columns__column:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;;
}
@media screen and (max-width:767px) {
  .columns--three-one {
    margin-left: 0;
    margin-right: 0
  }
  .columns--three-one>.columns__column {
    width: 100%;
    padding: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--three-one>.columns__column:nth-child(1) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--three-one>.columns__column:nth-child(2) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
    margin-top: 30px
  }
}

.columns--one-three {
  margin-bottom: 0
}
.columns--one-three>.columns__column:nth-child(odd) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;;
}
.columns--one-three>.columns__column:nth-child(even) {
  -webkit-box-flex: 3;
  -ms-flex: 3;
  flex: 3;;
}
@media screen and (max-width:767px) {
  .columns--one-three {
    margin-left: 0;
    margin-right: 0
  }
  .columns--one-three>.columns__column {
    width: 100%;
    padding: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--one-three>.columns__column:nth-child(1) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--one-three>.columns__column:nth-child(2) {
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
    margin-top: 30px
  }
}

.columns--three>.columns__column {
  width: 33.333%
}
@media screen and (max-width:1049px) {
  .columns--three>.columns__column {
    width: 50%
  }
  .columns--three>.columns__column:not(:nth-child(1)), .columns--three>.columns__column:not(:nth-child(2)) {
    margin-top: 0
  }
  .columns--three>.columns__column:nth-child(n+4) {
    margin-top: 50px
  }
}
@media screen and (max-width:767px) {
  .columns--three>.columns__column {
    width: 100%;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--three>.columns__column:not(:first-child) {
    margin-top: 20px;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--three>.columns__column:not(:last-child) {
    margin-bottom: 0;
    -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;;
  }
  .columns--three>.columns__column:nth-child(n+4) {
    margin-top: 0
  }
  .columns--three>.columns__column:nth-child(n+3) {
    margin-top: 0
  }
}
@media screen and (max-width:1049px) {
  .columns--three.columns--to-one>.columns__column {
    width: 50%;
    padding-left: 15px;
    padding-right: 15px
  }
}
@media screen and (max-width:767px) {
  .columns--three.columns--to-one>.columns__column {
    width: 100%
  }
}

/* 4カラム */
.columns--four>.columns__column {
  width: 25%
}
@media screen and (max-width:1049px) {
  .columns--four.columns--to-one > .columns__column {
    width: 50%
  }

  .columns--four.columns--to-one > .columns__column:nth-child(n+3) {
    margin-top: 35px
  }
}
@media screen and (max-width:767px) {
  .columns--four.columns--to-one {
    margin-left: 0;
    margin-right: 0;
  }

  .columns--four.columns--to-one>.columns__column {
    padding-left: 0;
    padding-right: 0;
    width: 100%
  }

  .columns--four.columns--to-one>.columns__column:nth-child(n+2) {
    margin-top: 20px;
  }

  .columns--four.columns--to-two > .columns__column {
    width: 50%;
  }
  .columns--four.columns--to-two > .columns__column:nth-child(n+3) {
    margin-top: 35px
  }
}


.columns--reverse>.columns__column:nth-child(1) {
    -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;;
}
@media screen and (max-width:767px) {
  .columns--reverse>.columns__column:nth-child(1) {
    -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;;
  }
}
.columns--reverse>.columns__column:nth-child(2) {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;;
}
@media screen and (max-width:767px) {
  .columns--reverse>.columns__column:nth-child(2) {
    -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;;
  }
}
.columns--vertical-center {
    -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
}

.division-top-4columns {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .division-top-4columns {
    margin-top: 30px;
  }  
}

.division-bottom-4columns {
  margin-bottom: 30px;
}

.division-top-check-list-columns {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .division-top-check-list-columns {
    margin-top: 60px;
  }
}

.division-bottom-check-list-columns {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .division-bottom-check-list-columns {
    margin-bottom: 25px;
  }
}

.check-list-columns {
  margin-left: -25px;
  margin-right: -25px;
}
@media screen and (max-width: 767px) {
  .check-list-columns {
    margin-left: 0;
    margin-right: 0;
  }
}

.check-list-columns > .columns__column {
  padding-left: 25px;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .check-list-columns > .columns__column {
    padding-left: 0;
    padding-right: 0;
  }
}

.division-top-text-button-heading-columns {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .division-top-text-button-heading-columns {
    margin-top: 30px;
  }
}

.division-bottom-text-button-heading-columns {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .division-bottom-text-button-heading-columns {
    margin-bottom: 20px;
  }
}

/* img＋textbutton（heading）＋p */

.text-button-heading-columns:not(:last-child) {
  margin-bottom: 50px;
}

 /* group image */

.division-top-group_image {
 margin-top: 40px; 
}
@media screen and (max-width: 767px) {
  .division-top-group_image {
    margin-top: 30px; 
   }   
}

.division-bottom-group_image {
  margin-bottom: 40px; 
 }
 @media screen and (max-width: 767px) {
  .division-bottom-group_image {
    margin-bottom: 30px; 
  }   
 }

.columns--image-layout {
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .columns--image-layout {
    display: block;
    max-width: 450px;
    margin: 0 auto;
  }
}

.columns--image-layout .columns__column {
  padding-left: 0;
  padding-right: 0;
  width: calc(50% - 1px);
}
@media screen and (max-width: 767px) {
  .columns--image-layout .columns__column {
    width: 100%;
  }
}

.columns--image-layout .columns__column .columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  margin-left: 0;
  width: 100%;
}

.columns--image-layout .columns__column .columns .columns__column {
  margin-bottom: 1px;
  margin-right: 1px;
  width: calc(50% - .5px);
  padding-left: 0;
  padding-right: 0;
}

.columns--image-layout .columns__column .columns .columns__column:nth-of-type(even) {
  margin-right: 0;
}

.columns--image-layout .columns__column .columns .columns__column:nth-last-child(-n+2) {
  margin-bottom: 0;
}

.columns--image-layout .columns__column:nth-child(1),
.columns--image-layout .columns__column:nth-child(2) {
  margin-top: 0;
}

.columns--image-layout .columns__column:nth-child(odd) {
  margin-right: 1px;
}
@media screen and (max-width: 767px) {
  .columns--two.columns--image-layout > .columns__column:first-child {
    margin-bottom: 1px;
  }
  .columns--two>.columns__column:not(:last-child) {
    -webkit-box-flex: inherit;
    flex: inherit;
  }

  .columns--two.columns--image-layout>.columns__column:first-child {
    -webkit-box-flex: inherit;
    flex: inherit;
  }

  .columns--two.columns--image-layout > .columns__column:nth-child(2) {
    margin-top: 1px;
  }

  _::-webkit-full-page-media, _:future, :root .columns--two.columns--image-layout > .columns__column:nth-child(2) {
    margin-top: 2px;
  }

  _::-webkit-full-page-media, _:future, :root .columns--image-layout .columns__column .columns .columns__column {
    margin-bottom: 2px;
  }
}


/* heading-icon-columns */

.division-top-heading-icon-columns {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .division-top-heading-icon-columns {
    margin-top: 40px;
  }  
}

.division-bottom-heading-icon-columns {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .division-bottom-heading-icon-columns {
    margin-bottom: 30px;
  }  
}

.heading-icon-columns:not(:last-child) {
  margin-bottom: 40px;
}

.heading-icon-columns__icon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .heading-icon-columns__icon-list {
    max-width: 80px;
  }
}

.heading-icon-columns__icon-list.view--is-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
}
@media screen and (max-width: 1049px) {
  .heading-icon-columns__icon-list.view--is-desktop {
    display: none;
  }
}

.heading-icon-columns__icon-list.view--is-laptop-lower {
  display: none;
}
@media screen and (max-width: 1049px) {
  .heading-icon-columns__icon-list.view--is-laptop-lower {
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  }
}

@media screen and (min-width: 768px) {
  .heading-icon-columns__icon-list__item:not(:last-child) {
    margin-right: 10px;
    max-width: 80px;
  }
}

.heading-icon-columns__icon-list__item {
  position: relative;
}
@media screen and (max-width: 1049px) {
  .heading-icon-columns__icon-list__item {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .heading-icon-columns__icon-list__item {
    margin-top: 0;
    max-width: 35px;
  }

  .heading-icon-columns__icon-list__item:nth-child(odd) {
    margin-right: 10px;
  }

  .heading-icon-columns__icon-list__item:nth-child(n+3) {
    margin-top: 10px;
  }

  .heading-icon-columns > .columns__column:first-child {
    -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;;
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  }

  .heading-icon-columns > .columns__column:first-child .figure {
    max-width: 450px;
    margin-right: 10px;
    width: calc(100% - 90px);
  }
}

@media screen and (min-width: 1050px) {
  .heading-icon-columns__icon-list__item:before {
    content: attr(data-icon-ballon);
    background-color: rgba(44,77,219,.8);
    border-radius: 4px;
    bottom: 40px;
    color: #ffffff;
    font-family: 'Poppins-Bold', sans-serif;
    font-size: 14px;
    letter-spacing: .35em;
    left: 50%;
    opacity: 0;
    padding: 10px 20px;
    position: absolute;
    transition: .5s;
    transform: translateX(-50%);
    z-index: -1;
  }
  
  .heading-icon-columns__icon-list__item:after {
    content: "";
    border-style: solid;
    border-width: 13px 12.5px 0 12.5px;
    border-color: rgba(44,77,219,.8) transparent transparent transparent;
    bottom: 27px;
    content: "";
    height: 0;
    left: calc(50% - 12.5px);
    opacity: 0;
    position: absolute;
    transition: .5s;
    width: 0;  
  }
  
  .heading-icon-columns__icon-list__item:hover:before,
  .heading-icon-columns__icon-list__item:hover:after {
      opacity: 1;
      z-index: 1;
    }  
}


/* category-columns */
.category-columns > .columns__column {
}

@media screen and (max-width: 1049px) and (min-width: 768px) {
  .category-columns > .columns__column:nth-child(2) .heading-3 {
    display: none;
  }

  .category-columns > .columns__column:nth-child(2) .tag-list {
    display: none;
  }
}

.category-columns > .columns__column .heading-3:not(:last-child) {
  margin-bottom: 25px;
}

.category-columns > .columns__column .heading-4:not(:first-child) {
  margin-top: 30px;
}

.category-columns > .columns__column .heading-4:not(:last-child) {
  margin-bottom: 20px;
}

@media screen and (max-width: 1049px) {
  .category-columns  {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }

  .category-columns > .columns__column {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  .category-columns > .columns__column:first-child {
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  }
  .category-columns > .columns__column:first-child .figure {
    margin-right: 40px;
    width: 190px;
  }
  .category-columns > .columns__column:first-child > div {
    width: calc(100% - 230px);
  }
  .category-columns > .columns__column:nth-child(2) .heading-4:not(:first-child) {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .category-columns > .columns__column:first-child .figure {
    margin: 0 auto;
    max-width: 180px;
    width: inherit;
  }
}
/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.dnd-section > .row-fluid {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1250px;
	min-width: 320px;
	padding-left: 100px;
	padding-right: 100px;
}
@media screen and (max-width: 1049px) {
	.dnd-section > .row-fluid {
		padding-left: 50px;
		padding-right: 50px;
	}
}
@media screen and (max-width: 767px) {
	.dnd-section > .row-fluid {
		padding-left: 20px;
		padding-right: 20px;
	}
}

div[class*="full-width-section"] > .row-fluid {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* ==========================================================================

    division

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */




.division-top-80 {
	margin-top: 80px;
}	

.division-bottom-80 {
	margin-bottom: 80px;
}	

.division-top-3l {
  margin-top: 100px;
}
.division-top-ll {
  margin-top: 60px;
}
.division-top-l {
  margin-top: 50px;
}
.division-top-m {
  margin-top: 40px;
}
.division-top-s {
  margin-top: 30px;
}

.division-img {
  overflow: hidden;
  width: 100%;
}
.division-img img {
  width: 100%;
}    

.hr-line {
  border: none;
  border-top: 1px solid ;
  margin: 0;
  padding: 1px 0;
  width: 100%;
}

@media only screen and (max-width: 1049px) {
  .division-top-3l {
    margin-top: 100px;
  }
  .division-top-ll {
    margin-top: 60px;
  }
  .division-top-l {
    margin-top: 50px;
  }
  .division-top-m {
    margin-top: 40px;
  }
  .division-top-s {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .division-top-3l {
    margin-top: 80px;
  }
  .division-top-ll {
    margin-top: 50px;
  }
  .division-top-l {
    margin-top: 40px;
  }
  .division-top-m {
    margin-top: 30px;
  }
  .division-top-s {
    margin-top: 25px;
  }
}

.line {
  border-top: 1px solid ;
}
/* ==========================================================================

  description-list

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.division-top-description-list {
  margin-top: 40px;
}

.division-bottom-description-list {
  margin-bottom: 40px;
}

.description-list:not(:first-child){
  margin-top: 40px;
}

.description-list:not(:last-child){
  margin-bottom: 40px;
}

.description-list__item {
  border-bottom: 1px dotted #acb2c3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  font-size: 15px;
  position: relative;
  width: 100%;
}
@media screen and (max-width:767px) {
  .description-list__item {
    display: block;
  }
}

.description-list__item:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width:767px) {
  .description-list__item:not(:last-child) {
    margin-bottom: 25px;
  }
}

.description-list__heading {
  box-sizing: border-box;
  color: #04060C;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 2;
  margin-bottom: 20px;
  padding-right: 30px;
  position: relative;
  vertical-align: top;
  width: 220px;
}
@media screen and (max-width:1049px) {
  .description-list__heading {
    padding-right: 40px;
    width: 210px;
  }
}
@media screen and (max-width:767px) {
  .description-list__heading {
    margin-bottom: 15px;
    padding-right: 0;
    width: auto;    
  }
}

.description-list__content {
  box-sizing: border-box;
  margin-bottom: 20px;
  padding-left: 30px;
  position: relative;
  vertical-align: top;
  width: calc(100% - 220px);
}
@media screen and (max-width:1049px) {
  .description-list__content {
    padding-left: 40px;
    width: calc(100% - 210px);
  }
}
@media screen and (max-width:767px) {
  .description-list__content {
    padding-left: 20px;
    width: 100%;
  }
}

.description-list__content:before {
  border-left: 1px dotted #acb2c3;
  content: "";
  height: 100%;
  position: absolute;
  left: -1px;
  top: 0;
  width: 1px;
}

.description-list__content .natural {
  margin-top: 0;
}
.description-list__content .natural p {
  font-size: 15px;
}
@media screen and (max-width:767px) {
  .description-list__content .natural p {
    font-size: 16px;
  }
}
/* ==========================================================================

    figure

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.figure {
	text-align: center;
}

.figure img {
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.columns .figure img {
		max-width: 450px;
		width: 100%;
	}
}

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

    link

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.link {
	color: #525872;
	display: inline-block;
	text-decoration: none;
	position: relative;
	transition: .5s;
	word-break: break-all;
}

.link:hover {
	color: #efed1b;
	text-decoration: none;
}

.link:after {
	background-color: #525872;
	bottom: 7px;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: .5s;
	width: 100%;
}

.link:hover:after {
	background-color: #efed1b;
}

.link--window:before {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDEyLjc1IDExLjYxNiI+DQogIDxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+DQogICAgPGcgaWQ9ImNvbnRlbnQiPg0KICAgICAgPHJlY3QgeD0iMC4zNzUiIHk9IjMuNTI1IiB3aWR0aD0iOCIgaGVpZ2h0PSI3LjcxNyIgc3R5bGU9ImZpbGw6IG5vbmU7c3Ryb2tlOiAjMGY2MTY2O3N0cm9rZS1saW5lY2FwOiByb3VuZDtzdHJva2UtbGluZWpvaW46IHJvdW5kO3N0cm9rZS13aWR0aDogMC43NXB4Ii8+DQogICAgICA8cmVjdCB4PSI0LjM3NSIgeT0iMC4zNzUiIHdpZHRoPSI4IiBoZWlnaHQ9IjcuNzE3IiBzdHlsZT0iZmlsbDogbm9uZTtzdHJva2U6ICMwZjYxNjY7c3Ryb2tlLWxpbmVjYXA6IHJvdW5kO3N0cm9rZS1saW5lam9pbjogcm91bmQ7c3Ryb2tlLXdpZHRoOiAwLjc1cHgiLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K") no-repeat center;
  background-size: contain;
	content: "";
  height: 11px;
  left: 0;
  margin-top: -5.5px;
  position: absolute;
  top: 50%;
  width: 12px;
}

.heading-link:not(:first-child) {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.heading-link:not(:first-child) {
		margin-top: 20px;
	}
}

.division-top-heading-link {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.division-top-heading-link {
		margin-top: 20px;
	}
}

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

.division-bottom-heading-link {
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.division-bottom-heading-link {
		margin-bottom: 20px;
	}
}

.heading-link a {
	color: #1c2a53;
	display: inline-block;
	padding-left: 40px;
	position: relative;
	text-decoration: none;
	transition: .5s;
}

.heading-link .heading-link__arrow {
	box-sizing: border-box;
	background-color: #ffffff;
	border: 1px solid #1c2a53;
	left: 0;
	position: absolute;
	top: 3px;
	transition: .5s;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1LjA2MSIgaGVpZ2h0PSI4LjcwNyIgdmlld0JveD0iMCAwIDUuMDYxIDguNzA3Ij4KICA8cGF0aCBpZD0i44OR44K5XzY3NjQiIGRhdGEtbmFtZT0i44OR44K5IDY3NjQiIGQ9Ik0tMTE5NjAuNC0xNDM4NC43NDhsNCw0LTQsNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTE5NjAuNzU1IDE0Mzg1LjEwMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFlMmI1MCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPgo=);
	background-repeat: no-repeat;
	background-size: 5px;
	background-position: center;
}
@media screen and (max-width: 767px) {
	.heading-link .heading-link__arrow {
		height: 24px;
		top: 0;
		width: 24px;
	}
}
.heading-2.heading-link .heading-link__arrow {
	width: 30px;
	height: 30px;
}
.heading-3.heading-link .heading-link__arrow,
.heading-4.heading-link .heading-link__arrow,
.heading-5.heading-link .heading-link__arrow {
	width: 25px;
	height: 25px;
}

.heading-link .heading-link__arrow:after {
	content: "";
	left: 0px;
	height: 5px;
	position: absolute;
	background-color: #efed1b;
	transition: .5s;
	bottom: 0px;
	width: 5px;
}
@media screen and (max-width: 767px) {
	.heading-link .heading-link__arrow:after {

	}
}

.heading-link a:hover .heading-link__arrow:after {
	width: 100%;
}


.link-id {
	margin-top: -60px;
	padding-top: 60px;
}

.map-link a {
	color: #bec7c7;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 2;
	padding-left: 27px;
	position: relative;
}
@media screen and (max-width: 767px) {
	.map-link a {
		font-size: 14px;
		letter-spacing: .13em;
		padding-left: 20px;
	}
}

.map-link a:before {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIyNyIgdmlld0JveD0iMCAwIDE3LjQ1IDI1LjQ4Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2JlYzdjNzt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNOC43MywwQTguNzMsOC43MywwLDAsMCwwLDguNzNjMCw0LjgxLDguNzMsMTYuNzUsOC43MywxNi43NXM4LjcyLTExLjk0LDguNzItMTYuNzVBOC43Myw4LjczLDAsMCwwLDguNzMsMFptMCwxMi4wNmEzLjgxLDMuODEsMCwxLDEsMy44LTMuODFBMy44MSwzLjgxLDAsMCwxLDguNzMsMTIuMDZaIi8+PC9nPjwvZz48L3N2Zz4=);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
	height: 27px;
	left: 0;
	position: absolute;
    top: calc(50% - 13.5px);
	width: 18px;
}
@media screen and (max-width: 767px) {
	.map-link a:before {
		height: 24px;
		width: 16px;
	}
}
/* ==========================================================================

form

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


fieldset {
	max-width: inherit !important;
	width: 100%;
	margin-top: 0 !important;
}

.form-title {
	color: #000000;
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:bold;
	letter-spacing: .17em;
	line-height:1;
}
@media screen and (max-width: 767px) {
	.form-title {
		font-size: 18px;
	}
}


.hs-input[type=text],
.hs-input[type=email],
.hs-input[type=tel],
select.hs-input,
textarea.hs-input {
	background-color: #ffffff;
	border: 1px solid #c0c0c6;
	box-sizing: border-box;
	border-radius: 5px;
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	padding: 10px 20px;
	letter-spacing: .05em;
	line-height: 1.5;
	color: #1c2a53;
	width: 100% !important;
	margin-top: 15px;
}
@media screen and (max-width: 767px) {
	.hs-input[type=text],
	.hs-input[type=email],
	.hs-input[type=tel],
	select.hs-input,
	textarea.hs-input {
		font-size: 14px;
		margin-top: 10px;
		padding: 9px 20px;
	}
}

input.hs-input {
	border-radius: 5px;
	margin-top: 15px;
}

.hs-input:focus {
	outline: none;
}

select.hs-input {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjYiIHZpZXdCb3g9IjAgMCA4IDYiPjxwYXRoIGQ9Ik0wLDgsNCw0LDAsMEgyTDYsNCwyLDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4KSByb3RhdGUoOTApIiBmaWxsPSIjMTgyMDQ1Ii8+PC9zdmc+);
		background-repeat: no-repeat;
	background-position: 97.5% center;
	border-radius: 5px;
	margin-top: 20px;
	-webkit-appearance:none;
	max-width: 425px;
}
@media screen and (max-width: 1049px) {
	select.hs-input {
		background-position: 95.5% center;
	}
}
@media screen and (max-width: 767px) {
	select.hs-input {
		background-position: 90.5% center;
	}
}

.input {
	margin-right: 0 !important;
	width: 100%;
}
@media screen and (max-width: 1049px) {
	.input {
		width: 100%;
	}
}

.hs-form-field {
	color: #1c2a53;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	margin-bottom: 35px;
}

.hs-form label {
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.hs-form label {
		font-size: 14px;
		width: 100%;
	}
}

.hs-form .hs-form-checkbox label {
	-webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.hs-form .hs-form-checkbox label {
		font-size: 14px;
	}
}

.hs-form .hs-form-checkbox label span {
	display: inline;
	margin-left: 10px;
	width: calc(100% - 15px);
}

.hs-form label.hs-error-msg {
	border-top: none;
	color: #f42b41;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15px;
	padding-left: 0;
	width: 100%;
}

.hs-form label.hs-error-msg:before {
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS44NDMiIGhlaWdodD0iMTEuODQzIiB2aWV3Qm94PSIwIDAgMTEuODQzIDExLjg0MyI+CiAgPHBhdGggaWQ9IuODkeOCuV8xMzIiIGRhdGEtbmFtZT0i44OR44K5IDEzMiIgZD0iTTEzOC40OTEsNjM5LjU2NmgwYTUuOTIxLDUuOTIxLDAsMCwwLTUuOTIxLDUuOTIxaDBhNS45MjEsNS45MjEsMCwwLDAsNS45MjEsNS45MjFoMGE1LjkyMSw1LjkyMSwwLDAsMCw1LjkyMS01LjkyMWgwQTUuOTIxLDUuOTIxLDAsMCwwLDEzOC40OTEsNjM5LjU2NlptLjY3Nyw5LjQxNGgtMS4zNTR2LTEuMzA1aDEuMzU0Wm0tLjItMi4xODhoLS45NjJsLS4zLTQuOGgxLjU3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzMi41NyAtNjM5LjU2NikiIGZpbGw9IiNjYjAzMDMiLz4KPC9zdmc+Cg==);
	display: inline-block;
	height: 14px;
	margin-right: 10px;
	vertical-align: inherit;
	width: 14px;
}

.hs-error-msgs.inputs-list {
	margin-top: 10px;
}

.hs-error-msgs label.hs-main-font-element {
	border-top: none;
	color: #f42b41;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	padding-top: 0;
	width: 100%;
}
.hs-form label .hs-form-required {
    color: #1c2a53;
}

.hs-richtext {
	margin-top: 20px;
	margin-bottom: 20px;
}
.hs-richtext p {
	color: #525872;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	letter-spacing: .17em;
	line-height: 2;
}
@media screen and (max-width: 767px) {
	.hs-richtext p {
		font-size: 14px;
		letter-spacing: .13em;
		line-height: 1.5;
	}
}
.hs-richtext p:not(:first-child) {
	margin-top: 20px;
}
.hs-richtext p:not(:last-child) {
	margin-bottom: 20px;
}

.hs-richtext a {
	color: #525872;
	display: inline-block;
	text-decoration: none;
	position: relative;
	word-break: break-all;
}

.hs-richtext a:after {
	background-color: #525872;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.hs-recaptcha .input {
	width: 100%;
}


.hs_submit {
	margin-top: 50px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.hs_submit {
		margin-top: 35px;
	}
}

/* 送信ボタン */
.actions {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}

.actions:after {
	content: "";
	background-color: #efed1b;
	height: 3px;
	width: 40px;
	left: 0px;
	bottom: -3px;
	transition: .5s;
	transition-timing-function: ease-in;
	position: absolute;
	z-index: 1;
}
@media screen and (max-width: 1049px) {
	.actions:after {
		transition: none;
		transition-timing-function: inherit;
	}
}
@media screen and (max-width: 767px) {
	.actions:after {
		width: 50px;
	}
}
.actions:hover:after {
	width: 80px;
}
@media screen and (max-width: 1049px) {
	.actions:hover:after {
		width: 65px;
	}
}
@media screen and (max-width: 767px) {
	.actions:hover:after {
		width: 50px;
	}
}


.hs-button {
	background-color: rgba(255,255,255,0);
	border: 1px solid #1c2a53;
	box-sizing: border-box;
	color: #1c2a53;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .17em;
	line-height: 2;
	padding: 13px 25px;
	position: relative;
	transition: .5s;
	text-align: center;
	min-width: 260px;
	z-index: 1;
}

.hs-button:focus {
	outline: none;
}

input.hs-input.error,
div.field.error input,
div.field.error textarea,
div.field.error .chzn-choices,
textarea.hs-input.error,
select.hs-input.error {
	border-color: #f42b41;
}

.inputs-list {
}

.hs-form-radio {
	display: inline;
}

.hs-form-radio:not(:last-child) {
	margin-right: 50px;
}

.inputs-list .hs-form-radio label {
	border: none;
	display: inline-block;
	font-size: 16px;
	padding-top: 0;
	width: inherit;
}

.inputs-list .hs-form-radio label span {
	display: inline-block;
		margin-left: 10px;
}

.inputs-list .hs-form-radio .hs-input {
	height: auto;
}

.form-columns-2 .hs-form-field {
	box-sizing: border-box;
	width: calc(50% - 25px) !important;
}
@media screen and (max-width: 767px) {
	.form-columns-2 .hs-form-field {
		width: 100% !important;
	}
}

.form-columns-2 .hs-form-field:last-child {
	margin-left: 50px;
}
@media screen and (max-width: 767px) {
	.form-columns-2 .hs-form-field:last-child {
		margin-left: 0;
	}
}

.hs-input[type=file] {
	border-radius: 0;
	font-weight: 500;
}

input::placeholder {
	color: #c0c0c6;
}
input:-ms-input-placeholder {
	color: #c0c0c6;
}
input::-ms-input-placeholder {
	color: #c0c0c6;
}

.hs-form-booleancheckbox label {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
	-webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;;
	-webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
}

.hs-form-booleancheckbox a {
	color: #1c2a53;
	display: inline-block;
	position: relative;
}

.hs-form-booleancheckbox a:before {
	border-bottom: 	1px solid #c0c0c6;
	content: "";
	width: calc(100% - 19px);
	position: absolute;
	left: 0;
	bottom: 0;
	}

.hs-form-booleancheckbox a:after {
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNC4xNzciIGhlaWdodD0iMTAuNTQ4IiB2aWV3Qm94PSIwIDAgMTQuMTc3IDEwLjU0OCI+CiAgPGcgaWQ9IuOCsOODq+ODvOODl185NSIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5cgOTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yNjMgLTcyNykiPgogICAgPHBhdGggaWQ9IuODkeOCuV8xMTIiIGRhdGEtbmFtZT0i44OR44K5IDExMiIgZD0iTTI5MCw3Mjd2Ny43MTNoMTEuMTE1VjcyN1ptOS40MTQsNi4zNzlIMjkxLjd2LTQuMzM4aDcuNzEzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjkzOCkiIGZpbGw9IiM3ZDdkN2QiLz4KICAgIDxwYXRoIGlkPSLjg5HjgrlfMTEzIiBkYXRhLW5hbWU9IuODkeOCuSAxMTMiIGQ9Ik0yNzIuNDE0LDc1Ni44Nzd2MS41SDI2NC43di00LjMzOGgxLjM2MVY3NTJIMjYzdjcuNzEzaDExLjExNXYtMi44MzZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0yMi4xNjUpIiBmaWxsPSIjN2Q3ZDdkIi8+CiAgPC9nPgo8L3N2Zz4K);
	content: "";
	display: inline-block;
	height: 10px;
	width: 14px;
	vertical-align: text-top;
		margin: 0 3px;
}

.legal-consent-container .hs-form-booleancheckbox-display>span {
	margin-left: 10px !important;
}
/* ==========================================================================

    lead

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-lead {
  margin-top: 80px;
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  .section-lead {
    margin-top: 60px;
  }
}

.lead {
	color: #1c2a53;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: .17em;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .lead {
    font-size: 15px;
  }
}

.lead:not(:first-child) {
  margin-top: 80px;
}
@media screen and (max-width:767px) {
  .lead:not(:first-child) {
    margin-top: 60px;
  }
}

.lead:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (max-width:767px) {
  .lead:not(:last-child) {
		margin-bottom: 60px;
  }
}

.division-top-lead {
	margin-top: 80px
}
@media screen and (max-width:767px) {
  .division-top-lead {
    margin-top: 60px;
  }
}

.division-bottom-lead {
	margin-bottom: 80px
}
@media screen and (max-width:767px) {
  .division-bottom-lead {
		margin-bottom: 60px;
  }
}
/* ==========================================================================

    list

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.division-top-list {
  margin-top: 30px; 
}

.division-bottom-list {
  margin-bottom: 30px;
}


.list:not(:first-child) {
  margin-top: 10px
}
.list:not(:last-child) {
  margin-bottom: 10px
}
.list__item:not(:first-child) {
  margin-top: 5px
}

.list__item:not(:last-child) {
  margin-bottom: 5px
}
.list--default>.list__item {
  list-style-type: none;
  padding-left: 10px;
  position: relative
}

.list--default>.list__item:before {
  background-color: #525872;
  border-radius: 100%;
  content: "";
  height: 4px;
  display: block;
  position: absolute;
  top: 14px;
  left: 0;
  width: 4px;
}
@media screen and (max-width: 767px) {
  .list--default>.list__item:before {
    top: 10px;
  }
}

.list--default > .list__item--link {
  padding-left: 0;
}

.list--default > .list__item--link a {
  padding-left: 10px;
}

.list--default > .list__item--link:hover:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA2IDgiPgogIDxwYXRoIGlkPSJhcnJvdyIgZD0iTTAsOCw0LDQsMCwwSDJMNiw0LDIsOFoiIGZpbGw9IiMyYzRkZGIiLz4KPC9zdmc+Cg==);	
}

.list--default > .list__item--link:before {
  background-color: transparent;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA2IDgiPgogIDxwYXRoIGlkPSJhcnJvdyIgZD0iTTAsOCw0LDQsMCwwSDJMNiw0LDIsOFoiIGZpbGw9IiMxODIwNDUiLz4KPC9zdmc+Cg==);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 8px;
	position: absolute;
	left: 0;
	top: calc(50% - 4px);
	transition: .5s;
	width: 6px;
}



/* list--number */
.list--number {
  counter-reset: number;
}

.list--number .list__item {
  padding-left: 20px;
  position: relative;
}

.list--number .list__item:before {
  color: #f3f4f7;
  content: counter(number) "."; 
  counter-increment: number;
  font-family: 'Poppins-Bold', sans-serif;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 8px;
  text-transform: uppercase;
}


/* list--check */

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

.list.list--check .list--check__item {
  font-size: 17px;
  font-weight: bold;
  letter-spacing: .17em;
  line-height: 2;
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .list.list--check .list--check__item {
    font-size: 15px;
  }
}

.list.list--check .list--check__item:not(:last-child) {
  margin-bottom: 10px;
}

.list.list--check .list--check__item:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8cGF0aCBpZD0iY2hlY2siIGQ9Ik0yMTIuNTc0LDMzNS4xNzlhMTAsMTAsMCwxLDAsMTAsMTBBMTAsMTAsMCwwLDAsMjEyLjU3NCwzMzUuMTc5Wm0tMi4xLDE0LjM5Mi00LjEzMS0zLjk0NywxLjQ0NS0xLjUxMywyLjc1NywyLjYzMiw2Ljg5LTUuOTU2LDEuMzY4LDEuNTgyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwMi41NzQgLTMzNS4xNzkpIiBmaWxsPSIjMTgyMDQ1Ii8+Cjwvc3ZnPgo=);
  border-radius: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 7px;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .list.list--check .list--check__item:before {
    height: 18px;
    top: 6px;
    width: 18px;
  }
}
/* ==========================================================================

    heading-1

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */




.division-top-h1:first-child {
	margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .division-top-h1:first-child {
    margin-top: 50px;
  }
}
.division-top-h1:not(:last-child) {
	margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .division-top-h1:not(:last-child) {
    margin-bottom: 60px;
  }
}

.heading-1:not(:first-child) {
  margin-top: 60px;
}
@media screen and (max-width:767px) {
  .heading-1:not(:first-child) {
    margin-top: 50px; 
  }
}
.heading-1:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (max-width:767px) {
  .heading-1:not(:last-child) {
    margin-bottom: 60px;
  }
}


.division-top-h1 {
  box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1250px;
    min-width: 320px;
    padding-left: 100px;
    padding-right: 100px;
}
@media only screen and (max-width: 1049px) {
  .division-top-h1 {
    padding-right: 50px;
    padding-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .division-top-h1 {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.heading-1 {
  box-sizing: border-box;
  border-bottom: 1px solid #1c2a53;
	color: #1c2a53;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.17em;
  line-height: 1.5;
  padding-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .heading-1 {
    font-size: 18px;
  }
}
/* ==========================================================================

    heading-2

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-heading2 {
  margin-top: 60px;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .section-heading2 {
    margin-top: 80px;
    margin-bottom: 45px;
  }
}
.heading-2 {
  color: #1c2a53;
  display: block;
  font-weight: bold;
  font-size: 32px;
  letter-spacing: .17em;
  line-height: 1.5;
  text-align: left;
  padding-top: 25px;
}
@media screen and (max-width:767px) {
  .heading-2 {
    font-size: 24px;
    line-height: 1.41;
    padding-top: 22px;
  }
}
.heading-2_english {
  display: inline-block;
  position: relative;
}
.heading-2_english:after {
  display: block;
  content: attr(data-heading2);
  font-family: 'Poppins-Bold', sans-serif;
	font-size: 14px;
  letter-spacing: .35em;
	line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  bottom: -35px;
}
@media screen and (max-width:767px) {
  .heading-2_english:after {
    font-size: 13px;
  }
}

.heading-2_border {
  display: inline-block;
}

.heading-2_border:before {
  content: "";
  display: block;
  height: 2px;
  width: 40px;
  background-color: #1c2a53;
  top: -23px;
  left: calc(50% - 20px);
  position: absolute;
}

.heading-2_border:after {
  content: "";
  display: block;
  height: 2px;
  width: 10px;
  background-color: #efed1b;
  top: -23px;
  left: calc(50% + 10px);
  position: absolute;
}

.division-top-h2 {
  margin-top: 80px;
}
@media screen and (max-width:767px) {
  .division-top-h2 {
    margin-top: 60px; 
	}
}

.division-bottom-h2 {
  margin-bottom: 40px;
}
@media screen and (max-width:767px) {
  .division-bottom-h2 {
    margin-bottom: 40px;
	}
}

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

.heading-2--white {
  color: #ffffff;
}

.heading-2--white .heading-2_border:before {
  background-color: #ffffff;
}
/* ==========================================================================

    heading-3

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-heading3 {
	margin-top: 25px;
	margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
	.section-heading3 {
		margin-top: 55px;
		margin-bottom: 30px;
	}
}

.heading-3 {
	color: #1c2a53;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: .17em;
	line-height: 1.5;
}
@media screen and (max-width:767px) {
	.heading-3 {
  	font-size: 18px;
	}
}

.division-top-h3 {
	margin-top: 45px;
}
@media screen and (max-width:767px) {
	.division-top-h3 {
		margin-top: 40px;
	}
}

.division-bottom-h3 {
	margin-bottom: 40px;
}
@media screen and (max-width:767px) {
	.division-bottom-h3 {
		margin-bottom: 30px;
	}
}


.heading-3:not(:first-child) {
  margin-top: 45px;
}
@media screen and (max-width:767px) {
  .heading-3:not(:first-child) {
    margin-top: 40px;
	}
}

.heading-3:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width:767px) {
  	.heading-3:not(:last-child) {
		margin-bottom: 30px;
	}
}
/* ==========================================================================

    heading-4

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-heading4 {
  margin-top: 30px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .section-heading4 {
    margin-top: 45px;
    margin-bottom: 25px;
  }
}

.heading-4 {
  color: #1c2a53;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: .15em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .heading-4 {
    font-size: 16px;
    letter-spacing: .17em;
  }
}

.division-top-h4 {
  margin-top: 45px;
}
@media screen and (max-width:767px) {
  .division-top-h4 {
    margin-top: 30px;
  }
}
.division-bottom-h4 {
  margin-bottom: 30px;
}
@media screen and (max-width:767px) {
  .division-bottom-h4 {
    margin-bottom: 30px;
  }
}


.heading-4:not(:first-child) {
  margin-top: 45px;
}
@media screen and (max-width:767px) {
  .heading-4:not(:first-child) {
    margin-top: 30px;
  }
}
.heading-4:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width:767px) {
  .heading-4:not(:last-child) {
    margin-bottom: 30px;
  }
}
/* ==========================================================================

    heading-5

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section-heading5 {
  margin-top: 30px;
  margin-bottom: 20px;
}

.heading-5 {
	color: #1c2a53;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: .17em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .heading-5 {
    font-size: 15px;
  }
}


.division-top-h5 {
  margin-top: 30px;
}
.division-bottom-h5 {
  margin-bottom: 20px;
}


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


.heading-5--icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  transition: .5s;
}

.heading-5--icon .heading-5--icon__image {
  margin-right: 15px;
  width: 40px;
}
@media screen and (max-width:767px) {
  .heading-5--icon .heading-5--icon__image {
    margin-right: 10px;
    width: 35px;
  }
}

.heading-5--icon .heading-5--text {
  width: calc(100% - 55px);
}
/* ==========================================================================

    icon

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.icon {
	color: #1c2a53;
	display: inline-block;
	padding-left: 15px;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width: 767px) {
  .icon {
    padding-right: 20px
  }
}

.icon:after {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
	content: "";
	display: block;
  left: 0;
	position: absolute;
}

.icon:before {
  bottom: 0;
  background-color: #1c2a53;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transition: .5s;
  width: 0;
}

.icon--default:before, 
.icon--default:after {
  background-color: #1c2a53;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: calc(50% - -2px);
  transition: .5s;
  width: 7px;
}

.icon--default:before {
  transform: rotate(45deg);
  top: calc(50% - 3px);
}

.icon--default:after {
  transform: rotate(-45deg);
}

@media all and (-ms-high-contrast: none){
  .icon--default:after {
    top: calc(50% - 1px);
  }
  .icon--default:before {
    top: calc(50% - 4.5px);
  }
}



.icon--default:hover:before,
.icon--default:hover:after {
  background-color: #efed1b;  
}


.icon--window:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDEzIDEzIj4KICA8cGF0aCBpZD0i44OR44K5XzE5NzYiIGRhdGEtbmFtZT0i44OR44K5IDE5NzYiIGQ9Ik0zMDQuMTM4LDQxNS45NDVoLTEwdjNoLTN2MTBoMTB2LTNoM1ptLTQsMTJoLTh2LThoOFptMy0zaC0ydi02aC02di0yaDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjkxLjEzOSAtNDE1Ljk0NSkiIGZpbGw9IiMwNzAyMDMiLz4KPC9zdmc+Cg==);
	height: 11px;
  margin-top: -5.5px;
	top: 50%;
	width: 12px;
}
.icon--pdf:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8ZyBpZD0i44Kw44Or44O844OX5YyWXzc5MyIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5fljJYgNzkzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTguNSAtNjkwKSI+CiAgICA8cGF0aCBpZD0i44OR44K5XzE4NDAiIGRhdGEtbmFtZT0i44OR44K5IDE4NDAiIGQ9Ik0xMDUuODU5LDY5My45MjhsLS45NTMuMjUyLjkzOCwzLjUwNy0yLjU2NiwyLjU2OC43LjcsMi41NjYtMi41NjcsMy41MDguOTM5LjI1NC0uOTU2LTMuNTA4LS45MzdaIi8+CiAgICA8cGF0aCBpZD0i44OR44K5XzE4NDEiIGRhdGEtbmFtZT0i44OR44K5IDE4NDEiIGQ9Ik0xMDguNDA2LDY5MEgxMDAuNXYzaC0ydjJoMnY5aDEyVjY5NFptMy4wOTQsMTNoLTEwdi04aDJ2LTJoLTJ2LTJIMTA4bDEuNiwxLjU2NywxLjksMS44NTRaIi8+CiAgPC9nPgo8L3N2Zz4K);
	height: 14px;
	top: calc(50% - 7px);
	width: 11px;
}
.icon--map:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEzIDE2Ij4KICA8ZyBpZD0i44Kw44Or44O844OXXzc5NCIgZGF0YS1uYW1lPSLjgrDjg6vjg7zjg5cgNzk0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTc2IC00MDQpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfMTk3NSIgZGF0YS1uYW1lPSLjg5HjgrkgMTk3NSIgZD0iTTU1Ljc1LDYzOC4yNWEyLjUsMi41LDAsMSwxLDIuNS0yLjVBMi41LDIuNSwwLDAsMSw1NS43NSw2MzguMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjYuNzUgLTIyNS4yNSkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgPHBhdGggaWQ9IuODkeOCuV8xOTc0IiBkYXRhLW5hbWU9IuODkeOCuSAxOTc0IiBkPSJNMjgzLjQ2NSw0MTQuOTYyYTUuNDg5LDUuNDg5LDAsMCwxLDUuNDgzLDUuNDgzYzAsMy40MzItMy40NzIsNi42NS01LjQ5Miw4LjIzLTIuNzQ4LTIuMS01LjQ3NS01LjIzNS01LjQ3NS04LjIzYTUuNDg5LDUuNDg5LDAsMCwxLDUuNDg0LTUuNDgzbTAtMS4wMTdhNi41LDYuNSwwLDAsMC02LjUsNi41YzAsMy41OSwzLjIxNiw3LjE2Nyw2LjUsOS41LDMuMjc2LTIuNDA3LDYuNS01LjkxLDYuNS05LjVhNi41LDYuNSwwLDAsMC02LjUtNi41WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMC45NjUgLTkuOTQ1KSIvPgogIDwvZz4KPC9zdmc+Cg==);
	height: 16px;
	top: calc(50% - 8px);
	width: 12px;
}

.icon--back:after {
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2LjA2MSIgaGVpZ2h0PSIxMC43MDciIHZpZXdCb3g9IjAgMCA2LjA2MSAxMC43MDciPgogIDxwYXRoIGlkPSLjg5HjgrlfMTc4MiIgZGF0YS1uYW1lPSLjg5HjgrkgMTc4MiIgZD0iTTE3ODIuNjUsNDM2Ljc1NGw1LDUsNS01IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDIuNDYxIC0xNzgyLjI5Nykgcm90YXRlKDkwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzMzIiBzdHJva2Utd2lkdGg9IjEiLz4KPC9zdmc+Cg==) no-repeat;
	height: 10px;
	top: calc(50% - 5px);
	width: 5px;
}
/* ==========================================================================

    strong

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.strong {
	font-weight: 600;
}
/* ==========================================================================

    paragraph

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.paragraph {
	color:  #1c2a53;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
	font-size: 16px;
	letter-spacing: .02em;
	line-height: 2;
}
@media screen and (max-width:767px) {
	.paragraph {
	font-size: 13px;
	}
}

.division-top-paragraph {
	margin-top: 20px
}
.division-bottom-paragraph {
	margin-bottom: 20px
}


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

.paragraph--reverse {
  color: #ffffff;
}
/* ==========================================================================

  tab

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.tab-container .tab__content {
  display: none
}

.tab-container .tab__content.is-active {
  display: block
}

.tab__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .tab__category {
    display: block;
  }
}

.tab__category__item {
  border-top: 1px solid #1c2a53;
  border-bottom: 1px solid #1c2a53;
  border-left: 1px solid #1c2a53;
  font-weight: bold;
  text-align: center;
  transition: .3s;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .tab__category__item {
    border: 1px solid #1c2a53;
    width: 100%;
  }
  .tab__category__item:not(:last-child) {
    margin-bottom: 15px;
  }
}

.tab__category__item a,
.tab__category__item button {
  color: #acb2c3;
  display: block;
  padding: 10px 0px;
  position: relative;
  transition: .3s;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .tab__category__item a,
  .tab__category__item button {
    font-size: 15px;
  }
}

.tab__category__item a.is-active,
.tab__category__item button.is-active {
  color: #1c2a53;
}

.tab__category__item a:after,
.tab__category__item button:after {
  border-top: 1px solid #acb2c3;
  border-right: 1px solid #acb2c3;
  content: "";
  display: block;
  height: 8px;
  margin: 0 auto;
  transform: rotate(135deg);
  width: 8px;
}

.tab__category__item a.is-active:after,
.tab__category__item button.is-active:after {
  border-color: #1c2a53;
}

.tab__category__item:last-child {
  border-right: 1px solid #1c2a53;
}
/* ==========================================================================

    table

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.table {
  width: 100%;
}


@media screen and (max-width:600px) {
  .js-table-scroll {
    margin-right: -20px;
    overflow-x: scroll;
    position: relative;
  }
  .js-table-scroll>.table {
    width: 600px
  }
  .js-table-scroll:before, .js-table-scroll:after {
    content: "";
  }
  .js-table-scroll:before {
    background-color: rgba(19, 19, 19,.3);
    border-radius: 5px;
    box-sizing: border-box;
    content: "SWIPE";
    color: #ffffff;
    font-family: 'Poppins-Bold', sans-serif;
    font-size: 20px;
    font-weight: bold;
    left: 50%;
    line-height: 60px;
    height: 120px;
    transform: translate(-50%, -50%);
    text-align: center;
    opacity: 1;
    padding-top: 35px;
    position: absolute;
    transition: .5s;
    top: 50%;
    width: 120px;
    z-index: 1;
  }

  .js-table-scroll:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgNjEgOCI+CiAgPHBhdGggaWQ9IuODkeOCuV8zNiIgZGF0YS1uYW1lPSLjg5HjgrkgMzYiIGQ9Ik04MjguMDI1LDI3Ny43NzgsODIyLjEzOSwyNzFsLTEuNjE2LDIuNWE2OC40NzksNjguNDc5LDAsMCwwLTI0LjM2MS00LjA5NGMtMjAuMjQyLDAtMjkuNTI0LDYuODI2LTI5LjkwOSw3LjExNmwuNzEyLjk0NWMuMDkxLS4wNjksOS4zOTItNi44NzgsMjkuMi02Ljg3OGE2Ny42NzEsNjcuNjcxLDAsMCwxLDIzLjY4MywzLjk2bC0xLjQ1NiwyLjI1NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03NjYuMjUzIC0yNjkuNDEyKSIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4K);
    background-repeat: no-repeat;
    height: 8px;
    left: calc(50% - 30px);
    position: absolute;
    top: calc(50% - 20px);
    width: 61px;
    z-index: 2;
  }
  
  .js-table-scroll.is-checked:before, .js-table-scroll.is-checked:after {
    opacity: 0;
  }
}
/* ==========================================================================

    view

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.view--is-desktop {
	display: block;
}
@media screen and (max-width:1049px) {
	.view--is-desktop {
		display: none !important;
	}
}
.view--is-desktop-lower {
		display: block
}
@media screen and (max-width:767px) {
	.view--is-desktop-lower {
		display: none !important;
	}
}

.view--is-laptop {
	display: none
}
@media screen and (min-width:768px) and (max-width:1049px) {
	.view--is-laptop {
		display: block
	}
}

.view--is-laptop-lower {
	display: none
}
@media screen and (max-width:1049px) {
	.view--is-laptop-lower {
		display: block
	}
}

.view--is-palmtop {
	display: none !important;
}
@media screen and (max-width:767px) {
	.view--is-palmtop {
		display: block !important;
	}
}

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

    sub_navigation

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */



.sub-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  flex-wrap: wrap;
}

/* タブ */

.section-tab {
  margin-bottom: 50px;
  margin-top: 50px;
}

.sub-navigation.sub-navigation--tab {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;;
}

.sub-navigation--tab__list {
  flex: 1;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
}
@media only screen and (max-width: 1049px) {
  .sub-navigation--tab__list {
    flex: inherit;
    width: calc(25% - 4px);
  }
}

.sub-navigation--tab__list:not(:first-child) {
  margin-left: 2px;
}

.sub-navigation--tab__list__link {
  display: block;
  padding: 15px 10px 10px 10px;
  border-bottom: 8px solid #F3F4F7;
  font-size: 17px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #04060C;
  position: relative;
  transition: .5s;
}
@media only screen and (max-width: 767px) {
  .sub-navigation--tab__list__link {
    font-size: 14px;
  }
}

.sub-navigation--tab__list__link a {
  color: #ACB2C3;
  transition: .5s;
}

.sub-navigation--tab__list__link:before,
.sub-navigation--tab__list__link:after {
  content: "";
  width: 2px;
  display: inline-block;
  position: absolute;
  left: calc(50% - 1px);
}
.sub-navigation--tab__list__link:before {
  content: "";
  height: 0;
  bottom: -8px;
  background-color: #ffffff;
  z-index: 2;
  transition: .2s .3s;
}
.sub-navigation--tab__list__link:after {
  content: "";
  height: 0;
  bottom: -28px;
  transition: .3s;
  background-color: #EFED1B;
}
.sub-navigation--tab__list__link .tab__list__link__text {
  display: block;
  position: relative;
  padding-top: 15px;
}

.sub-navigation--tab__list__link:hover:before {
  height: 8px;
}
.sub-navigation--tab__list__link:hover:after {
  height: 23px;
}
.sub-navigation--tab__list:hover .sub-navigation--tab__list__link {
  border-bottom: 8px solid #EFED1B;
}
.sub-navigation--tab__list:hover .sub-navigation--tab__list__link a {
  color: #EFED1B;
}
.sub-navigation--tab__list:hover .sub-navigation--tab__list__link:before {
  height: 8px;
}
.sub-navigation--tab__list:hover .sub-navigation--tab__list__link:after {
  height: 20px;
}
.sub-navigation--tab__list:hover .sub-navigation--tab__list__link .sub-navigation--tab__list__link__text:before,
.sub-navigation--tab__list__link:hover .sub-navigation--tab__list__link__text:before {
  transform: translateY(0);
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .sub-navigation--tab__list {
    flex: inherit;
    width: calc(50% - 1px);
  }
  .sub-navigation--tab__list:not(:first-child) {
    margin-left: 0;
  }
  .sub-navigation--tab__list:nth-child(2n) {
    margin-left: 2px;
  }
  .sub-navigation--tab__list .tab__list__link {
    padding: 0 10px 5px 10px;
    font-size: 14px;
  }
  .sub-navigation--tab__list .tab__list__link__text:before {
    width: 35px;
    height: 4px;
    left: calc(50% - 18px);
  }
}
/* タブスタイル 背景色ありのスタイル */
.dnd-section-color--bg .sub-navigation--tab__list__link {
  border-bottom: 8px solid #ACB2C3;
}


/* アンカーリンク */

.section-anchor {
  margin-bottom: 40px;
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .section-anchor {
    margin-bottom: 60px;
    margin-top: 60px;
  }
}
.linkin-page {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
}
@media screen and (max-width: 1049px) {
  .linkin-page {
    margin-left: 0;
    margin-right: 0;
  }
}

.linkin-page:not(:first-child) {
  margin-top: 60px
}
@media screen and (max-width: 767px) {
  .linkin-page:not(:first-child) {
    margin-bottom: 40px;
  }
}

.linkin-page:not(:last-child) {
  margin-bottom: 40px
}
@media screen and (max-width: 767px) {
  .linkin-page:not(:last-child) {
    margin-bottom: 40px
  }
}

.linkin-page__item {
  box-sizing: border-box;
  width: calc(25% - 23px);
}

.linkin-page__item:nth-child(n+5)  {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .linkin-page__item:not(:nth-child(4n+4)) {
    margin-right: 30px;
  }
}

@media screen and (max-width:767px) {
  .linkin-page__item {
    padding: 0;
    width: 100%;
  }
  .linkin-page__item:not(:first-child) {
    margin-top: 25px;
  }
}
.linkin-page__item a {
  border-top: 1px solid #1C2A53;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  text-decoration: none;
  transition: .5s;
}
.linkin-page__item a:hover {
  border-top: 1px solid #EFED1B;
}
@media screen and (max-width:767px) {
  .linkin-page__item a {
    display: block;
  }
}

.linkin-page__item__text {
  color: #1C2A53;
  display: block;
  width: 100%;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: .2em;
  line-height: 1.5;
  transition: .5s;
}
@media screen and (max-width:767px) {
  .linkin-page__item__text {
    font-size: 13px;
  }
  .linkin-page__item__text:not(:first-child) {
    margin-top: 5px;
  }
}

@media screen and (min-width:1050px) {
  .linkin-page__item a:hover .linkin-page__item__text {
    color: #EFED1B;
  }
}

.linkin-page__item__text__inner {
  display: block;
  padding-top: 15px;
  padding-right: 25px;
  position: relative;
  letter-spacing: .17em;
  font-weight: bold;
}

.linkin-page__item a .linkin-page__item__text__inner:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 5px;
  display: inline-block;
  border-bottom: solid 1px #1C2A53;
  border-right: solid 1px #1C2A53;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  transition: .5s;
}

.linkin-page__item a:hover .linkin-page__item__text__inner:before {
  border-color: #EFED1B;
}
@media screen and (max-width: 767px) {
  .linkin-page__item a .linkin-page__item__text__inner:before {
    height: 6px;
    width: 6px;
  }
}


/* 目次のスタイル */
.section-index {
  margin-bottom: 50px;
  margin-top: 50px;
}

.sub-navigation--anchor {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
  margin-top: -20px;
}
@media screen and (max-width: 1049px) {
  .sub-navigation--anchor {
    margin-left: 0;
    margin-right: 0;
  }
}

.sub-navigation--anchor:not(:first-child) {
  margin-top: 40px
}
@media screen and (max-width: 767px) {
  .sub-navigation--anchor:not(:first-child) {
    margin-bottom: 30px;
  }
}

.sub-navigation--anchor:not(:last-child) {
  margin-bottom: 40px
}
@media screen and (max-width: 767px) {
  .sub-navigation--anchor:not(:last-child) {
    margin-bottom: 30px
  }
}

.sub-navigation--anchor__item {
  box-sizing: border-box;
  margin-top: 20px;
  width: 10%;
}
.sub-navigation--anchor__item a {
  text-align: center;
  border-left: 2px solid #ACB2C3;
  display: block;
  padding: 18px 10px;
  position: relative;
  text-decoration: none;
}

@media screen and (min-width: 1050px) {
  .sub-navigation--anchor__item:nth-child(10n+10) {
      border-right: 2px solid #ACB2C3;
  }
}

.sub-navigation--anchor__item:last-child a {
  border-right: 2px solid #ACB2C3!important;
}
.sub-navigation--anchor__item a:before {
  content: "";
  position: absolute;
  bottom: 2px;
  left: calc(50% - 2.5px);
  display: inline-block;
  border-bottom: solid 2px #EFED1B;
  border-right: solid 2px #EFED1B;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  transition: .5s;
}
.sub-navigation--anchor__item a:hover:before {
  bottom: -3px;
}

.sub-navigation--anchor__item__text {
  color: #1C2A53;
  display: block;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.5;
  transition: .5s;
}
@media screen and (max-width:767px) {
  .sub-navigation--anchor__item__text {
    font-size: 14px;
  }
}

@media screen and (max-width:1049px) {
  .sub-navigation--anchor__item {
    margin-top: 0;
    box-sizing: border-box;
    padding: 0;
    width: 20%;
    flex: inherit;
  }
  .sub-navigation--anchor__item:nth-child(n+6) {
    margin-top: 30px;
  }
  .sub-navigation--anchor__item:nth-child(5n) a {
    border-right: 2px solid #ACB2C3;
  }

}
@media screen and (max-width:767px) {
  .sub-navigation--anchor__item {
    padding: 0;
    width: 25%;
  }
  .sub-navigation--anchor__item a {
    padding: 13px 5px;
    font-size: 14px;
  }
  .sub-navigation--anchor__item:nth-child(5n) a {
    border-right: none;
  }
  .sub-navigation--anchor__item:nth-child(n+6) {
    margin-top: 0;
  }
  .sub-navigation--anchor__item:nth-child(n+5) {
    margin-top: 20px;
  }
  .sub-navigation--anchor__item:nth-child(4n) a {
    border-right: 2px solid #ACB2C3;
  }
}
/* ==========================================================================

    check-list-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 */







.section-h2_check_img {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .section-h2_check_img {
    margin-top: 60px;
  }
}
.section-h2_check_img {
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .section-h2_check_img {
    margin-bottom: 40px;
  }
}

.check-list-columns {
  margin-left: -25px;
  margin-right: -25px;
}
@media screen and (max-width: 767px) {
  .check-list-columns {
    margin-left: 0;
    margin-right: 0;
  }
}
.check-list-columns:not(:first-child) {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .check-list-columns:not(:first-child) {
    margin-top: 25px;
  }
}

.check-list-columns > .columns__column {
  padding-left: 25px;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .check-list-columns > .columns__column {
    padding-left: 0;
    padding-right: 0;
  }
}

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

.check-list .check-list__item {
  font-size: 17px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 2;
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .check-list .check-list__item {
    font-size: 15px;
  }
}

.check-list .check-list__item:not(:last-child) {
  margin-bottom: 10px;
}

.check-list .check-list__item:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48cGF0aCBkPSJNMjEyLjU3NCwzMzUuMTc5YTEwLDEwLDAsMSwwLDEwLDEwQTEwLDEwLDAsMCwwLDIxMi41NzQsMzM1LjE3OVptLTIuMSwxNC4zOTItNC4xMzEtMy45NDcsMS40NDUtMS41MTMsMi43NTcsMi42MzIsNi44OS01Ljk1NiwxLjM2OCwxLjU4MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMDIuNTc0IC0zMzUuMTc5KSIgZmlsbD0iI2VmZWQxYiIvPjwvc3ZnPg==);
  border-radius: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 7px;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .check-list .check-list__item:before {
    height: 18px;
    top: 6px;
    width: 18px;
  }
}
/* ==========================================================================

    illust_column

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */








.section-h3_check_img {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .section-h3_check_img {
    margin-top: 40px;
  }
}
.section-h3_check_img {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .section-h3_check_img {
    margin-bottom: 30px;
  }
}

.illust_column {
    position: relative;
    min-height: 560px;
}
@media screen and (max-width: 1049px) {
    .illust_column {
        min-height: inherit;
    }
}

.illust_column__image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(50% - 50px);
}

.illust_column__image img {
    width: 100%;
}

@media screen and (max-width: 1049px) {
    .illust_column__image {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 550px;
        position: static;
        transform: inherit;
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .illust_column__image {
        max-width: 450px;
    }
}

.illust_column__inner {
    box-sizing: border-box;
    padding: 0 50px 0 100px;
    position: relative;
    width: calc(50% + 50px);
}
@media screen and (max-width: 1049px) {
    .illust_column__inner {
        padding: 0 50px;
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .illust_column__inner {
        padding: 0 20px;
    }
}

@media screen and (max-width: 1049px) {
    .illust_column .natural {
        margin-bottom: 24px;
    }
}
@media screen and (max-width: 767px) {
    .illust_column .natural {
        margin-bottom: 15px;
    }
}
/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


/* 時刻リスト */

.section-date-list {
  margin-top: 55px;
  margin-bottom: 40px;
}

@media screen and (min-width: 1050px) {
  .section-date-list {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

.date-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
}
@media screen and (max-width: 767px) {
  .date-list__item {
    display: block;
  }
}

.date-list__item:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .date-list__item:not(:last-child) {
    margin-bottom: 30px;
  }
}

.date-list__item__date {
  box-sizing: border-box;
  font-family: 'Poppins-Bold', sans-serif;
  letter-spacing: .17em;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.5;
  padding-right: 80px;
}
@media screen and (min-width: 768px) {
  .date-list__item__date {
    width: 302px;
  }
}
@media screen and (max-width: 767px) {
  .date-list__item__date {
    font-size: 18px;
    padding-right: 0;
    margin-bottom: 10px;
  }
}

.date-list__item__content {
  padding-bottom: 40px;
  border-bottom: 1px solid #ACB2C3;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .date-list__item__content {
    width: calc(100% - 302px);
  }
}

@media screen and (max-width: 767px) {
  .date-list__item__content {
    padding-bottom: 30px;
  }
}

.date-list__item__heading {
  letter-spacing: .17em;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.5;
}
.date-list__item__heading:not(:last-child) {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .date-list__item__heading {
    font-size: 18px;
  }
  .date-list__item__heading:not(:last-child) {
    margin-bottom: 30px;
  }
  .date-list__item-wrapper {
    border-top: 1px solid #ACB2C3;
    padding-top: 20px;    
  }
}

.img-caption {
   display: -webkit-box;
  display: -ms-flexbox;
  display: flex;; 
   flex-wrap: wrap;
}
@media screen and (max-width: 1049px) {
  .img-caption {
    max-width: 430px;
  }
}
@media screen and (max-width: 767px) {
  .img-caption {
    display: block;
  }
}

.img-caption__item {
  width: calc(33.333% - 26.6666px);
}
@media screen and (max-width: 1049px) {
  .img-caption__item {
    width: calc(50% - 15px);
  }
}
@media screen and (max-width: 767px) {
  .img-caption__item {
    max-width: 150px;
    margin: 0 auto;
    width: 100%;
  }
  .img-caption__item:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 1050px) {
  .img-caption__item:not(:nth-child(3n+3)) {
    margin-right: 40px;
  }

  .img-caption__item:nth-child(n+4) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 1049px) and (min-width: 768px) {
  .img-caption__item:not(:nth-child(2n+2)) {
    margin-right: 30px;
  }
  .img-caption__item:nth-child(n+3) {
    margin-top: 30px;
  }
}

.img-caption__item figcaption {
  font-size: 14px;
  letter-spacing: .17em;
  line-height: 1.5;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .img-caption__item figcaption {
    font-size: 12px;
  }
}
/* サイト全体で共通の設定 */
/*
 サイト全体で共通の設定
*/


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


/* ロゴリスト */

.section-logo-list {
  margin-top: 80px;
  margin-bottom: 80px;
}

@media screen and (min-width: 1050px) {
  .section-logo-list {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.logo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  flex-wrap: wrap;
}

.logo-list__item {
  width: calc(25% - 22.5px);
}
@media screen and (max-width: 1049px) {
  .logo-list__item {
    width: calc(33.333% - 13.333px);
  }
}
@media screen and (max-width: 414px) {
  .logo-list__item {
    width: calc(50% - 15px);
  }
}

@media screen and (min-width: 1050px) {
  .logo-list__item:not(:nth-child(4n+4)) {
    margin-right: 30px;
  }
  .logo-list__item:nth-child(n+5) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 1049px) and (min-width: 415px) {
  .logo-list__item:not(:nth-child(3n+3)) {
    margin-right: 20px;
  }
  .logo-list__item:nth-child(n+4) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 414px) {
  .logo-list__item:not(:nth-child(2n+2)) {
    margin-right: 30px;
  }
  .logo-list__item:nth-child(n+3) {
    margin-top: 25px;
  }
}
/* Missing Template at Path: \'irep\/Assets\/Styles\/module\/_901_hero.css\' */
/* Missing Template at Path: \'irep\/Assets\/Styles\/module\/_908_home-hero.css\' */

/* LPのみで使用するスタイル */
/* ==========================================================================

    section

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

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


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





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















/* セレクション */



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


/* 英字のフォント */




/* 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 */


.section {
     padding: 0;
     margin: 40px 0 80px 0;
}