@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* # =================================================================
   # Forms
   # ================================================================= */


/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	border-style: 0;
	padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
	text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none;
	color: inherit;
}

/* Style select like a standard input */

select { /* Firefox 36+ */
	-webkit-appearance: none;
	-moz-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
	display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentColor; /* Internet Explorer 11+ */
}

legend {
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
	display: table; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
	-webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
	font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Correct the text style of placeholders in Chrome, Edge, and Safari */

::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.54;
}

[type='search'] {
	-webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
#	ベース
# ================================================================= */

html {
	font-size: 62.5%;
}

body {
	color: #000;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 1.4rem;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	font-weight: 300;
	letter-spacing: 0.06em;
	line-height: 1.6;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	
	word-wrap: break-word;
}

a,
button {
	color: #000;
	text-decoration: none;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

a:hover,
button:hover {
	color: #ff6000;
}

a:hover.opt06,
button:hover.opt06 {
	opacity: 0.6;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

ul li {
	list-style-type: none;
}

table {
	display: table;
	table-layout: fixed;
	width: 100%;
}

input {
	outline: none;
}

input:placeholder-shown {
	color: #4c4c4c;
	font-size: 1.4rem;
}

input::-webkit-input-placeholder {
	color: #4c4c4c;
	font-size: 1.4rem;
}

input:-moz-placeholder {
	color: #4c4c4c;
	font-size: 1.4rem;
	opacity: 1;
}

input::-moz-placeholder {
	color: #4c4c4c;
	font-size: 1.4rem;
	opacity: 1;
}

input:-ms-input-placeholder {
	color: #4c4c4c;
	font-size: 1.4rem;
}

/* # =================================================================
#	汎用
# ================================================================= */

/* クリア
------------------------- */

.clearfix::after {
	clear: both;
	content: '';
	display: block;
	height: 0;
	visibility: hidden;
}

/* PC SP
------------------------- */

.for-sp {
	display: none;
}




/* # =================================================================
#	レイアウト
# ================================================================= */

/* コンテナ
------------------------- */

.container{background:#fff;}
.container_gray{background:#f6f6f6;}

/* コンテンツのラッパー
------------------------- */

/* 基本のレイアウト幅
------------------------- */

.c-l-column {
	margin: 0 auto;
	padding: 0 15px;
	width: 1030px;
}
.c-l-column_tb80{
	margin: 0 auto;
	padding: 0 15px;
	width: 1030px;
}


.c-l-column_sp100 {
	margin: 0 auto;
	padding: 0 15px;
	width: 1030px;
}

     .c-l-column_full{
        	margin: 0 auto;
	    padding: 0;
	    width: 1030px;
    }

/* グリッド
------------------------- */

.c-l-grid {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-l-grid > {
	display: block;
}



/* # =================================================================
#	アニメーション
# ================================================================= */

.js-fadein {
	position: relative;
	top: 20px;
	opacity: 0;
	-webkit-transition: all .6s;
	transition: all .6s;
}

.js-fadein.is-fadein {
	top: 0;
	opacity: 1;
}

/*カスタムアニメーション
------------------------- */

/*上への動き＋フェードイン*/
.animation {}

.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}



.fadeInLeft {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInLeft;
 animation-name: fadeInLeft;
 visibility: visible !important;
}
@-webkit-keyframes fadeInLeft {
 0% { opacity: 0; -webkit-transform: translateX(-100px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeInLeft {
 0% { opacity: 0; -webkit-transform: translateX(-100px); -ms-transform: translateX(-100px); transform: translateX(-100px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}

.fadeInRight {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInRight;
 animation-name: fadeInRight;
 visibility: visible !important;
}
@-webkit-keyframes fadeInRight {
 0% { opacity: 0; -webkit-transform: translateX(100px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeInRight{
 0% { opacity: 0; -webkit-transform: translateX(100px); -ms-transform: translateX(100px); transform: translateX(100px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}





/* # =================================================================
#	パーツ
# ================================================================= */

/* TOP NAV SP
スマホ用アイコン付きメニュー
--------------------------------- */

.c-parts-top-nav {	display: none;    }

.c-parts-top-nav__menu {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.c-parts-top-nav__menu > {	display: block;   }

.c-parts-top-nav__item {	width: 33.33333%;   }

.c-parts-top-nav__item a {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	color: #333;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.2rem;
	height: 70px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	letter-spacing: normal;
	line-height: 1.2;
	text-align: center;
	-webkit-transition: height 0.4s;
	transition: height 0.4s;
}

.c-parts-top-nav__item a > {	display: block;   }

.c-parts-top-nav__item__wrap span {	display: block;   }

.c-parts-top-nav__item--icon img {	width: 24px;    }

.c-parts-top-nav__item--h {	margin: 4px 0 0;   }

@media only screen and (max-width: 767px) {

.c-parts-top-nav {
	position: fixed;
	top: 66px;
	left: 0;
	background: #efefef;
	border-bottom:1px solid #ccc;
	-webkit-box-shadow: 0 3px 5px -5px rgba(0, 0, 0, 0.5);
	box-shadow: 0 3px 5px -5px rgba(0, 0, 0, 0.5);
	display: block;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	width: 100%;
	z-index: 10;
}

.c-parts-top-nav.is-fixed .c-parts-top-nav__item a {height: 45px;}

.c-parts-top-nav.is-fixed .c-parts-top-nav__item--h,
.c-parts-top-nav.is-fixed .c-parts-top-nav__item--h--row2 {margin: 0;}

.c-parts-top-nav.is-fixed .c-parts-top-nav__item--icon {display: none;}

.c-parts-top-nav__item.is-active a { color: #c50018;  }

}

/* リンク
------------------------- */

.c-parts-link {
	position: relative;
	padding-left: 22px;
}

.c-parts-link::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: #000;
	content: '';
	display: block;
	height: 1px;
	margin: auto;
	width: 13px;
}


/*子メニューのリストマーカーカスタマイズ */
.pc-arrow{
position: relative; 
display: inline-block;
padding: 0 0 0 30px;
color: #000;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
}
.pc-arrow::before,
.pc-arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

@media only screen and (min-width: 768px) {
.pc-arrow-link::before{
left: 3px;
width: 17px;
height: 1px;
background: #f00;
}
.pc-arrow-link::after{
left: 13px;
width: 6px;
height: 6px;
border-top: 1px solid #f60;
border-right: 1px solid #f60;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
}



/* テキストリンク（赤下線）
------------------------- */

.c-parts-textlink:hover {
	opacity: 1;
	text-decoration: underline;
}

/* リンク（アロー）使用中
------------------------- */

.c-parts-arrR {
	font-weight: 500;border-bottom:1px dotted #666;cursor:pointer;
}

.c-parts-arrR:hover {
	border-bottom:1px dotted #f00;
}

.c-parts-arrR::before {
	position: relative;
	top: -1px;
	border-bottom: solid 2px #ff6000;
	border-radius: 1px;
	border-right: solid 2px #ff6000;
	content: '';
	display: inline-block;
	height: 6px;
	margin: 0 5px 0 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 6px;
}

.c-parts-arrDown {
	font-weight: 500;
}

.c-parts-arrDown::before {
	position: relative;
	bottom: 2px;
	border-bottom: solid 2px #ff6000;
	border-radius: 1px;
	border-right: solid 2px #ff6000;
	content: '';
	display: inline-block;
	height: 6px;
	margin: 0 5px 0 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 6px;
}

.c-parts-arrR span,.c-parts-arrDown span {
	border-bottom: solid 1px #a3a3a3;
}

/* テキストリンク（ボーダー下線）
------------------------- */



/* メールリンク
------------------------- */


/* TEL
------------------------- */

/* 外部リンク
------------------------- */

/* リンクPDFダウンロード
------------------------- */

.c-parts-pdf {
	margin: 0 4px 0 0;
}

.c-parts-pdf::after {
	position: relative;
	top: 4px;
	background: url(../images/icon_pdf.png) no-repeat center left;
	content: '';
	display: inline-block;
	height: 19px;
	margin: 0 0 0 4px;
	width: 16px;
}

.c-parts-pdf span {
	border-bottom: solid 1px #a3a3a3;
}

/* リンクダウンロード
------------------------- */

/* リスト（disc）
------------------------- */

.c-parts-list-disc {
	position: relative;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: normal;
	line-height: 1.7;
}

.c-parts-list-disc::before {
	position: absolute;
	top: 0.6em;
	background: #000;
	border-radius: 50%;
	content: '';
	display: block;
	height: 8px;
	width: 8px;
}

.c-parts-list-disc > span {
	display: block;
	padding: 0 0 0 18px;
}

/* リスト（>>）
------------------------- */


/* リスト（必須）
------------------------- */


/* 詳細リンクエリア
------------------------- */

/* 詳細ソーシャルエリア
------------------------- */

/* キャプション
------------------------- */



/* ソーシャル
------------------------- */

/* リードエリア（下層）
------------------------- */



/*-------------------------
全ページ共通
------------------------- */
/* フレックスボックス
------------------------- */

.flex_base-box,.flex_base-box2,.flex_base-box3,.flex_base-box4,.flex_base-box5,
.flex_base-box2m,.flex_base-box3m,.flex_base-box4m,.flex_base-box5m{
    padding:  0px;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    align-items:stretch;        /* 縦の位置指定 */
    justify-content:center;       /* 横の位置指定・中央揃え */
    flex-wrap: wrap;            /* 折り返し指定 */
    align-content:stretch;      /* 折り返し時の配置指定 */
}


 
.flex_base-item {
    padding: 10px;
    color:  #000;               /* 文字色 */
            /* 外側の余白 */
    border-radius:  0px;        /* 角丸指定 */
           /* 幅指定 */
}

.flex_base-box4 .flex_base-item{   width: 25%;      /* 幅指定 */}
.flex_base-box3 .flex_base-item{   width: 33.333333%;      /* 幅指定 */}
.flex_base-box2 .flex_base-item{   width: 50%;      /* 幅指定 */}

.flex_base-box4m .flex_base-item{   width: 24%;    /* 幅指定 */    margin:  0.5%;    /* 外側の余白 */}
.flex_base-box3m .flex_base-item{   width: 32.333%;    /* 幅指定 */  margin:  0.5%;    /* 外側の余白 */}
.flex_base-box2m .flex_base-item{   width: 49%;    /* 幅指定 */  margin:  0.5%;    /* 外側の余白 */}
 
.flex_base-item:nth-child(1) {} 
.flex_base-item:nth-child(2) {}

.flex_base-item:first-child{}
.flex_base-item:last-child{}



/* 左右2段組カラム*/
.flex_2column-box{
    padding:  0px;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    align-items:stretch;        /* 縦の位置指定 */
    justify-content:center;       /* 横の位置指定・中央揃え */
    flex-wrap: wrap;            /* 折り返し指定 */
}


.flex_2column-item50{width:50%;}
.flex_2column-item50L,.flex_2column-item50R{width:50%;padding:20px 10px;}




.flex_2column-itemL,.flex_2column-itemR,
.flex_2column-itemL_border,.flex_2column-itemR_border{
   width: 48%;
}
.flex_2column-itemL_border,.flex_2column-itemR_border{border:1px solid;}
.flex_2column-itemR,.flex_2column-itemR_border{margin-left:4%;}

.flex_2column-item70{   width: 70%; padding-right:5%;}
.flex_2column-item30{   width: 30%;}

.flex_2column-item40{   width: 40%; }
.flex_2column-item60{   width: 60%;}
.flex_2column-item40paddingL{   width: 40%; padding-left:5%;}

.flex_2column-item35{   width: 35%; }
.flex_2column-item65{   width: 65%;}





/* 3段組カラム*/
.flex_3column-box{
    padding:  0px;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    align-items:stretch;        /* 縦の位置指定 */
    justify-content:center;       /* 横の位置指定・中央揃え */
    flex-wrap: wrap;            /* 折り返し指定 */
    align-content:stretch;      /* 折り返し時の配置指定 */
}
.flex_3column-itemL,.flex_3column-itemC,.flex_3column-itemR,
.flex_3column-itemL_border,.flex_3column-itemC_border,.flex_3column-itemR_border{
   width: 33.33333333%;
}
.flex_3column-itemL_border,.flex_3column-itemC_border,.flex_3column-itemR_border{border:1px solid;}
.flex_3column-itemC,.flex_3column-itemC_border,.flex_3column-itemR,.flex_3column-itemR_border{margin-left:0;}


.flex_end{    align-items:flex-end;        /* 縦の位置指定 */}

@media only screen and (max-width: 767px) {
.flex_2column-item50,.flex_2column-item50L,.flex_2column-item50R{width:100%;}
.flex_2column-itemL,.flex_2column-itemR,.flex_2column-itemL_border,.flex_2column-itemR_border{width:100%;}
.flex_2column-itemL,.flex_2column-itemL_border{margin-bottom:20px;}
.flex_2column-itemR,.flex_2column-itemR_border{margin-left:0;}
.flex_3column-itemL,.flex_3column-itemC,.flex_3column-itemR,
.flex_3column-itemL_border,.flex_3column-itemC_border,.flex_3column-itemR_border{width: 100%;}
.flex_3column-itemL,.flex_3column-itemC,.flex_3column-itemL_border,.flex_3column-itemC_border{margin-bottom:20px;}
.flex_3column-itemC,.flex_3column-itemC_border,.flex_3column-itemR,.flex_3column-itemR_border{margin-left:0;}
.flex_2column-item70{   width: 100%; padding-right:0;}
.flex_2column-item40paddingL{   width: 100%; padding-left:0;}
.flex_2column-item30,.flex_2column-item40,.flex_2column-item60,.flex_2column-item35,.flex_2column-item65{   width: 100%;}
.flex_end{    align-items:flex-start;        /* 縦の位置指定 */}
}



/* # =================================================================
#	下層共通
# ================================================================= */

/* タイトル
------------------------- */

.c-mainview {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 400px;
	width: 100%;
}

.c-mainview__inner {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 130px 90px 0;
	width: 100%;
}

/* # =================================================================
#	見出し
# ================================================================= */

/* 大見出し　使用していない
------------------------- */
/* # =================================================================
#	ボタン
# ================================================================= */

/* デフォルト
------------------------- */

.c-btn {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border: solid 2px #000;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.8rem;
	font-weight: 500;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.4;
	padding: 15.5px 5px;
	text-align: center;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	width: 100%;
}

.c-btn > {
	display: block;
}

.c-btn:hover {
	background: #ff6000;
	border: solid 2px #ff6000;
	color: #fff;
	opacity: 1;
}

@media only screen and (max-width: 767px) {
.c-btn {
	font-size: 1.2rem;
	padding: 12.5px 5px;
}
}

/* ページ内リンク
------------------------- */

.c-btn-inlink {
	position: relative;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border: solid 2px #000;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 2rem;
	font-weight: 500;
	height: 60px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	letter-spacing: normal;
	line-height: 1.3;
	text-align: center;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.c-btn-inlink > {
	display: block;
}

.c-btn-inlink::after {
	position: absolute;
	top: -4px;
	right: 20px;
	bottom: 0;
	border-bottom: solid 3px #ff6000;
	border-radius: 2px;
	border-right: solid 3px #ff6000;
	content: '';
	display: block;
	height: 8px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	width: 8px;
}

.c-btn-inlink:hover {
	background: #ff6000;
	color: #fff;
	opacity: 1;
}

.c-btn-inlink:hover::after {
	border-bottom: solid 3px #fff;
	border-right: solid 3px #fff;
}

@media only screen and (max-width: 767px) {
.c-btn-inlink {
	font-size: 1.5rem;
	height: 45px;
}

.c-btn-inlink:hover {
	background: #fff;
	border: solid 2px #000;
	color: #000;
}

.c-btn-inlink:hover::after {
	border-bottom: solid 3px #ff6000;
	border-right: solid 3px #ff6000;
}

}

/* # =================================================================
#	ヘッダー
# ================================================================= */

.st-header {
	position: absolute;
	top: 20px;
	right: 0;
	left: 0;
	background: rgba(255,255,255,.8);

	-webkit-box-shadow: 0 3px 5px -5px rgba(0, 0, 0, 1);
	box-shadow: 0 3px 5px -5px rgba(0, 0, 0, 1);
	margin: 0 auto;
	-webkit-transition: width 0.2s;
	transition: width 0.2s;
	width: 100%;
	will-change: width;
	z-index: 100;
display:block;
}

.st-header__inner {
	position: relative;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	padding: 0 10px;
	width: 1040px;
	margin: 0 auto; 
justify-content:space-between;
}

.st-header__inner > {
	display: block;
}

.st-header.is-fixed,
.st-header.contents_header {
	position: fixed;
	top: 0;
	border-radius: 0;
	width: 100%;	background: rgba(246,246,246,.8);
}

.st-header.is-fixed .st-header__inner,
.st-header.contents_header .st-header__inner {
	margin: 0 auto;
	width: 1040px;
}

.st-header.is-fixed .st-nav__item--link,.st-header.is-fixed .st-nav__item--link2,
.st-header.contents_header .st-nav__item--link,.st-header.contents_header .st-nav__item--link2 {
	height: 65px;
}

.st-header.is-fixed .st-nav__item__child,
.st-header.contents_header .st-nav__item__child {
	top: 65px;
}



/* ロゴ
------------------------- */

.st-header__logo a {
	display: block;
}

.st-header__logo a img {
	height: auto;
	width: 120px;
}

.st-header .st-header__logo{ 
     -webkit-filter: brightness(1);
     -moz-filter: brightness(1);
     -o-filter: brightness(1);
     -ms-filter: brightness(1);
     filter: brightness(1);

}

.st-header.is-fixed .st-header__logo {
     -webkit-filter: brightness(1);
     -moz-filter: brightness(1);
     -o-filter: brightness(1);
     -ms-filter: brightness(1);
     filter: brightness(1);
    -webkit-transition: 0.3s;
 -moz-transition: 0.3s;
  -o-transition: 0.3s;
 -ms-transition: 0.3s;
 transition: 0.3s;
}

@media only screen and (max-width: 767px) {

.st-header {
	position: relative;
	top: 0;
	border-radius: 0;
	margin: 0 auto;
	width: 100%;
}

.st-header__inner {
	display: block;
	padding: 0;
}

.st-header.is-fixed {
	position: relative;
}

.st-header.is-fixed .st-header__inner {
	width: 100%;
}

.st-header.is-fixed .st-nav__item--link {
	height: auto;
}

.st-header.is-fixed .st-nav__item__child {
	height: auto;
}

.st-header__logo {
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	border-bottom: solid 1px #c1c1c1;
	padding: 19px 0;
	text-align: center;
	width: 100%;
}

.st-header__logo a {
	display: inline-block;
}

.st-header__logo a img {
	width: 90px;
}

}

/* # =================================================================
#	グローバルナビ
# ================================================================= */

.st-nav {
	margin: 0;
}

.st-nav__menu {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex; 
}

.st-nav__menu > {
	display: block;
}

.st-nav__item {
	cursor: pointer;
}

.st-nav__item + .st-nav__item {
	margin: 0 0 0 30px;
}

.st-nav__item + .st-nav__item.st-nav__item--logo {
	margin: 0 0 0 72px;
}

.st-nav__item--logo a {
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

.st-nav__item--logo a:hover {
	opacity: 0.6;
}

.st-nav__item--link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.3rem;
	font-weight: 700;
	height: 95px;
	letter-spacing: 0.04em;
	pointer-events: none;
	-webkit-transition: height 0.2s;
	transition: height 0.2s;
}

.st-nav__item--link > {
	display: block;
}

.st-nav__item--link span {
	position: relative;
	padding: 3px;
}

.st-nav__item--link span::before {
	position: absolute;
	bottom: -20px;
	left: 10%;
	content: '';
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 10px 10px;
border-color: transparent transparent #fff transparent;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: -webkit-transform 0.2s;
	transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	transition: transform 0.2s, -webkit-transform 0.2s;
}

.st-nav__item--link:hover {
	opacity: 1;
}

.st-nav__item--link:hover span::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.st-nav__item--link.is-on span::before,.st-nav__item--link.is-on span::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	transform-origin: left;
}



/* ここからシングルメニュー追加
------------------------- */
.st-nav__item--link2 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.3rem;
	font-weight: 700;
	height: 95px;
	letter-spacing: 0.04em;
	-webkit-transition: height 0.2s;
	transition: height 0.2s;
}

.st-nav__item--link2 > {
	display: block;
}

.st-nav__item--link2 span {
	position: relative;
	padding: 3px;
}

.st-nav__item--link2 span::before {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #f70;
	content: '';
	display: block;
	height: 1px;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
	-webkit-transition: -webkit-transform 0.2s;
	transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	transition: transform 0.2s, -webkit-transform 0.2s;
	width: 100%;
}

.st-nav__item--link2:hover {
	opacity: 1;
color:#000;
}
.st-nav__item--link2:hover span::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: center;
	transform-origin: center;
}
.st-nav__item--link2 {outline:none;}

.st-nav__item_sns{font-size:180%;text-align:center;}

/* ここまでシングルメニュー用追加
------------------------- */

.st-nav__item__child {
	position: absolute;
	top: 80px;
	left: 0;
	background: #fff;
	border-radius: 0;
	display: none;
	width: 100%;
	-webkit-box-shadow: 3px 3px 5px -5px rgba(0, 0, 0, 1);
	box-shadow: 3px 3px 5px -5px rgba(0, 0, 0, 1);
    border:1px solid rgba(0, 0, 0,.1);border-top:0;
z-index:15;
}

.st-header.is-fixed .st-nav__item__child {	top: 65px;}

.st-nav__item__child--inner {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 34px 20px 22px;
}

.st-nav__item__child--inner > {
	display: block;
}

.st-nav__item__child__h {
	font-size: 2.5rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin: 0 0 0 14px;
	width: 50%;
}

.st-nav__item__child__h span {
	color: #ffbd7f;
	display: block;
	font-family: serif;
font-style: oblique;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: normal;
	margin: 16px 0 0;
}

.st-nav__item__child__nav {
	margin: 0 8px 0 0;
	width: 50%;
}

.st-nav__item__child__nav__menu {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
}

.st-nav__item__child__nav__menu > {
	display: block;
}

.st-nav__item__child__nav__menu li {
	margin: 0 0 14px;
	width: 50%;
}

.st-nav__item__child__nav__menu li a {
	font-size: 1.6rem;
	letter-spacing: normal;
}

.nav_caret{color:#ff7c00;margin-left:3px;margin-right:0;}

/* ハンバーガー
------------------------- */


/* 1030ヘッダー
--------------------------------- */
.st-header__burger {
	display: none;
}

@media only screen and (max-width: 1030px) {
.st-header {
	margin: 0;
	width: 1030px;
}

.st-header.is-fixed {
	margin: 0;
}

.st-header.is-fixed .st-header__inner {
	background: #fff;
}

.st-nav__item + .st-nav__item {
	margin: 0 0 0 40px;
}

.st-nav__item + .st-nav__item.st-nav__item--logo {
	margin: 0 0 0 40px;
}
}



@media only screen and (max-width: 767px) {

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

.st-header {
	position: relative;
	top: 0;
	border-radius: 0;
	margin: 0 auto;
	width: 100%;
}

.st-header__inner {
	display: block;
	padding: 0;
}

.st-header.is-fixed {
	position: relative;
}

.st-header.is-fixed .st-header__inner {
	width: 100%;
}

.st-header.is-fixed .st-nav__item--link {
	height: auto;
}

.st-header.is-fixed .st-nav__item__child {
	height: auto;
}

.st-header__logo {
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	border-bottom: solid 1px #c1c1c1;
	padding: 19px 0;
	text-align: center;
	width: 100%;
}

.st-header__logo a {
	display: inline-block;
}

.st-header__logo a img {
	width: 90px;
}

.st-nav {
	position: fixed;
	top: 66px;
	left: 0;
	background: #f6f6f6;
	display: none;
	height: calc(100% - 66px);
	margin: 0;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
	width: 100%;
}

.st-nav__menu {
	display: block;
	height: 100%;
}

.st-nav__item {
	background: #f6f6f6;
}

.st-nav__item + .st-nav__item {
	margin: 0;
}

.st-nav__item + .st-nav__item.st-nav__item--logo {
	margin: 0;
}

/*子メニューありのリスト*/

.st-nav__item--drop > a::before,
.st-nav__item--drop > a::after {
	background: #f60;
}

.st-nav__item--drop > a::before {
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	margin: auto;
	width: 14px;
}

.st-nav__item--drop > a::after {
	right: 27px;
	border-right: 0;
	border-top: 0;
	height: 14px;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	width: 1px;
}

.st-nav__item--drop > a span::after {
	content: '';
}

.st-nav__item--drop > a.is-child-open::after {
	opacity: 0;
}

/*子メニューありのリストend*/

.st-nav__item--logo {
	padding: 20px 0;
	text-align: center;
}

.st-nav__item--logo a:hover {
	opacity: 1;
}

.st-nav__item:first-child.st-nav__item--drop > a span::after {
	content: none;
}

.st-nav__item--link {
	position: relative;
	border-bottom: solid 1px #ccc;
	font-size: 1.6rem;
	font-weight: 300;
	height: auto;
	padding: 7.5px 20px;
	pointer-events: auto;
}

.st-nav__item--link::after {
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	border-right: solid 1px #f60;
	border-top: solid 1px #f60;
	content: '';
	height: 8px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 8px;
}

.st-nav__item--link:hover span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
}



/* シングルメニュー用追加 */
.st-header.is-fixed .st-nav__item--link2 {
	height: auto;
}

.st-nav__item--link2 {
	position: relative;
	border-bottom: solid 1px #ccc;
	font-size: 1.6rem;
	font-weight: 300;
	height: auto;
	padding: 7.5px 20px;
	pointer-events: auto;
	letter-spacing: 0.04em;
}

.st-nav__item--link2 span {
	position: relative;
	padding: 3px;
}

.st-nav__item--link2::after {
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	border-right: solid 1px #f60;
	border-top: solid 1px #f60;
	content: '';
	height: 8px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 8px;
}

.st-nav__item--link2:hover span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	transform-origin: right;
}

.about .st-nav__item:nth-child(1) .st-nav__item--link2 {
	font-weight: 700;
}

.about .st-nav__item:nth-child(1) .st-nav__item--link2 span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

.expats .st-nav__item:nth-child(2) .st-nav__item--link2 {
	font-weight: 700;
}

.expats .st-nav__item:nth-child(2) .st-nav__item--link2 span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

.volunteer .st-nav__item:nth-child(3) .st-nav__item--link2 {
	font-weight: 700;
}

.volunteer .st-nav__item:nth-child(3) .st-nav__item--link2 span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

.staff .st-nav__item:nth-child(4) .st-nav__item--link2 {
	font-weight: 700;
}

.staff .st-nav__item:nth-child(4) .st-nav__item--link2 span::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}

/* ここまでシングルメニュー追加 */

.st-nav__item__child {
	position: relative;
	top: initial;

	-webkit-box-shadow: none;
	box-shadow: none;
    border:1px solid rgba(0, 0, 0,.1);border-top:0;
}

.st-nav__item__child--inner {
	display: block;
	padding: 0;
}

.st-nav__item__child__h {
	display: none;
}

.st-nav__item__child__nav {
	margin: 0;
	width: 100%;
}

.st-nav__item__child__nav__menu {
	display: block;
}

.st-nav__item__child__nav__menu li {
	border-bottom: solid 1px #ccc;
	margin: 0;
	width: 100%;
}

.st-nav__item__child__nav__menu li a {
	display: block;
	padding: 10.5px 45px;
}

.st-nav__item__child__nav__menu li a::after {
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	border-right: solid 1px #666;
	border-top: solid 1px #666;
	content: '';
	height: 8px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 8px;
}

/*SP ハンバーガー */

.st-header__burger {
	position: fixed;
	top: 0;
	right: 0;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 65px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 65px;
	z-index: 110;
}

.st-header__burger > {
	display: block;
}

.st-header__burger.is-open .st-header__burger--btn span:nth-child(1) {
	-webkit-transform: translateY(9.5px) rotate(-45deg);
	transform: translateY(9.5px) rotate(-45deg);
}

.st-header__burger.is-open .st-header__burger--btn span:nth-child(2) {
	opacity: 0;
}

.st-header__burger.is-open .st-header__burger--btn span:nth-child(3) {
	-webkit-transform: translateY(-9.5px) rotate(45deg);
	transform: translateY(-9.5px) rotate(45deg);
}

.st-header__burger--btn {
	position: relative;
	height: 20px;
	outline: none;
	width: 28px;
}

.st-header__burger--btn span {
	position: absolute;
	left: 0;
	background: #000;
	display: inline-block;
	height: 1px;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	width: 100%;
}

.st-header__burger--btn span:nth-child(1) {
	top: 0;
}

.st-header__burger--btn span:nth-child(2) {
	top: 9px;
}

.st-header__burger--btn span:nth-child(3) {
	bottom: 0;
}

}







/* # =================================================================
#	メイン
# ================================================================= */



/* # =================================================================
#	フッター
# ================================================================= */



.nc-footer{
	position: relative;
       background-color:#fafafa;
       padding-top:30px;
border-bottom:10px solid #000;
}

.flex_base-box_footer{
    background-color: transparent;     /* 背景色指定 */
    justify-content:space-around      /* 横の位置指定・均等割 */
       padding-bottom:20px;
background:url(../images/wholeview000.svg) no-repeat;
background-position: bottom right 50px;
background-size:220px;
}

.flex_base-item_footer {}

.flex_base-item_footer:nth-child(1) {width:53%;padding-top:10px;}
.flex_base-item_footer:nth-child(2) {width:44%;}

.nc-footer__copyright {
	padding: 13px 15px;
}

.nc-footer__copyright p {
	color: #333;
	font-family: 'Lato', sans-serif;
	font-size: 1.2rem;
	letter-spacing: normal;
	line-height: 1.2;
	text-align: right; margin-bottom:50px;
}

@media only screen and (max-width: 767px) {
.nc-footer{}
.flex_base-box_footer{
background-position: bottom center;
background-size:40%;padding-bottom:0;
}
.flex_base-item_footer:nth-child(1) {
width:96%;padding-top:0px;padding-bottom:0;text-align:center;
}
.flex_base-item_footer:nth-child(2) {
width:96%;
}
.nc-footer__copyright {
	padding: 0;margin-bottom:50px;
}
.nc-footer__copyright p {
	text-align: center; margin-bottom:0px;
}


}


/* フッターカスタマイズ */
.bottom_credit{}
.bottom_credit h2{font-size:1.85rem;font-weight:500;line-height:1.3;}
.bottom_credit h2 span{font-weight:300;font-size:14px;display:block;}
.bottom_credit p.address{margin-top:5px;line-height:1.3;}
.bottom_credit p.address span{display:inline-block;}
.bottom_credit p.tell{font-size:120%;font-weight:500;}
@media only screen and (max-width: 767px) {
.bottom_credit h2{margin-top:0;font-size:18px;}
.bottom_credit h2 span{font-size:14px;}
.bottom_credit p.address{font-size:90%;}
.bottom_credit p.address span{display:block;}

}



/* pagetop
------------------------- */


.nc-footer__pagetop {
	position: fixed;
	right: 20px;
	bottom: 10px;

	display: none;
	height: 60px;
	opacity: 0.9;
	width: 60px;
	z-index: 80;
}

.nc-footer__pagetop a {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	background: #4c4c4c;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

.nc-footer__pagetop a > {
	display: block;
}

.nc-footer__pagetop a:hover{
background:rgba(255,96,0,.8);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;}

.nc-footer__pagetop a span {
	position: relative;
	top: 3.5px;
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	display: block;
	height: 14px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 14px;
}

@media only screen and (max-width: 767px) {
.nc-footer__pagetop {
	right: 10px;
	height: 40px;
	width: 40px;
}
}



/* フッターナビ */
ul.navBottom{text-align: right;list-style-type:none;margin-bottom:0;}
ul.navBottom li{display: inline-block;padding-right:10px;line-height:1;}
ul.navBottom li.arrow::before {
	position: relative;
	top: -1px;
	border-bottom: solid 2px #ccc;
	border-radius: 1px;
	border-right: solid 2px #ccc;
	content: '';
	display: inline-block;
	height: 6px;
	margin: 0 5px 0 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 6px;
}

ul.navBottom li.iconSNS{font-size:160%;margin-left:20px;margin-right:5px;}
ul.navBottom li a{}
ul.navBottom li a:hover{color:#ff6000;}
.iconSNS{font-size:150%;}


@media only screen and (max-width: 767px) {
ul.navBottom{display:none;}
}




@media only screen and (min-width: 1300px) {

}

@media only screen and (max-width: 1030px) {

.c-l-container {
	width: 1030px;
}

.c-l-column,.c-l-column_sp100 {width: 100%;	padding: 0 15px;}

.c-l-column_tb80{width: 80%;	padding: 0;}

     .c-l-column_full {
	     width: 100%;
　　　}



}

@media only screen and (max-width: 767px) {
.c-l-column_sp100 {
	padding: 0;
	 width: 100%;
}
.c-l-column_tb80{width: 100%;padding: 0 15px;}
}

/*--------------------------------------------------
--------------------------------------------------
　　　SP基本
-------------------------------------------------- 
-------------------------------------------------- */
@media only screen and (max-width: 767px) {

body {
	font-size: 1.6rem;
	line-height: 1.5;
}

a:hover,
button:hover {
	opacity: 1;
}

.for-sp {
	display: block;
}

.for-pc {
	display: none;
}

.c-l-container {
	width: 100%;
}

.c-l-wrapper {
	margin: 136px 0 0;
	width: 100%;
}

.c-l-grid--event {
	display: block;
}

.js-fadein {
	top: 0;
	opacity: 1;
}

}

@media only screen and (max-width: 767px) and (max-width: 767px) {
}

@media only screen and (max-width: 360px) {
.c-btn {	font-size: 1.0rem;}
}


/*--------------------------------------------------
--------------------------------------------------
　　　190729追加
-------------------------------------------------- 
-------------------------------------------------- */

.j_credit{width:220px;
    display: flex;              /* フレックスボックスにする */
    align-items:stretch;        /* 縦の位置指定 */
    justify-content:space-between;       /* 横の位置指定 */
    flex-wrap: wrap;            /* 折り返し指定 */
}

.j_credit_itemL{width:60%;}
.j_credit_itemR{width:40%;background:#ff7c00;
  display: grid;
  justify-content: center;
  align-items: center;
}

.j_credit_itemR a{color:#fff;font-weight:500; outline: none;}
.j_credit_itemR a:hover{color:#333;border:none;}


@media only screen and (max-width: 767px) {
.j_credit{display:none;}
}

