@charset "UTF-8";

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


/* html 要素 */



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




/* small要素 */




/* sub、sup 要素 */





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



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










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











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



/* 左右内側の余白 */





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





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



















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

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */


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

@font-face {
  font-family: "NotoSansCJKjp";
  font-style: normal;
  font-weight: 400;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp.woff2") format("woff2"),
      url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Medium";
  font-style: normal;
  font-weight: 700;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Medium.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Medium.woff2") format("woff2"),
       url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Medium.otf") format("opentype");
}

@font-face {
  font-family: "NotoSansCJKjp-Bold";
  font-style: normal;
  font-weight: 900;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Bold.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Bold.woff2") format("woff2"),
       url("https://www.tiis.global/hubfs/fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}

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

@font-face {
  font-family: "NotoSerifJP-Regular";
  font-style: normal;
  font-weight: 900;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Regular.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Regular.woff2") format("woff2"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "NotoSerifJP-Medium";
  font-style: normal;
  font-weight: 900;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Medium.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Medium.woff2") format("woff2"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Medium.otf") format("opentype");
}

@font-face {
  font-family: "NotoSerifJP-Bold";
  font-style: normal;
  font-weight: 900;
  src: url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Bold.woff") format("woff"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Bold.woff2") format("woff2"),
       url("https://www.tiis.global/hubfs/fonts/NotoSerifJP-Bold.otf") format("opentype");
}

@font-face {
  font-family: "LibreBaskerville";
  font-style: normal;
  src:  url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Regular.woff2") format("woff2"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Regular.woff") format("woff"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Regular.otf") format("opentype");
}

@font-face {
  font-family: "LibreBaskerville Bold";
  font-style: normal;
  src:  url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Bold.woff2") format("woff2"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Bold.woff") format("woff"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Bold.otf") format("opentype");
}

@font-face {
  font-family: "LibreBaskerville Italic";
  font-style: normal;
  src:  url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Italic.woff2") format("woff2"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Italic.woff") format("woff"),
        url("https://www.tiis.global/hubfs/fonts/LibreBaskerville-Italic.otf") format("opentype");
}

@font-face {
  font-family: "Yantramanav-Black";
  font-style: normal;
  src:  url("https://www.tiis.global/hubfs/fonts/Yantramanav-Black.woff2") format("woff2"),
        url("https://www.tiis.global/hubfs/fonts/Yantramanav-Black.woff") format("woff"),
        url("https://www.tiis.global/hubfs/fonts/Yantramanav-Black.otf") format("opentype");
}

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

@keyframes table-swipe {
  0% {
    opacity: 0;
    left: calc(50% - 38px);
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    left: calc(50% - -2px);
  }
}

@-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 .3s;
  transition: all .3s;
}

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

/* リッチボタン */

@-webkit-keyframes circle {
  0% { stroke-dasharray: 0 94.2; }
  99.9%,to { stroke-dasharray: 47.1 94.2; }
}
@keyframes circle {
  0% { stroke-dasharray: 0 94.2; }
  99.9%,to { stroke-dasharray: 47.1 94.2; }
}

@-webkit-keyframes circle-back {
  0% { stroke-dasharray: 47.1 94.2; }
  99.9%,to { stroke-dasharray: 0 94.2; }
}
@keyframes circle-back {
  0% { stroke-dasharray: 47.1 94.2; }
  99.9%,to { stroke-dasharray: 0 94.2; }
}
 
/* サイト全体で共通な自然なスタイル */
.natural {
  display: block;
  padding-bottom: 2.5px;
  padding-top: 2.5px;
}

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

.natural h2 {
  color: #000000;
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 30px;
  letter-spacing: .1em;
  line-height: 1.4;  
}
@media screen and (max-width:1049px) {
  .natural h2 {
    font-size: 26px;
  }
}
@media screen and (max-width:767px) {
  .natural h2 {
    font-size: 24px;
  }
}

.natural h2:not(:first-child) {
  margin-top: 100px;
}
@media screen and (max-width:767px) {
  .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: 30px;
  }
}

.natural h3 {
  font-size: 26px;
  font-family: 'NotoSansCJKjp', sans-serif;
	letter-spacing: .34em;
	line-height: 1.15;
}
@media screen and (max-width:767px) {
	.natural h3 {
  	font-size: 20px;
	}
}

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

.natural h4 {
  font-size: 18px;
  font-family: 'NotoSansCJKjp', sans-serif;
  letter-spacing: .1em;
  line-height: 1.4;
}

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

.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: #000000;
  font-family: 'Noto Serif JP Medium', serif;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (max-width:767px) {
  .natural h5 {
    font-size: 15px;
  }
}

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

.natural p {
  font-size: 14px;
  letter-spacing: .34em;
  line-height: 2.1;
}

.natural p:not(:first-child) {
	margin-top: 25px
}
.natural p:not(:last-child) {
	margin-bottom: 25px
}
@media screen and (max-width:768px) {
	.natural p {
		line-height: 2;
		letter-spacing: .24em;
	}
}

.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 {
  background-color: #000000;
  color: #ffffff;
  border-radius: .25em;
  padding:  100px;
}
@media screen and (max-width: 767px) {
  .natural pre {
    padding-left: 20px;
    padding-right: 20px;
  }
}

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

.natural blockquote,.natural ol,.natural dd {
}

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

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

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

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

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

.natural a {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: #000000;
  font-weight: 500;
  line-height: 1.9;
  word-break: break-all;
}

.natural a:after {
  background: #ce1818;
	bottom: 6px;
	content: "";
	left: 0;
	height: 2px;
	position: absolute;
  transition: .3s;
  width: 100%;
  z-index: -1;
}
.natural a:hover:after {
	width: 100%;
}

.natural a[target="_blank"] {
  margin-left: 15px;
}

.natural a[target="_blank"]:before {
  content: "";
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMS45NyAxMS45NyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjZTE4MTg7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT53aW5kb3c8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9ImNvbnRlbnQiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTExLjQ0LDBINS4xYS41My41MywwLDAsMC0uNTMuNTNWMi4xN0guN2EuNy43LDAsMCwwLS43Ljd2OC40YS43LjcsMCwwLDAsLjcuN0g5LjFhLjcuNywwLDAsMCwuNy0uN1Y3LjRoMS42NEEuNTMuNTMsMCwwLDAsMTIsNi44N1YuNTNBLjUzLjUzLDAsMCwwLDExLjQ0LDBaTTguOCwxMUgxVjMuMTdINC41N3YzLjdhLjUzLjUzLDAsMCwwLC41My41M0g4LjhaTTExLDYuNEg1LjU3VjFIMTFaIi8+PC9nPjwvZz48L3N2Zz4=") no-repeat center;
  background-size: contain;
  width: 12px;
  height: 11px;
  left: -15px;
  top: 50%;
  margin-top: -5.5px;
  position: absolute;
}

.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) {
  margin-top: 20px
}

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

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

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

.natural ul > li {
  list-style-type: none;
  padding-left: 20px;
  position: relative
}
.natural ul > li:before {
  background-color: #898989;
  content: "";
  height: 2px;
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 5px;
}

/* サイト全体で共通の 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
}
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: #eeeeee;
}
::-moz-selection {
	background: #eeeeee;
}

html {
  color: #000000;
  font-family: 'NotoSansCJKjp', sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: .1em;
  line-height: 1.78em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
}

a:focus {
  outline: none;
}

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

textarea {
  -webkit-appearance: none; 
}

button {
	background: none;
	border: none;
	padding: 0;
}
button:focus {
  outline: none;
}
.natural h1 {
  font-size: 2.5em;
    
}
.natural h2 {
  font-size: 1.75em;
}
.natural h3 {
  font-size: 1.25em;
}
.natural hr {
  border-top: 1px solid #dfdad8;
}
.natural blockquote {
  border-left: 1px solid #898989;
  color: #000000;
}
.natural li {
  list-style-type: inherit;
}
.natural li ol,.natural li ul {
    margin-bottom: 0;
    margin-top: 0
}
.natural table {
  overflow: auto;
}

.row-fluid [class*="span"] {
    min-height: inherit !important;
}
ul,ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* サイト全体で共通の微調整用の便利スタイル */
.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}

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

    header

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


/* html 要素 */



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




/* small要素 */




/* sub、sup 要素 */





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



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










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











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



/* 左右内側の余白 */





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





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



















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

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



/* ヘッダー
--------------------------------- */
.header {
  padding-left: 40px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1049px) {
  .header {
    padding-left: 20px;
  }
}


.header__left__logo {
  padding: 30px 0;
  width: 378px!important;
}

.header__left__logo a {
  position: relative;
  display: block;
  z-index: 2;
}

@media screen and (max-width: 1049px) {
  .header__left__logo {
      padding: 15px 0;
  }
}
@media screen and (max-width: 767px) {
  .header__left__logo {
    padding: 20px 0;
    width: 157px!important;
  }
}

