/* ローディングCSS */
/*下層用*/
#loader-bg {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
    background-color: var(--white-gray);
	z-index: 9998;
}
/*TOP用*/
#loading {
   	width: 100%;
	height: 100vh;
	display: none;
    position: fixed;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
    background-color: var(--white-gray);
    z-index: 9999999;
	opacity: 1;
	transition: opacity 1s ease-in-out;
}
@media (scripting: enabled) {
	#loading {
		display: flex;
	}
}
#loading.is-hidden {
	opacity: 0;
	pointer-events: none;
}

.loading-inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-animation__spinner {
	border: 3px solid #f2f2f2;
	border-radius: 50%;
	border-top: 3px solid #c8c9c5;
	width: 40px;
	height: 40px;
	-webkit-animation: loader-spin 1s linear infinite;
	animation: loader-spin 1s linear infinite;
}
@-webkit-keyframes loader-spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes loader-spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* 画面遷移のためのCSS */

body {
    background-color: var(--white);
}

/* 右左正面フレックスさせちゃう(直下の要素を並列にする) */
.content_flex {
    display: flex;
    width: 100%;
}

/* 右左正面フレックスさせちゃう */

/*========= 左半分のセクション(position: sticky;で固定) ===============*/
div.left_side {
    background-color: var(--white);
    background-image: url("../img/common/bg-photo.png?ver251209");
    background-repeat: repeat;
    background-size: cover;
    background-position: center center;
    width: calc((100% - 460px)*0.89);
    height: 100vh;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 998;
	display: flex;
    align-items: center;
    text-align: center;
}

div.left_side div.left_side_innner {
    width: 100%;
}

div.left_side div.left_side_innner .left_logo {
    width: calc(280 / 1300 * 100%);
	margin: 0 auto 80px auto;
}
@media (max-width: 1400px) {
    div.left_side div.left_side_innner .left_logo {
   		width: calc(350 / 1300 * 100%);
	}
}

div.left_side div.left_side_innner .left_logo img {
    width: 100%;
}

@media (max-width: 1100px) {
	/*タブレット用*/
    div.left_side {
        width: 50%;
    	background-image: url("../img/common/bg-photo-tab.png");
		background-position: center center;
	}
	div.left_side div.left_side_innner .left_logo {
		width: 50%;
	}
}
@media (max-width: 767px) {
    div.left_side {
        display: none;
    }
}

/*========= メインコンテンツ ===============*/
div.center_maincontent{
	background-image: url("../img/common/bg-main.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
    position: relative;
    max-width: 460px;
    overflow-x: hidden;
}
@media(max-width: 1100px) {
    div.center_maincontent {
        max-width: 100%;
        margin: 0 auto;
        width: 50%;
    }
}

@media (max-width: 767px) {
    div.center_maincontent {
        margin: 0 auto;
        width: 100%;
    }
}
/* ////////////////////////////////////////
パンくずリスト
//////////////////////////////////////// */
#pankuz{
	margin-top:100px;
	color:var(--text_color);
}

.breadcrumbs {
	display: flex;
}

.breadcrumbs li {
	list-style: none;
	font-size: 14px;
	font-family: din-2014-narrow, Yu Gothic Pr6N M;
}

.breadcrumbs li:last-child {
	max-width: 230px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.breadcrumbs li a {
	text-decoration: none !important;
}

.breadcrumbs li::after {
	content: '>';
	display: inline-block;
	padding: 0 5px;
}

.breadcrumbs li:last-child:after {
	content: '';
}
/*========= 右半分のセクション(position: sticky;で固定) ===============*/
aside.right_side {
    background-color: var(--white);
	background-image: url("../img/common/bg-right.png?ver251202");
	background-repeat: repeat-y;
    width: calc((100% - 460px)*0.11);
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    right: 0;
    z-index: 998;
}
@media(max-width: 1100px) {
    aside.right_side {
        display: none;
    }
}

/* 右半分のセクションここまで  */

/* メインコンテンツ */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav {
    position: fixed;
    z-index: 997;
    /*ナビのスタート位置と形状*/
    top: -120%;
    left: calc((100% - 460px)*0.89);
    max-width: 460px;
	width:100%;
    height: 100vh;
    /*ナビの高さ*/
    background-color: var(--white-gray);
    /*動き*/
    transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 997;
    max-width: 460px;
	width:100%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

@media(max-width: 1100px) {
   #g-nav {
    	left:50%;
    	max-width: 50%;
   		width: 50%;
   }
	#g-nav.panelactive #g-nav-list {
    	max-width: 50%;
   		width: 50%;
	}
}
@media (max-width: 767px) {
   #g-nav {
    	left:0;
    	max-width: 100%;
   		width: 100%;
   }
	#g-nav.panelactive #g-nav-list {
    	max-width: 100%;
   		width: 100%;
	}
}
/*ナビゲーション関係*/
.ok-move {
	overflow: visible;
	height: auto;
}

.no-move {
	height: 100%;
}

.no-scroll {
	overflow-y: hidden;
	-ms-overflow-style: none;
	/* IE, Edge 対応 */
	scrollbar-width: none;
	/* Firefox 対応 */
}

.no-scroll::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display: none;
}

/*ナビゲーション（本サイトで利用）*/
#g-nav .g-nav-list_inner{
	width:100%;
	height:100%;
	/*ナビゲーション天地中央揃え*/
    display: flex;
	align-items: center;
	justify-content: center;
}
#g-nav ul {
	margin-bottom:0;
	max-width:340px;
	margin-left:auto;
	margin-right:auto;
	width:100%;
}