.header__left__logo img {
  width: 100%;
}

@media screen and (max-width: 1049px) {
  .header__lower__menu {
    display: none !important;
  }
}

.header__lower__menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;;
}

.header__lower__menu ul li {
}

.header__lower__menu ul li:not(:last-child) {
  margin-right: 20px;
}

.header__lower__menu ul li a {
  background-color: rgba(128,128,128,.7);
  box-sizing: border-box;
  color: #ffffff;
  display: block;
  font-family: 'LibreBaskerville', serif;
  font-size: 12px;
  letter-spacing: .3em;
  min-width: 150px;
  padding: 13px 84px;
  position: relative;
  text-align: center;
  text-decoration: none;
  z-index: 1;
}

.header__lower__menu ul li a:before {
  background-color: #ffffff;
  bottom: 0;
  content: "";
  left: calc(50% - 20px);
  height: 1px;
  position: absolute;
  transition: .2s;
  transition-timing-function: ease-in;
  width: 40px;
}

.header__lower__menu ul li a:hover:before {
  transform: scaleX(1.3);
}

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

#hs_cos_wrapper_module_1490953981391499 {
  width: 100%;
}

.nav {
position: absolute;
}

.nav__button-wrapper {
  background-color: #000000;
  position: fixed;
  right: 0;
  top: 29%;
  z-index: 5;
  display: none;
}
@media screen and (max-width: 1050px) {
  .nav__button-wrapper {
    display: block!important;
    top: calc(50% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .nav__button-wrapper {
    height: 40px;
    top: 0;
    transform: inherit;
    width: 100px;
  }
  .nav__button-wrapper.is-active {
    width: 100%;
  }
}

/*   .nav__button-wrapper.is-active {
     display: block!important;
  } */

.nav__button-wrapper:before {
  background-color: #ce1818;
  content: "";
  left: 0;
  height: 100%;
  position: absolute;
  top: 0;
  width: 2px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .nav__button-wrapper:before {
    height: 15px;
    top: calc(50% - 7.5px);
    width: 1px;
  }
}

.nav__button {
  background-color: #000000;
  display: block;
  padding: 30px 28px;
  position: relative;
  width: 100px;
}
@media screen and (max-width: 1049px) {
  .nav__button {
    padding: 19px 17px;
    width: 80px;
  }
}
@media screen and (max-width: 767px) {
  .nav__button {
    padding: 5px 17px;
  }
}

.nav__button:hover .nav__button__text {
  color: #ce1818;
}

.nav__button:hover:before,
.nav__button:hover:after {
  background-color: #ce1818;
}

.nav__button:before,
.nav__button:after {
  background: #ffffff;
  content: "";
  display: block;
  height: 1px;
  left: 50%;
  margin-left: -13px;
  position: absolute;
  transition: .3s;
  transform: rotate(0);
  top: 25px;
  width: 26px;
}
@media screen and (max-width: 767px) {
  .nav__button:before,
  .nav__button:after {
    left: 20px;
    margin-left: 0;
    top: 17px;
    width: 10px;
  }
}

.nav__button:after {
  top: 35px;
}
@media screen and (max-width: 767px) {
  .nav__button:after {
    top: 21px;
  }
}

.nav__button.is-active {
  margin-left: auto;
}

.nav__button.is-active:before {
  transform: rotate(-25deg);
  top: 25px;
}
@media screen and (max-width: 767px) {
  .nav__button.is-active:before {
    transform: rotate(-25deg);
    top: 17px;
  }
}

.nav__button.is-active:after {
  transform: rotate(-155deg);
  top: 25px;
}
@media screen and (max-width: 767px) {
  .nav__button.is-active:after {
    top: 17px;
  }
}


.nav .nav__button__text {
  color: #ffffff;
  display: block;
  font-family: 'LibreBaskerville', serif;
  font-size: 12px;
  letter-spacing: .17em;
  padding-top: 25px;
  transition: .4s;
}
@media screen and (max-width: 767px) {
  .nav .nav__button__text {
    font-size: 11px;
    margin-top: 6px;
    padding-left: 20px;
    padding-top: 0;
  }
}

.pc-nav{
  position: relative;
}

@media screen and (max-width: 1050px) {
  .pc-nav{
    display: none !important;
  }
}

.pc-nav ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;;
  right: 0;
  position: relative;
  padding-top: 88px;
  top: -115px;
  justify-content: flex-end;
  height: 100%;
}

.pc-nav ul:before{
  background: rgba(255, 255, 255, 0.9);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  z-index: -1;
  width: 100%;
  top: 0;
}

.pc-nav ul li{
  text-align: left;
  margin-right: 40px;
  padding-bottom: 1em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  align-items: center;
}
@media screen and (max-width: 1438px) {
  .pc-nav ul li{
    margin-right: 25px;
  }
}

.pc-nav ul li:after{
  background-color:#000000;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transition: .3s;
  width: 0;
}

.pc-nav ul .bl-hover:after{
  background-color:#000000;
  width: 100%;
}

.pc-nav ul li:first-child{
  margin-left: 50px;
}

.pc-nav ul li:last-child{
  margin-right: 50px;
}

.pc-nav ul li a{
  color: #000000;
  font-family: 'NotoSansCJKjp', sans-serif;
  text-decoration: none;
  letter-spacing: .2em;
  font-size: 13px;
  display: block;
  position: relative;
}

@media screen and (max-width: 1303px) {
  .pc-nav ul li a{
    font-size: 12px;
  }
}
@media screen and (max-width: 1230px) {
  .pc-nav ul li a{
    font-size: 11.5px;
  }
}

.nav .nav__menu {
  display: none;
  height: 100vh;
  left: 0;
  position: fixed;
  transition-timing-function: ease-in;
  top: 0;
  width: calc(100% - 100px);
  z-index: 3;
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu {
    width: 100%;
  }
}

.nav .nav__menu > .cell-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
}

.nav .nav__menu:before {
  background-color: rgba(255,255,255,.95);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.nav .nav__menu:after {
  background-color: #000000;
  content: "";
  height: 100%;
  right: -100px;
  position: absolute;
  top: 0;
  width: 100px;
  z-index: 1;
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu:after {
    right: -75px;
    width: 75px;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu:after {
    right: 0;
    height: 40px;
    width: 100%;
  }
}

.nav .nav__menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul {
    margin-top: 65px;
  }
}

.nav .nav__menu ul li {
  width: calc(25% - .3333%);
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li {
    width: calc(50% - 1px);
  }
}

@media screen and (min-width: 1050px) {
  .nav .nav__menu ul li:nth-child(n+5) {
    margin-top: 30px;
  }

  .nav .nav__menu ul li:not(:nth-child(3n+3)) {
    border-right: none;
  }
  .nav .nav__menu ul li:not(:nth-child(4n+4)) {
    border-right: 1px solid #000000;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) {
  border-right: none;
  margin-right: 40px;
  margin-top: 50px;
  width: calc(33.3333% - 70px);
}
.nav .nav__menu ul li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) {
    margin-right: 15px;
    width: calc(33.3333% - 30px);
  }
  .nav .nav__menu ul li:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) {
    margin-right: 2px;
    width: calc(33.3333% - 3px);
  }
}

@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-child(n+3) {
    margin-top: 30px;
  }

  .nav .nav__menu ul li:not(:nth-child(2n+2)) {
    border-right: 1px solid #000000;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) {
  background-color: rgba(0,0,0,.7);
}

.nav .nav__menu ul li:nth-last-child(-n+3) a {
  display: block;
  color: #ffffff;
  font-size: 15px;
  height: inherit;
  transition: .4s;
  transition-timing-function: ease-in;
  padding-right: 160px;
}
.nav .nav__menu ul li:nth-last-child(-n+3) a:hover {
  background-color: #ce1818;
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a {
    font-size: 14px;
    padding: 40px 20px 65px 20px;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a {
    text-align: left;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) a:before {
  color: #ffffff;
  display: inline-block;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a:before {
    left: 25px;
    transform: inherit;
    bottom: 40px;
    top: inherit;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a:before {
    left: 20px;
    right: auto;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) a:after {
  content: none;
}

/*.nav .nav__menu ul li:nth-last-child(-n+3) {
  border-right: none;
  margin-right: 40px;
  margin-top: 50px;
  width: calc(33.3333% - 60px);
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) {
    margin-right: 15px;
    width: calc(33.3333% - 31.66666px);
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) {
    margin-right: 2px;
    width: calc(33.3333% - 3px);
  }
}

@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-child(n+3) {
    margin-top: 30px;
  }

  .nav .nav__menu ul li:not(:nth-child(2n+2)) {
    border-right: 1px solid #000000;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) a {
  background-color: rgba(0,0,0,.7);
  display: block;
  color: #ffffff;
  font-size: 15px;
  min-height: inherit;
  transition: .4s;
  transition-timing-function: ease-in;
  padding-right: 120px;
}
.nav .nav__menu ul li:nth-last-child(-n+3) a:hover {
  background-color: #ce1818;
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a {
    font-size: 14px;
    padding: 40px 20px 65px 20px;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a {
    text-align: left;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) a:before {
  color: #ffffff;
  display: inline-block;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(-n+3) a:before {
    left: 25px;
    transform: inherit;
    bottom: 40px;
    top: inherit;
    text-align: left;
  }
}

.nav .nav__menu ul li:nth-last-child(-n+3) a:after {
  content: none;
}*/

/*.nav .nav__menu ul li:nth-last-child(3) {
  margin-left: 50px;
}*/
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li:nth-last-child(3) {
    border-right: none;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li:nth-last-child(3) {
    margin-left: 0;
    width: calc(33.3333% - 1px);
  }
  /*.nav .nav__menu ul li:nth-last-child(3) {
    margin-left: 2px;
  }*/
}

.nav .nav__menu ul li a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  box-sizing: border-box;
  color: #000000;
  display: flex;
  font-size: 18px;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
  letter-spacing: .34em;
  height: 200px;
  padding: 17px 40px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .5s;
}
@media screen and (max-width: 1049px) {
  .nav .nav__menu ul li a {
    height: 140px;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .nav .nav__menu ul li a {
    font-size: 14px;
    height: 80px;
    padding: 10px;
    text-align: center;
  }
}

.nav .nav__menu ul li a:before {
  content: "";
  font-family: 'LibreBaskerville', serif;
  font-size: 12px;
  letter-spacing: .17em;
  position: absolute;
  text-transform: capitalize;
  top: calc(50% + 20px);
}

.nav .nav__menu ul li:first-child a:before {
  content: "seminar";
}

.nav .nav__menu ul li:nth-child(2) a:before {
  content: "history";
}

.nav .nav__menu ul li:nth-child(3) a:before {
  content: "solution";
}

.nav .nav__menu ul li:nth-child(4) a:before {
  content: "only one";
}

.nav .nav__menu ul li:nth-child(5) a:before {
  content: "case";
}

.nav .nav__menu ul li:nth-child(6) a:before {
  content: "guide";
}

.nav .nav__menu ul li:nth-child(7) a:before {
  content: "company";
}

.nav .nav__menu ul li:nth-child(8) a:before {
  content: "topics";
}

.nav .nav__menu ul li:nth-child(9) a:before {
  content: "contact";
}

.nav .nav__menu ul li:nth-child(10) a:before {
  content: "recruit";
}

/*.nav .nav__menu ul li:nth-child(10) a:before {
  content: "download";
}*/

.nav .nav__menu ul li:nth-child(11) a:before {
  content: "application";
}

.nav .nav__menu ul li a:after {
  background: -moz-radial-gradient(center, ellipse cover, rgba(255,0,0,0.25) 0%, rgba(255,255,255,0) 100%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(255,0,0,0.25) 0%,rgba(255,255,255,0) 100%);
  background: radial-gradient(ellipse at center, rgba(255,0,0,0.25) 0%,rgba(255,255,255,0) 100%);
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: .4s;
  top: 0;
  width: 100%;
  z-index: -1;
}

.nav .nav__menu ul li a:hover:after {
  opacity: 1;
}


/* body */
body.open {
  overflow-y: hidden !important;
}

body.open:before {
  background-color: rgba(51,51,51,.35);
  content: "";
  height: 100%;
  position: fixed;
  transition: .3s;
  width: 100%;
  z-index: 6;
}

/* SPナビ ボタン */

.nav-btn > div {
  position: relative;
  height: 100%;
}
.nav-btn > div .-bar {
  background: #000000;
  display: block;
  height: 2px;
  left: 50%;
  margin-left: -10px;
  position: absolute;
  transition: .3s;
  transform: rotate(0);
  width: 20px;
}

.nav-btn > div .-bar.top {
  top: 8px;
  transform: translateY(-8px) scale(1);
}

.nav-btn > div .-bar.middle {
  top: 6px;
}

.nav-btn > div .-bar.bottom {
  top: 4px;
  transform: translateY(8px) scale(1);
}

.nav-btn.close > div {
  transform: rotate(0);
}

.nav-btn.close {
  background-color: transparent;
  overflow: visible;
}

.nav-btn.close:before {
  content: "close";
  color: #ffffff;
  font-family: 'Noto Serif JP Medium', serif;
  font-size: 16px;
  left: -70px;
  text-transform: uppercase;
  top: 46px;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .nav-btn.close:before {
    top: 23px;
  }
}

.nav-btn:after {
  background-color: #898989;
  content: "";
  height: 80px;
  position: fixed;
  right: 0px;
  top: 0px;
  transition: .3s;
  width: 0;
  z-index: -1;
}

.nav-btn.close:after {
  width: 275px;
}

.nav-btn.close div .-bar {
  background-color: #ffffff;
}

.nav-btn.close > div .-bar.top {
  transform: rotate(-45deg) translateY(0);
}

.nav-btn.close > div .-bar.middle {
  background: rgba(255,255,255,0);
}

.nav-btn.close > div .-bar.bottom {
  transform: rotate(45deg) translateY(0);
  top: 8px;
}

.site-header01 .header-lower div.active-branch>ul>li:last-of-type {
  margin-right: 0;
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower div.active-branch>ul>li {
    border-bottom: 1px solid #ffffff;
    position: relative;
    width: 100%;
  }
}
.site-header01 .header-lower div.active-branch>ul>li>a {
  color: #000000;
  display: block;
  font-family: 'Noto Serif JP Medium', serif;
  font-size: 18px;
  letter-spacing: 0.2em;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  width: 100%;
  white-space: nowrap;
}
@media only screen and  (min-width: 1049px) {
  .site-header01 .header-lower div.active-branch>ul>li>a:after {
    background-color: #000000;
    bottom: -20px;
    content: "";
    left: 0;
    height: 2px;
    position: absolute;
    transition: .3s;
    width: 0;
  }
  .site-header01 .header-lower div.active-branch>ul>li>a:hover:after {
    width: 100%;
  }

  .site-header01 .header-lower div.active-branch>ul.active-branch>li>a {
    opacity: .35;
  }
  .site-header01 .header-lower div.active-branch>ul.active-branch>li>a:after {
    background-color: #000000;
    bottom: -20px;
    content: "";
    left: 0;
    height: 2px;
    position: absolute;
    transition: .3s;
    width: 0;
  }
  .site-header01 .header-lower div.active-branch>ul.active-branch>li>a:hover {
    opacity: 1;
    transition: .3s;
  }
  .site-header01 .header-lower div.active-branch>ul.active-branch>li:not(:last-child)>a:hover:after {
    width: 100%;
  }
}
@media only screen and  (max-width: 1410px) {
  .site-header01 .header-lower div.active-branch>ul>li>a {
    font-size: 15px;
  }
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower div.active-branch>ul>li>a {
    box-sizing: border-box;
    color: #ffffff;
    display: inline-block;
    font-size: 16px;
    text-align: left;
    padding: 20px;
  }

  .site-header01 .header-lower div.active-branch>ul>li>a[target="_blank"]:before {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDEzIDEzIj4KICA8cGF0aCBpZD0i44OR44K5XzE5ODciIGRhdGEtbmFtZT0i44OR44K5IDE5ODciIGQ9Ik0zMDQuMTM4LDQxNS45NDVoLTEwdjNoLTN2MTBoMTB2LTNoM1ptLTQsMTJoLTh2LThoOFptMy0zaC0ydi02aC02di0yaDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjkxLjEzOSAtNDE1Ljk0NSkiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==) no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 13px;
    position: absolute;
    right: 20px;
    top: calc(50% - 3.5px);
    transition: .3s;
    vertical-align: middle;
    width: 13px;
  }
}

.site-header01 .header-lower div.active-branch>ul>li>a img {
  vertical-align: baseline;
}

@media only screen and  (min-width: 1050px) {
  .site-header01 .header-lower div.active-branch>ul>li:not(:last-child)>a:hover:after {
    transition: .3s;
    width: 100%;
  }
  .site-header01 .header-lower div.active-branch>ul>li.active-branch > a {
    position: relative;
  }

  .site-header01 .header-lower div.active-branch>ul>li.active-branch > a:after {
    background-color: #000000;
    bottom: -20px;
    content: "";
    left: 0;
    height: 2px;
    position: absolute;
    width: 100%;
  }
}

@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower div.active-branch>ul+div ul {
    border-top: 1px solid #ffffff;
    padding-top: 20px;
  }

  .site-header01 .header-lower div.active-branch>ul+div ul>li+li {
    padding-top: 20px;
  }

  .site-header01 .header-lower div.active-branch>ul+div ul>li {
    position: relative;
  }

  .site-header01 .header-lower div.active-branch>ul+div ul>li:after {
    border-bottom: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    content: "";
    left: 0;
    margin-top: -2.5px;
    position: absolute;
    transform: rotate(-135deg);
    top: 50%;
    width: 5px;
    height: 5px;
  }
  .site-header01 .header-lower div.active-branch>ul+div ul>li>a {
    display: block;
    min-height: 10px;
    padding-left: 12px;
  }
  .site-header01 .header-lower div.active-branch>ul+div ul>li:last-child a {
    box-sizing: border-box;
    background-color: #ce1818;
    background-image: none;
    border: 1px solid #ce1818;
    color: #ffffff;
    display: block;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    text-decoration: none;
  }
  .site-header01 .header-lower div.active-branch>ul+div ul>li:last-child:after {
    display: none;
  }
}

.site-header01 .header-lower div.active-branch>ul>li:last-child>a>span {
  border-right: 1px solid #898989;
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower div.active-branch>ul>li:last-child>a>span {
    border: none;
  }
}

@media only screen and  (max-width: 1049px) {
  .site-header01 .header-upper .container>.row-fluid-wrapper>.row-fluid>.header-upper-left .header-caption {
    display: none;
  }
}

/*compactmenu common*/
.site-header01 .header-lower .global-menu div.active-branch>ul>li ul>li {
  position: relative;
}

@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .global-menu div.active-branch>ul>li ul>li a {
    color: #ffffff;
    display: block;
    text-decoration: none;
    transition: .3s;
  }
  .site-header01 .header-lower .global-menu div.active-branch>ul>li ul>li>a:after {
    background-color: #ffffff;
    border-radius: 2px;
    content: "";
    height: 2px;
    left: 20px;
    position: absolute;
    top: 9px;
    width: 2px;
  }
}

.site-header01 .header-lower .global-menu div >ul>li ul>li ul>li {
  display: none;
}

/*horizontal*/

.site-header01 .header-lower .horizontal div.active-branch>ul>li>.compact-wrapper {
  background-color: rgba(255,255,255,0.7);
  box-sizing: border-box;
  left: 0;
  opacity: 0;
  padding: 20px;
  position: absolute;
  top: 45px;
  transition: .3s;
  visibility: hidden;
  width: 100%;
}

@media only screen and  (min-width: 769px) {
  .site-header01 .header-lower .horizontal div.active-branch>ul>li:hover>.compact-wrapper {
    opacity: 1;
    visibility: visible;
    z-index: 3;
  }
}
.site-header01 .header-lower .horizontal div.active-branch>ul>li ul{
  display: none;
}

.site-header01 .header-lower .horizontal div.active-branch>ul>li>.compact-wrapper ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;;
}
.site-header01 .header-lower .horizontal div.active-branch>ul>li ul>li+li {
  margin-left: 20px;
}