/*リストのレイアウト設定*/
#g-nav li {
	text-align: center;
    list-style: none;
	margin-bottom:15px;
	font-family: Yu Gothic Pr6N D;
	line-height: 1em;
}
#g-nav li:last-child {
	margin-bottom:0;
}

#g-nav li a {
	color:#595757;
    text-decoration: none;
    display: block;
	transition: color 0.3s;
	letter-spacing: 0.08em;/*文字間*/
}
#g-nav li a:hover{
	color: #7a7a7a;
}
#g-nav li a i {
    padding-left: 10px;
}
/*ヘッダーメニュー内オンラインボタン*/
#g-nav .btn-online{
	margin-top:25px;
}
#g-nav .btn-online a{
	color:#fff;
	background-color: #595757;
	display: block;
	padding:10px;
	transition: 0.3s;
	border:1px solid #595757;
}
#g-nav .btn-online a:hover{
	color:#595757;
	background-color: #fff;
}
#g-nav .btn-online .icon{
	display: inline-block;
	padding-right:36px;
	position: relative;
}
#g-nav .btn-online .icon:after{
	position:absolute;
	content:'';
	background-image: url("../img/common/icon-online.png");
	background-size: contain;
	background-repeat: no-repeat;
	width:28px;
	height:29px;
	top:50%;
	right:0;
	margin-top:-14.5px;
	transition: 0.3s;
}
#g-nav .btn-online a:hover .icon:after{
	background-image: url("../img/common/icon-online-gr.png");
}
/*ヘッダーメニュー内インスタアイコン*/
#g-nav .icon-insta{
	width:34px;
	opacity: 1;
	transition: opacity 0.3s;
}
#g-nav .icon-insta:hover{
	opacity: 0.5;
}

/*========= ヘッダー用ロゴ ===============*/
.heder_logo{
	width:180px;
    z-index: 998;
    position: fixed;
    top: 40px;
    left: calc((100% - 460px) * 0.89 + 30px);
}
/*========= ボタンのためのCSS ===============*/
.openbtn {
    position: fixed;
    z-index: 1001;
    top: 32px;
    right: calc((100% - 460px)* 0.11 + 26px);
    cursor: pointer;
    width: 50px;
    height: 38px
}
/*×に変化*/
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    height: 2px;
    border-radius: 2px;
    background-color: var(--gray);
    width: 100%;
}

.openbtn p {
    display: none;
}

.openbtn span:nth-of-type(1) {
    top: 0px;
}

.openbtn span:nth-of-type(2) {
    top: 18px;
    width: 74%;
}

.openbtn span:nth-of-type(3) {
    top: 36px;
    width: 48%;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 0;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
    opacity: 1;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 0;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
    opacity: 1;
}
/*========= ナビゲーションのためのCSS ===============*/

/* fixedコンテンツ */

/*画面下部固定ボタン*/
/*
div.frama_fixed_b>a {
    color: var(--white);
    display: block;
    font-family: var(--jp-font-head);
    font-weight: var(--jp-font-head-weight);
    font-size: 2rem;
    letter-spacing: 0.1rem;
    padding: 20px 0 20px 0;
}

div.frama_fixed_b>a>i.fa-solid.fa-circle-chevron-right {
    padding-left: 20px;
    font-size: 1.8rem;
}*/

/*中央セクション周りの黒罫線*/
/*
div.frame_fixed_t {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    width: 100vw;
    height: 1px;
    z-index: 998;
}

div.frame_fixed_l {
    position: fixed;
    top: 0;
    left: calc((100% - 460px)*0.89);
    background-color: #000;
    width: 1px;
    height: 100vh;
    z-index: 998;
}

div.frame_fixed_r {
    position: fixed;
    top: 0px;
    right: calc((100% - 460px)*0.11);
    background-color: #000;
    width: 1px;
    height: 100vh;
    z-index: 998;
}

div.frame_fixed_b {
    position: fixed;
    bottom: 0;
    left: 0px;
    background-color: #000;
    width: 100vw;
    height: 1px;
    z-index: 998;
}*/

/* fixedコンテンツ */

@media(max-width: 1100px) {
	/*========= ヘッダー用ロゴ ===============*/
	.heder_logo{
		left: calc(50% + 20px);
	}
	/*========= ボタンのためのCSS ===============*/
    .openbtn {
        right: 20px;
    }
	/*画面下部固定ボタン
    div.frame_fixed_b {
        right: calc((100% - 460px)* 0);
        left: inherit;
        width: 50%;
    }*/
	div.frame_fixed_l {
		left: 50%;
	}
	div.frame_fixed_r {
		right: 0;
	}

}

@media (max-width: 767px) {
	.no-move {
		overflow: hidden;
	}	
	/*========= ヘッダー用ロゴ ===============*/
	.heder_logo{
		/*width:calc(300 / 750 * 100%);
		left: calc(40 / 750 * 100%);*/
		width:180px;
		left: 20px;
	}
	/*========= ボタンのためのCSS ===============*/
    .openbtn {
        right: calc(40 / 750 * 100%);
    }
	/*画面下部固定ボタン
    div.frame_fixed_b {
        width: 100%;
    }*/


    div.frame_fixed_t,div.frame_fixed_l,div.frame_fixed_r,div.frame_fixed_b {
        display: none;
    }
}
/* フッター */
footer {
    padding-top: calc(102 / 1080 * 100%);
    padding-bottom: calc(102 / 1080 * 100%);
}
footer .footer_copylight{
	text-align: center;
	padding:0 20px;
}