/*vertical*/
.site-header01 .header-lower .vertical div.active-branch>ul {
}

.site-header01 .header-lower .vertical div.active-branch>ul>li:nth-last-child(-n+3){
  display: none;
}


.site-header01 .header-lower .vertical div.active-branch>ul>li:not(:last-child) {
  margin-right: 30px;
}
@media only screen and  (max-width: 1282px) and (min-width: 1050px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li:not(:last-child) {
    margin-right: 20px;
  }
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li:not(:last-child) {
    margin-right: 0;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li.is-contact {
  margin-right: 0;
}

@media only screen and  (min-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch > a {
    color: #000000;
    opacity: 1;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper {
  display: none;
}


@media only screen and (min-width: 1050px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper {
    -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
    box-sizing: border-box;
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
    -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
    left: 50%;
    -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;;
    height: 110px;
    max-width: 1600px;
    padding: 15px 80px;
    position: absolute;
    top: 67px;
    transform: translate(-50%,0);
    width: 100%;
  }
}

@media only screen and (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper {
    display: none;
  }
}

@media only screen and (min-width: 1050px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper:before {
    background-color: #eeeeee;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%,0);
    width: 100vw;
  }

  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper>li:not(:first-child) {
    margin-left: 30px;
  }
}
@media only screen and (max-width: 1200px) and (min-width: 1050px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper>li:not(:first-child) {
    margin-left: 20px;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper>li.active-branch > a {
  position: relative;
}

@media only screen and (min-width: 1050px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li.active-branch>ul.hs-menu-children-wrapper>li.active-branch > a:after,
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item>a.is-active:after {
    background-color: #000000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
  }

}

@media only screen and (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper {
    background-color: inherit;
    display: none;
    max-width: inherit;
    margin-top: -10px;
    opacity: 1;
    padding-bottom: 10px;
    position: static;
    top: inherit;
    visibility: visible;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.open-menu-list {
  display: none !important;
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a {
  color: #000000;
  display: block;
  font-family: 'Noto Serif JP Medium', serif;
  font-size: 14px;
  line-height: 1.3;
  padding-bottom: 10px;
  text-decoration: none;
  transition: .3s;
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a {
    color: #ffffff;
    padding-left: 30px;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a[target="_blank"] {
  padding-right: 20px;
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a[target="_blank"]:before {
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDEzIDEzIj4KICA8cGF0aCBpZD0i44OR44K5XzE5NzYiIGRhdGEtbmFtZT0i44OR44K5IDE5NzYiIGQ9Ik0zMDQuMTM4LDQxNS45NDVoLTEwdjNoLTN2MTBoMTB2LTNoM1ptLTQsMTJoLTh2LThoOFptMy0zaC0ydi02aC02di0yaDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjkxLjEzOSAtNDE1Ljk0NSkiIGZpbGw9IiMwNzAyMDMiLz4KPC9zdmc+Cg==) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 13px;
  position: absolute;
  right: 0;
  top: calc(50% - 10.5px);
  transition: .3s;
  vertical-align: middle;
  width: 13px;
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a[target="_blank"]:before {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDEzIDEzIj4KICA8cGF0aCBpZD0i44OR44K5XzE5ODciIGRhdGEtbmFtZT0i44OR44K5IDE5ODciIGQ9Ik0zMDQuMTM4LDQxNS45NDVoLTEwdjNoLTN2MTBoMTB2LTNoM1ptLTQsMTJoLTh2LThoOFptMy0zaC0ydi02aC02di0yaDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjkxLjEzOSAtNDE1Ljk0NSkiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==) no-repeat;
    right: 20px;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a[target="_blank"]:hover:before {
  right: -5px;
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.active-branch .hs-menu-item > a {
  opacity: .35;
}
@media only screen and  (min-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a:after {
    background-color: #000000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: .3s;
    width: 0;
  }
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item > a:hover:after {
    width: 100%;
  }
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.active-branch .hs-menu-item > a:after {
    background-color: #000000;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: .3s;
    width: 0;
  }
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.active-branch .hs-menu-item > a:hover:after {
    width: 100%;
  }
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.active-branch .hs-menu-item > a:hover {
    opacity: 1;
    transition: .3s;
  }
}

@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper.active-branch .hs-menu-item > a {
    color: #ffffff;
    font-size: 12px;
    font-family: inherit;
    opacity: 1;
    padding: 5px 20px 5px 30px;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul.hs-menu-children-wrapper .hs-menu-item.active-branch > a {
  opacity: 1;
}

@media only screen and  (min-width: 769px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li:hover>ul {
    opacity: 1;
    visibility: visible;
    z-index: 4;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul {
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul>li {
  margin-top: 10px;
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-lower .vertical div.active-branch>ul>li>ul>li:not(:last-child) {
    padding: 0px;
  }
}

.site-header01 .header-lower .vertical div.active-branch>ul>li>ul>li:after {
  left: 20px;
}

/* header-lower 1-a */
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-nav0101 .header-lower.view {
    max-width: 70%;
    overflow-x: auto;
    overflow-y: auto;
    transition: max-width .3s ease-out;
  }
}

.site-header01 .header-nav0101 .header-lower {
  width: calc(100% - 340px) !important;
}
@media only screen and  (max-width: 1280px) {
  .site-header01 .header-nav0101 .header-lower {
    width: calc(100% - 230px) !important;
  }
}
@media only screen and  (max-width: 1049px) {
  .site-header01 .header-nav0101 .header-lower {
    background-color: #898989;
    height: 100%;
    max-width: 0;
    overflow: hidden;
    padding-top: 80px;
    position: fixed;
    right: 0;
    transition: max-width .3s ease-out;
    top: 0;
    width: 275px !important;
    z-index: 10;
  }
  .site-header01 .header-nav0101 .header-lower.view {
    max-width: 100%;
    overflow-x: auto;
    transition: max-width .3s ease-out;
  }
  .header-lower.view {
    position: relative;
  }
}
@media only screen and  (max-width: 767px) {
  .site-header01 .header-nav0101 .header-lower {
    width: 100%;
  }
}

.header-upper-left {
  width: 300px !important;
}
@media only screen and  (max-width: 1280px) {
  .header-upper-left {
    width: 200px !important;
  }
}
@media only screen and  (max-width: 1049px) {
  .header-upper-left {
    width: 300px !important;
  }
}
@media only screen and  (max-width: 767px) {
  .header-upper-left {
    width: 260px !important;
  }
}

.site-header01__no-kv .header-nav0101 {
  z-index: 10;
}

.site-header01 .header-nav0101 .logo img {
  max-width: inherit;
  transition: .3s ease-out;
  width: 100% !important;
  vertical-align: middle;
}
/* ==========================================================================

    site-footer

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


/* html 要素 */



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




/* small要素 */




/* sub、sup 要素 */





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



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










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











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



/* 左右内側の余白 */





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





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



















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

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



/* page top */

.page-top {
  border-bottom: 1px solid #808080;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-top {
    margin-bottom: 30px;
  }
}

.page-top a {
  display: block;
  color: #808080;
  font-family: 'NotoSerifJP-Medium', serif;
  font-size: 14px;
  letter-spacing: .57em;
  line-height: 1;
  padding: 20px 0;
  text-decoration: none;
  transition: all .2s ease-in-out;
}

.page-top a:hover {
  color: #ce1818;
}

.site-footer--no-kv .page-top {
  border-bottom: none;
  border-top: 1px solid #808080;
  margin-top: 100px;
  margin-bottom: 0;
}



/* Footer Lower */

.site-footer .site-footer__lower {
  position: relative;
}

.container.container--footer,
.row-fluid [class*="span"] .container.container--footer {
  margin-bottom: 70px;
  max-width: inherit;
  padding-left: 70px;
  padding-right: 70px;
}
@media screen and (max-width: 1049px) {
  .container.container--footer,
  .row-fluid [class*="span"] .container.container--footer {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .container.container--footer,
  .row-fluid [class*="span"] .container.container--footer {
    margin-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.site-footer__lower__company {
  border-right: 1px dotted #000000;
  max-width: 500px;
  padding-right: 60px;
  width: 32% !important;
}
@media screen and (max-width: 1049px) {
  .site-footer__lower__company {
    border-right: none;
    margin-bottom: 50px;
    padding-right: 0;
    padding: 0 20px;
    width: 100% !important;
  }  
}
@media screen and (max-width: 767px) {
  .site-footer__lower__company {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
  }
}

.site-footer__lower__company .logo {
  width: 230px;
}
@media screen and (max-width: 767px) {
  .site-footer__lower__company .logo {
    width: 177px;
  }
}

.site-footer__lower__menu {
  margin-left: 0 !important;
  padding-left: 70px;
  padding-right: 70px;
  width: 45% !important;
}
@media screen and (max-width: 1049px) {
  .site-footer__lower__menu {
    padding-left: 0;
    padding-right: 50px;
    width: 65% !important;
  }
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu {
    padding-bottom: 15px;
    padding-left: 0;
    padding-right: 0;
    width: 100% !important;
  }
}

.site-footer__lower__menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
}
@media screen and (min-width: 1050px) {
  .site-footer__lower__menu ul {
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu ul {
    display: block;
  }
}

.site-footer__lower__menu ul li {
  width: calc(50% - 35px);
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu ul li {
    width: 100%;
  }
}

/* 2次公開時削除 */
@media screen and (min-width: 768px) {
  .site-footer__lower__menu ul li:nth-child(odd) {
    margin-right: 70px;
  }
  .site-footer__lower__menu ul li:nth-child(n+3) {
    margin-top: 30px;
  }
}

/*.site-footer__lower__menu ul li:first-child {
  order: 1;
}
@media screen and (min-width: 1050px) {
  .site-footer__lower__menu ul li:first-child {
    margin-right: 70px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  .site-footer__lower__menu ul li:first-child {
    margin-right: 50px;
  }
}

.site-footer__lower__menu ul li:nth-child(2) {
  order: 3;
  margin-top: 20px;
}
@media screen and (min-width: 1050px) {
  .site-footer__lower__menu ul li:nth-child(2) {
    margin-right: 70px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  .site-footer__lower__menu ul li:nth-child(2) {
    margin-right: 50px;
  }
}

.site-footer__lower__menu ul li:nth-child(3) {
  order: 6;
  margin-top: 20px;
}
@media screen and (min-width: 1050px) {
  .site-footer__lower__menu ul li:nth-child(3) {
    margin-right: 70px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  .site-footer__lower__menu ul li:nth-child(3) {
    margin-right: 50px;
  }
}

.site-footer__lower__menu ul li:nth-child(4) {
  order: 7;
  margin-top: 20px;
}
@media screen and (min-width: 1050px) {
  .site-footer__lower__menu ul li:nth-child(4) {
    margin-right: 70px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  .site-footer__lower__menu ul li:nth-child(4) {
    margin-right: 50px;
  }
}

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

.site-footer__lower__menu ul li:nth-child(6) {
  order: 4;
  margin-top: 20px;
}

.site-footer__lower__menu ul li:nth-child(7) {
  order: 6;
  margin-top: 20px;
}

.site-footer__lower__menu ul li:nth-child(8) {
  order: 8;
  margin-top: 20px;
}*/

@media screen and (max-width: 767px) {
  .site-footer__lower__menu ul li:nth-child(n+2) {
    margin-top: 25px;
  }
}

.site-footer__lower__menu ul li a {
  color: #000000;
  display: block;
  font-size: 14px;
  letter-spacing: .34em;
  line-height: 1.5;
  text-decoration: none;
  transition: all .3s;
  padding-left: 30px;
  position: relative;
}

.site-footer__lower__menu ul li a:hover {
  color: #ce1818;
}

.site-footer__lower__menu ul li a .button__arrow {
  border: 1px solid #000000;
  border-radius: 100%;
  display: inline-block;
  left: 0;
  height: 20px;
  position: absolute;
  transition: .3s;
  top: -1px;
  width: 20px;
}

.site-footer__lower__menu ul li a:hover .button__arrow {
  border-color: #ce1818;
}

.site-footer__lower__menu ul li a .button__arrow:before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzLjkyIDE4LjYiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO3N0cm9rZTojYzIxZDFmO3N0cm9rZS1taXRlcmxpbWl0OjEwO308L3N0eWxlPjwvZGVmcz48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMuNTIuM2ExNC45MiwxNC45MiwwLDAsMCwwLDE4Ii8+PC9nPjwvZz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  height: 12px;
  width: 3px;
  position: absolute;
  left: -1px;
  top: calc(50% - 6px);
  z-index: 1;
}

.site-footer__lower__menu ul li a .button__arrow svg {
  display: none;
}

@media all and (-ms-high-contrast: none){
  .site-footer__lower__menu ul li a .button__arrow svg {
    display: none;
  }
  .site-footer__lower__menu ul li a:hover .button__arrow {
    border-color: #ce1818;
  }
}


.site-footer__lower__menu ul li a .button__arrow__circle {
  overflow: inherit !important;
  position: absolute;
  left: 1px;
  top: -11px;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu ul li a .button__arrow__circle {
    top: -4px;
  }
}

.site-footer__lower__menu ul li a .button__arrow__circle circle {
	fill: transparent;
  stroke: transparent;
	stroke-width: 1.2;
}

.site-footer__lower__menu ul li a .button__arrow__circle--bottom {
  top: -33px;
  left: 1px;
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu ul li a .button__arrow__circle--bottom {
    top: -26px;
  }
}


.site-footer__lower__menu ul li a .button__arrow__circle--bottom circle {
  transform: scale(1, -1);
}

.site-footer__lower__menu ul li a:hover .button__arrow__circle circle {
	animation: circle cubic-bezier(0.165, 0.840, 0.440, 1.000) .5s;
  stroke: #ce1818;
  transition: .3s;
}

.site-footer__lower__menu ul li a .button__arrow__inner:before, 
.site-footer__lower__menu ul li a .button__arrow__inner:after {
  background-color: #000000;
  content: "";
  height: 1px;
  left: calc(50% - 2px);
  position: absolute;
  transition: .3s;
  top: calc(50% - 2px);
  width: 4px;
}

.site-footer__lower__menu ul li a:hover .button__arrow__inner:before, 
.site-footer__lower__menu ul li a:hover .button__arrow__inner:after {
  background-color: #ce1818;  
}

.site-footer__lower__menu ul li a .button__arrow__inner:before {
  transform: rotate(45deg);
}

.site-footer__lower__menu ul li a .button__arrow__inner:after {
  transform: rotate(-45deg);
  top: 50%;
}

.site-footer__lower__menu--utility {
  border-left: 1px dotted #808080;
  padding-right: 0;
  width: 23% !important;
}
@media screen and (max-width: 1049px) {
  .site-footer__lower__menu--utility {
    padding-left: 50px;
    width: 35% !important;
  }
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu--utility {
    border-top: 1px dotted #000000;
    border-left: none;
    padding-bottom: 0;
    padding-top: 15px;
    padding-left: 0;
    width: 100% !important;
  }
}

.site-footer__lower__menu--utility ul {
  display: block;
}

.site-footer__lower__menu--utility ul li {
  width: 100%;
}

.site-footer__lower__menu--utility ul li:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .site-footer__lower__menu--utility ul li:nth-child(n+2) {
    margin-top: 25px;
  }
}


/* Copy Right */

.site-footer__lower__copyright {
  background-color: #000000;
  color: #ffffff;
  font-family: 'LibreBaskerville', serif;
  font-size: 12px;
  letter-spacing: .2em;
  line-height: 1.5;
  padding: 21px 70px;
}
@media screen and (max-width: 1049px) {
  .site-footer__lower__copyright {
    padding: 12px 70px;
    text-align: center;
  }
}
@media screen and (max-width: 1049px) {
  .site-footer__lower__copyright {
    font-size: 10px;
    line-height: 1.8;
    padding: 12px 20px;
    text-align: left;
  }
}

.site-footer .footer-lower .copy-right p,
.lp .site-footer .footer-lower .copy-right p {
  letter-spacing: 0.04em;
  font-size: 12px;
  text-align: center;
}
@media only screen and (max-width: 1049px) {
  .site-footer .footer-lower .copy-right p,
  .lp .site-footer .footer-lower .copy-right p {
    text-align: left;
  }
}

.site-footer .footer-lower .footer-lower-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  width: 100%;
}
@media only screen and (max-width: 1049px) {
  .site-footer .footer-lower .footer-lower-menu ul {
    -ms-flex-wrap: wrap;
  flex-wrap: wrap;;
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer .footer-lower .footer-lower-menu ul {
    box-sizing: border-box;
    display: block;
    padding: 0 20px;
  }
}    

.site-footer .footer-lower .footer-lower-menu ul li+li {
  margin-left: 30px;
}
@media only screen and (max-width: 767px) {
  .site-footer .footer-lower .footer-lower-menu ul li+li {
    margin-left: 0;
  }
}
.site-footer .footer-lower .footer-lower-menu ul li {
  position: relative;
}
@media screen and (max-width: 767px) {
  .site-footer .footer-lower .footer-lower-menu ul li {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1049px) {
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(3n+3) {
    padding-right: 0;
  }
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(3n+3):after {
    content: none;
  }
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(4) {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(even) {
    padding-right: 0;
  }
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(even):after {
    content: none;
  }
  .site-footer .footer-lower .footer-lower-menu ul li:nth-child(odd) {
    margin-left: 0;
  }
}

.site-footer .footer-lower .footer-lower-menu ul li a {
  color:#000000;
  display: block;
  font-size: 12px;
  padding: 0 !important;
  position: relative;
  text-decoration: none;
  transition: .3s;
}

.site-footer .footer-lower .footer-lower-menu ul li a:hover {
  color: #dfdad8;
}
@media screen and (max-width: 1049px) {
	.site-footer .footer-lower .footer-lower-menu ul li a {
    color:#ffffff;
  }
}

/* パンくず */
.hs-breadcrumb-menu-wrapper {
  background-color: #000000;
  box-sizing: border-box;
  margin-left: auto;
  margin-top: -265px;
  margin-bottom: 100px;
  padding: 0px 50px;
  width: calc(100% - 150px);
}
@media only screen and (max-width: 1049px) {
  .hs-breadcrumb-menu-wrapper {
  margin-bottom: 80px;
  margin-top: -85px;
  overflow-x: scroll;
  overflow-y: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .hs-breadcrumb-menu-wrapper {
    margin-bottom: 65px;
    padding: 0 30px;
    width: calc(100% - 20px);
  }
}

.hs-breadcrumb-menu-wrapper--no-image {
  min-height: 100px;
  position: relative;
}
@media only screen and (max-width: 1049px) {
  .hs-breadcrumb-menu-wrapper--no-image {
    overflow-x: visible;
    overflow-y: visible;
  }
}
@media only screen and (max-width: 767px) {
  .hs-breadcrumb-menu-wrapper--no-image {
    min-height: 50px;
  }
}

.hs-breadcrumb-menu-wrapper--no-image:before {
  background-color: gray;
  background-image: inherit;
  left: -150px;
  content: "";
  height: 180px;
  opacity: .1;
  position: absolute;
  top: 0;
  width: calc(100vw - 160px);
  z-index: -1;
}
@media only screen and (max-width: 1049px) {
  .hs-breadcrumb-menu-wrapper--no-image:before {
    width: calc(100vw - 40px);
  }
}
@media only screen and (max-width: 767px) {
  .hs-breadcrumb-menu-wrapper--no-image:before {
    height: 175px;
    left: -20px;
    top: 0;
    width: 100vw;
    z-index: -1;
  }
}

.hs-breadcrumb-menu {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;;
  height: 100px;
  width: 100%;
}
@media only screen and (max-width: 1049px) {
	.hs-breadcrumb-menu {
    height: 96px;
  }
}
@media only screen and (max-width: 767px) {
	.hs-breadcrumb-menu {
    height: 50px;
  }
}

.hs-breadcrumb-menu .hs-breadcrumb-menu-item {
  float: none;
  padding: 0;
  position: relative;
}
@media only screen and (min-width: 1050px) {
  .hs-breadcrumb-menu .hs-breadcrumb-menu-item {
    overflow: hidden;
  }
}

.hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:last-child) {
  margin-right: 10px;
}

.hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child) {
  padding-left: 18px;
}

@media only screen and (min-width: 1050px) {
  .hs-breadcrumb-menu .hs-breadcrumb-menu-item:last-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden;
  }
}

@media only screen and (max-width: 1049px) {
  .hs-breadcrumb-menu .hs-breadcrumb-menu-item:last-child {
    padding-right: 20px;
  }
}

.hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child):before {
  border-top: 1px dotted #ffffff;
  content: "";
  left: 0;
  height: 24px;
  position: absolute;
  transform: rotate(-45deg);
  top: calc(50% - 3px);
  width: 24px;
}

.hs-breadcrumb-menu-divider:before {
  content: none;
}

.hs-breadcrumb-label {
  display: inline-block;
  font-size: 14px;
  letter-spacing: .34em;
  transition: .3s;
  white-space: nowrap;
}

a.hs-breadcrumb-label {
  color: #ffffff;
  text-decoration: none;
}

a.hs-breadcrumb-label:hover {
  color: #ce1818;
}

span.hs-breadcrumb-label {
  color: #898989;
}

.hs-breadcrumb-label br {
  display: none;  
}
/* ==========================================================================

    site-content

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


/* html 要素 */



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




/* small要素 */




/* sub、sup 要素 */





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



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










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











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



/* 左右内側の余白 */





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





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



















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

/* align-items */


/* flex-display */



/* flex-wrap */


/* justify-content */


/* order */


/* flex */



.site-content {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}

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

    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:not(:first-child) {
  margin-top: 25px;
}

.button:not(:last-child) {
  margin-bottom: 25px;
}

.button--default > a,
.button--default > button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;;
  box-sizing: border-box;
  color: #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;;
  font-family: 'NotoSerifJP-Medium', serif;
  font-size: 16px;
  letter-spacing: .15em;
  position: relative;
  text-decoration: none;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .button--default > a,
  .button--default > button {
    font-size: 14px;
  }
}

.button--default > a:hover,
.button--default > button:hover {
  color: #ce1818;
}

.button--default > a:hover .button__arrow,
.button--default > button:hover .button__arrow {
  border-color: #ce1818;
}

.button--default .button__arrow {
  border: 1px solid #000000;
  border-radius: 100%;
  display: inline-block;
  height: 28px;
  margin-left: 20px;
  position: relative;
  transition: .3s;
  width: 28px;
}
@media screen and (max-width: 767px) {
  .button--default .button__arrow {
    height: 25px;
    margin-left: 15px;
    width: 25px;    
  }
  .button--default .button__arrow svg {
    display: none;  
  }
  .button--default > a:hover .button__arrow,
  .button--default > button:hover .button__arrow {
    border-color: #ce1818;
  }
}

@media all and (-ms-high-contrast: none){
  .button--default .button__arrow svg {
    display: none;
  }
  .button--default > a:hover .button__arrow,
  .button--default > button:hover .button__arrow {
    border-color: #ce1818;
  }
}

.button--default .button__arrow:before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzLjkyIDE4LjYiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojYzIxZDFmO3N0cm9rZS1taXRlcmxpbWl0OjEwO308L3N0eWxlPjwvZGVmcz48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMuNTIuM2ExNC45MiwxNC45MiwwLDAsMCwwLDE4Ii8+PC9nPjwvZz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  height: 18px;
  width: 5px;
  position: absolute;
  left: -2px;
  top: calc(50% - 9px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .button--default .button__arrow:before {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzLjE5IDE1Ljc2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6I2MyMWQxZjtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPuOCouOCu+ODg+ODiCA1PC90aXRsZT48ZyBpZD0i44Os44Kk44Ok44O8XzIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDIiPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMS0yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yLjc4LjI4YTEzLjgxLDEzLjgxLDAsMCwwLDAsMTUuMiIvPjwvZz48L2c+PC9zdmc+");
    height: 15px;
    width: 3px;
    left: -1px;
    top: calc(50% - 7.5px);
  }
}

.button__arrow__circle {
  overflow: inherit !important;
  position: relative;
  left: 2px;
  height: 32px;
  top: -2px;
  transform: rotate(180deg);
  width: 32px;
}
@media screen and (max-width: 767px) {
  .button__arrow__circle {
    left: 0;
    height: 25px;
    top: 0;
    width: 25px;
  }
}

.button__arrow__circle circle {
	fill: transparent;
  stroke: transparent;
	stroke-width: 1.5;
  transition: .3s;
}

.button__arrow__circle--bottom {
  top: -66px;
  left: 2px;
}
@media screen and (max-width: 767px) {
  .button__arrow__circle--bottom {
    top: -50px;
    left: 0;
  }
}

.button__arrow__circle--bottom circle {
  transform: scale(1, -1);
}

.button--default > a:hover .button__arrow__circle circle {
	animation: circle cubic-bezier(0.165, 0.840, 0.440, 1.000) .5s;
  stroke: #ce1818;
}

.button--default .button__arrow__inner:before {
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  content: "";
  height: 7px;
  left: calc(50% - 6px);
  position: absolute;
  transition: .3s;
  transform: rotate(45deg);
  top: calc(50% - 4px);
  width: 7px;
}
@media screen and (max-width: 767px) {
  .button--default .button__arrow__inner:before {
    left: calc(50% - 4px);
    height: 5px;
    top: calc(50% - 4px);
    width: 5px;
  }
}

.button--default > a:hover .button__arrow__inner:before,
.button--default > button:hover .button__arrow__inner:before {
  border-color: #ce1818;  
}

.button--scroll .button__arrow {
}

.button--white .button__arrow {
  border: 1px solid #ffffff;
}

.button--white > a:hover .button__arrow,
.button--white > button:hover .button__arrow {
  border-color: #ce1818;
}

.button--white .button__arrow__inner:before {
  border-right: 1px solid #ffffff;  
  border-top: 1px solid #ffffff;  
}

.button .is-unactive {
  pointer-events: none;
}

/* 色展開 */
.button--white > a,
.button--white > button {
  color: #ffffff;
}
.button--white a::before {
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
}
.button--white a::after {
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}
.button--white > a > span:after,
.button--white > button > span:after {
  background-color: #ffffff;
}

/* テキストボタン */
.button--text {
  color: #000000;
  font-family: 'NotoSansCJKjp-Medium',sun-serif;
  letter-spacing: .34em;
  transition: .3s;
}

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

.button--text--white >a {
  color: #ffffff;
}


/* 戻るボタン */
.button--back:not(:first-child) {
  margin-top: 50px;
}

.button--back > a,
.button--back > button {
  letter-spacing: .34em;
}
.button--back .button__arrow {
  transform: scale(-1);
  margin-left: 0;
  margin-right: 20px;
}

.button__arrow svg {
  display: none;
}

.button--default.button--back a {
  background-color: transparent;
  border: 1px solid #000000;
  box-sizing: border-box;
  display: inline-block;
  font-family: 'NotoSerifJP-Medium', serif;
  font-size: 16px;
  letter-spacing: .3em;
  line-height: 1.6;
  min-width: 280px;
  padding: 12px 20px 12px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  text-transform: uppercase;
  white-space: normal;  
}
.button--default.button--back a:before {
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  content: "";
  height: 7px;
  position: absolute;
  left: 20px;
  transform: rotate(-135deg);
  transition: .3s;
  top: calc(50% - 3px);
  width: 7px;
}
.button--default.button--back a:hover {
  border-color: #ce1818;
}

.button--default.button--back a:hover:before {
  border-color: #ce1818;
}

/*一覧*/
.button--list:not(:first-child) {
  margin-top: 50px;
}

.button--list > a,
.button--list > button {
  letter-spacing: .34em;
}
.button--list .button__arrow {
  margin-left: 0;
  margin-right: 20px;
  margin-left: 25px;
}

@media screen and (max-width: 767px) {
  .button--list .button__arrow {
  margin-left: 0;
  margin-right: 15px;
  margin-left: 10px;
  }
}

.button__arrow svg {
  display: none;
}

.button--default.button--list a {
  background-color: transparent;
  border: 1px solid #000000;
  box-sizing: border-box;
  display: inline-flex;
  font-family: 'NotoSansCJKjp-Medium', sans-serif;
  font-size: 16px;
  letter-spacing: .3em;
  line-height: 1.6;
  min-width: 280px;
  padding: 19px 20px 19px 50px;
  position: relative;
  text-align: left;
  text-decoration: none;
  transition: .3s;
  text-transform: uppercase;
  white-space: normal;  
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .button--default.button--list a {
    font-size: 14px;
    padding: 19px 0 19px 16px;
  }
}
.button--default.button--list a:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 23px 0 0 23px;
  border-color: transparent transparent transparent #ce1818;
  position: absolute;
  left: 0;
  bottom: 0;
}
.button--default.button--list a:hover {
  border-color: #ce1818;
}

.button--default.button--list a:hover:before {
  border-color: transparent transparent transparent #ce1818;
}
/* ==========================================================================

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

.row-fluid [class*="span"] .container.container--thin {
  max-width: 960px;
}

.container.container--none,
.row-fluid [class*="span"] .container.container--none {
  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.container--none,
	.row-fluid [class*="span"] .container.container--none {
		padding-left: 0;
		padding-right: 0;
	}
}
/* ==========================================================================

    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: -25px;
  margin-right: -25px
}
@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: 25px;
  padding-right: 25px;
}
.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: 25px;
}
@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: 50px;
}

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

.columns--narrow {
  margin-left: -10px;
  margin-right: -10px
}
.columns--narrow>.columns__column {
  padding-left: 10px;
  padding-right: 10px
}
.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
  }
}
.columns--one-two {
  margin-bottom: 0
}
.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: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: 30px
  }
}

.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%
}
@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:not(:nth-last-child(-n+2)) {
    margin-bottom: 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: 30px;
    -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;;
  }
}
@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%
  }
}
.columns--four>.columns__column {
  width: 25%
}
@media screen and (max-width:1299px) {
  .columns--four>.columns__column {
    width: 50%
  }
  .columns--four>.columns__column:not(:nth-child(1)), .columns--four>.columns__column:not(:nth-child(2)) {
    margin-top: 0
  }
  .columns--four>.columns__column:not(:nth-last-child(1)), .columns--four>.columns__column:not(:nth-last-child(2)) {
    margin-bottom: 30px
  }
}
@media screen and (max-width:767px) {
  .columns--four.columns--to-one {
    margin-left: 0;
    margin-right: 0;
  }

  .columns--four.columns--to-one>.columns__column {
    width: 100%
  }
}
.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

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


/* 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-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 #898989;
  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 #dfdad8;
}
/* ==========================================================================

    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: #000000;
	display: inline-block;
	text-decoration: none;
	position: relative;
  word-break: break-all;
}

.link:hover:after {
	width: 0;
}

.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;
}
/* ==========================================================================

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



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

.lead:not(:last-child) {
  margin-bottom: 25px;
}

.lead {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: .34em;
  line-height: 2.5;
}
@media screen and (max-width:767px) {
  .lead {
    font-size: 15px;
    line-height: 2.3;
  }
}
/* ==========================================================================

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



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

.list__item:not(:last-child) {
  margin-bottom: 10px
}
@media screen and (max-width:767px) {
  .list__item:not(:last-child) {
    margin-bottom: 20px
  }
}
.list--default>.list__item {
  list-style-type: none;
  padding-left: 12px;
  position: relative
}
.list--default>.list__item:before {
  background-color: #898989;
  content: "";
  height: 2px;
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 5px;
}

.list--none>.list__item:not(:first-child) {
  margin-top: 10px
}
.list--none>.list__item:not(:last-child) {
  margin-bottom: 10px
}
.list--float>.list__item {
  float: left
}
.list--float>.list__item:not(:first-child) {
  margin-top: 0;
  margin-left: 20px
}
.list--float>.list__item:not(:last-child) {
  margin-bottom: 0
}

.description-list__item .list__item:not(:first-child) {
  margin-top: 20px;
}

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


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

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

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

.list--base {
  color: #ffffff;
}

/* 番号付きリスト（2階層） */
@media screen and (max-width: 767px) {
  .has-number-list:not(:first-child) {
    margin-top: 60px !important;
  }
}
.number-list {
  font-size: 14px;
  line-height: 2.1;
  letter-spacing: .34em;
  word-break: break-word;
}

.number-list__first-box__text {
  padding-left: 34px;
  position: relative;
}
.number-list__first-box {
  counter-reset: first;
}
.number-list__first-box__text:not(:first-child) {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .number-list__first-box__text:not(:first-child) {
    margin-top: 30px;
  }
}
.number-list__first-box__text:before {
  content: counter(first)"）";
  counter-increment: first;
  position: absolute;
  top: 0;
  left: 0;
  letter-spacing: .24em;
}

.number-list__second-box {
  margin-top: 10px;
  counter-reset: second;
}
@media screen and (min-width: 768px) {
  .number-list__second-box {
    margin-top: 20px;
  }
}
.number-list__second-box__text {
  padding-left: 38px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .number-list__second-box__text {
    padding-left: 42px;
  }
}
@media screen and (min-width: 1050px) {
  .number-list__second-box__text {
    padding-left: 40px;
  }
}
.number-list__second-box__text:not(:first-child) {
  margin-top: 11px;
}
.number-list__second-box__text:before {
  content: "（"counter(second)"）";
  counter-increment: second;
  position: absolute;
  top: 0;
  left: -11px;
  letter-spacing: .24em;
}
@media screen and (min-width: 768px) {
  .number-list__second-box__text:before {
    left: -8px;
  }
}
@media screen and (min-width: 1050px) {
  .number-list__second-box__text:before {
    left: -10px;
  }
}
/* ==========================================================================

    loading

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

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


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





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









/* グラデーションの場合 */


/* 透明色 */ 



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







/* 英字のフォント */


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



body {
  overflow: hidden;
}

body::after {
  background-color: #ffffff;
  content: "";
  left: 0;
  height: 100vh;
  position: fixed;
  transition: 1s;
  top: 0;
  width: 100vw;
  z-index: 20;
}

body.is-active {
  overflow: auto;
  overflow-x: hidden;
}

body.is-active::after {
  opacity: 0;
  z-index: -5;
  }
/* ==========================================================================

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


.news-list {
}

.news-list:not(:first-child){
  margin-top: 50px;
}

.news-list__item:first-child {
  border-top: 1px dotted #000000;
}
.news-list__item {
  border-bottom: 1px dotted #000000;
  display: flex;
  font-size: 15px;
  position: relative;
  width: 100%;
}
@media screen and (max-width:767px) {
  .news-list__item {
    display: block;
  }
}

.news-list__item__heading {
  color: #898989;
  font-family: 'LibreBaskerville', serif;
  letter-spacing: .57em;
  padding: 23px 25px 23px 0;
  width: 150px;
}
@media screen and (max-width:1049px) {
  .news-list__item__heading {
    padding-left: 10px;
    width: 200px;
  }
}
@media screen and (max-width:767px) {
  .news-list__item__heading {
    display: block;
    font-size: 12px;
    letter-spacing: .45em;
    line-height: 1;
    padding: 23px 0px 20px 0;
    width: auto;    
  }
}
.news-list__item__content {
  box-sizing: border-box;
  padding: 23px 0 23px 25px;
  width: calc(100% - 150px);
}
@media screen and (max-width:1049px) {
  .news-list__item__content {
    padding-left: 40px;
    padding-right: 10px;
  }
}
@media screen and (max-width:767px) {
  .news-list__item__content {
    display: block;
    padding: 0px 0px 30px 0px;
    width: 100%;
  }
}

.news-list__item__content a {
  color: #000000;
  display: block;
  text-decoration: none;
  transition: .3s;
}

.news-list__item__content a:hover {
  color: #ce1818;
}
/* ==========================================================================

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



.heading-1 {
  box-sizing: border-box;
  font-family: 'NotoSerifJP-Medium', serif;
  font-size: 47px;
  letter-spacing: 0.4em;
  line-height: 1.8414;
  position: relative;
  padding-top: 30px;
  z-index: 1;
}
@media screen and (max-width: 1050px) {
  .heading-1 {
    font-size: 30px;
    line-height: 1.54;
  }
}

.heading-1 > span.word:first-child:first-letter {
  color: #ce1818;
}

.heading-1:before {
  color: #898989;
  content: attr(data-heading-1);
  font-size: 14px;
  left: 0;
  letter-spacing: .57em;
  position: absolute;
  text-transform: capitalize;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .heading-1:before {
    font-size: 12px;
    letter-spacing: .45em;
  }
}
/* ==========================================================================

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



.heading-2 {
  font-family: 'NotoSerifJP-Medium', serif;
  font-size: 35px;
  letter-spacing: .4em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .heading-2 {
    font-size: 28px;
  }
}

.heading-2:before {
  color: #898989;
  content: attr(data-heading2);
  display: block;
  font-family: 'LibreBaskerville', serif;
  font-variant-ligatures: no-common-ligatures;
  -moz-font-feature-settings: "liga" 0, "clig" 0;
  -webkit-font-feature-settings: "liga" 0, "clig" 0;
  font-feature-settings: "liga" 0, "clig" 0;  font-size: 14px;
  letter-spacing: .57em;
  margin-bottom: 10px;
  text-transform: capitalize;
}
@media screen and (max-width:767px) {
  .heading-2:before {
    font-size: 12px;
    letter-spacing: .45em;
  }
}

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

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

.heading-2--base {
  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 */


.heading-3-wrapper {
  padding-right: 1em;
}

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

.heading-3 {
  display: inline;
	font-size: 26px;
	letter-spacing: .34em;
	line-height: 1.7;
  position: relative;
}
@media screen and (max-width:767px) {
	.heading-3 {
  	font-size: 22px;
    line-height: 1.8;
	}
}

.heading-3:after {
  bottom: 0;
  background-color: #ce1818;
  content: "";
  height: 1px;
  position: absolute;
  right: -15px;
  width: 14px;
}

.heading-3--base {
  color: #ffffff;
}
/* ==========================================================================

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


.heading-4-wrapper {
}

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

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

.heading-4 {
  background-color: #898989;
  color: #ffffff;
  display: inline-block;
  font-size: 20px;
  letter-spacing: .34em;
  line-height: 1.3;
  padding: 2px 5px 2px 10px;
}
@media screen and (max-width:767px) {
  .heading-4 {
    font-size: 18px;
  }
}
@media all and (-ms-high-contrast: none){
  .heading-4 {
    padding: 10px 5px 2px 10px;
  }
}
/* ==========================================================================

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



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

.heading-5:not(:last-child) {
  margin-bottom: 25px;
}
.heading-5 {
  font-family: 'NotoSansCJKjp-Medium', sans-serif;
  font-size: 18px;
  letter-spacing: 0.34em;
  line-height: 1.6;
  padding-left: 15px;
  position: relative;
}
@media screen and (max-width:767px) {
  .heading-5 {
    font-size: 16px;
    line-height: 1.7;
  }
}

.heading-5:before {
  background-color: #000000;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 14px;
  width: 6px;
}
@media screen and (max-width:767px) {
  .heading-5:before {
    top: 12px;
  }
}
/* ==========================================================================

    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: #000000;
	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: #000000;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transition: .3s;
  width: 0;
}

.icon--default:before, 
.icon--default:after {
  background-color: #000000;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: calc(50% - -2px);
  transition: .3s;
  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: #ce1818;  
}


.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;
}
/* ==========================================================================

    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:not(:first-child) {
	margin-top: 100px;
}
@media screen and (max-width:1049px) {
	.section:not(:first-child) {
		margin-top: 100px;
	}
}

.section:not(:last-child) {
	margin-bottom: 100px;
}
@media screen and (max-width:1049px) {
	.section:not(:last-child) {
		margin-bottom: 100px;
	}
}
@media screen and (max-width:767px) {
	.section:not(:last-child) {
		margin-bottom: 50px;
	}
}
/* ==========================================================================

    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 {
  font-size: 14px;
  letter-spacing: .34em;
  line-height: 2.1;
}
.paragraph:not(:first-child) {
	margin-top: 25px
}
.paragraph:not(:last-child) {
	margin-bottom: 25px
}
@media screen and (max-width:767px) {
	.paragraph {
		line-height: 2;
		letter-spacing: .24em;
	}
}

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

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



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

.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
}
@media screen and (max-width:767px) {
	.view--is-palmtop {
		display: block
	}
}