@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@200;300;400;500;700&display=swap');
html {
	scrollbar-gutter: stable;
	scroll-behavior:smooth;
}
body {
	margin: 0;
	background: #3C3B3E; 
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	font-size:20px;
	color:#fff;
}
.font-gosick{
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 200;
	letter-spacing: 0.07em;
}


/* ---------------------------------------

animation

--------------------------------------- */
.view{
    width: 100%;
    position: relative;
    overflow: hidden;
}
.view::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #3C3B3E;

    transform: translateX(0%);
    transition: transform 0.5s ease-in-out .3s;
}

.view img{
    vertical-align: middle;

    opacity: 0;
    transition: opacity 1.0s ease .0s;
}

.view.js-on::after{
    transform: translateX(100%);
}

.view.js-on img{
    opacity: 1;
}


.view_f {
    width: 100%;
    position: relative;
    overflow: hidden;
    opacity: 0;
}
.view_f.js-on {
    animation: fadeUp 1.0s ease-in-out forwards .2s;
}
@keyframes fadeUp {
    to {
        opacity: 1;
    }
}





/* ---------------------------------------

common

--------------------------------------- */
.pc,.pc02{display: inline-block;}
.sp,.sp02{display: none;}

.kasoupage .main h1 span.pc{
	display: inline-block;
}
@media screen and (max-width: 1000px) {
	.pc02{display: none;}
	.sp02{display: block;}
}
@media screen and (max-width: 768px) {
	.pc{display: none;}
	.sp{display: block;}
	.kasoupage .main h1 span.pc{
		display: none;
	}
}

body{
	word-break: break-all;
}

/* row
--------------------------------------- */
.row{
	width:1440px;
	margin-left:auto;
	margin-right:auto;
}
.row02{
	width:1000px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width: 1500px) {
	.row{
		width:90%;
	}
}
@media screen and (max-width: 1100px) {
	.row02{
		width:90%;
	}
}
@media screen and (max-width: 768px) {
	body{
		font-size:16px;
	}
}

.line{
	border-bottom: 1px solid #000000;
}


/* link_buttons
--------------------------------------- */
.link_buttons a {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 30px;
	text-decoration: none;
	color: #B4ADA8;
	font-size: 85%;
	position: relative;
	text-align: center;
	box-sizing: border-box;
	width: 300px;
	height: 50px;
	z-index: 0;
	border: 1px solid #f4eDe8;
}
.link_buttons a::before {
	content: "";
	position: absolute;
	box-sizing: border-box;
	inset: 0px;
	left: -1px;
	top: -1px;
	z-index: 100;
	height: 50px;
	width: 300px;
	border: 1px solid #B4ADA8;
	border-radius: 30px;
	clip-path: inset(0px 0px 0px 0px);
	transition: clip-path 0.6s ease;
}
.link_buttons a:hover{
	color: #fff;
}
.link_buttons a:hover::before {
	clip-path: inset(0 0 0 100%);
}
.link_buttons a::after {
	background: #B4ADA8;
	content: "";
	position: absolute;
	border-radius: 30px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	transition: transform 0.3s ease;
}
.link_buttons a:hover::after {
	transform: translateY(-50%) scale(1.5);
}
.link_buttons_box{
	display: flex;
	gap:30px;
	justify-content: center;
}
@media screen and (max-width: 1000px) {
	.link_buttons_box{
		flex-wrap: wrap;
		flex-direction:row;
		gap:20px;
	}
}

@media screen and (max-width: 768px) {
	.link_buttons_box{
		flex-direction: column;
	}
	.link_buttons a {
		width: 100%;
		font-size: 100%;
		padding: 10px 24px;
	}
	.link_buttons a::before {
		width: 100.4%;
	}
}

/* text
--------------------------------------- */
.point{
	color:#B4ADA8;
}

.center_txt{
	text-align: center;
}
.right_txt{
	text-align: right;
}
.left_txt{
	text-align: left;
}

.setsumei{
	font-size: 22px;
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.setsumei{
		font-size: 18px;
		text-align: left;
	}
}



/* ---------------------------------------
table
--------------------------------------- */
.table{
	width: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 240px 1fr;
}
.table dt{
	padding: 10px 30px;
	border-left:1px solid #707070;
	margin-bottom: 10px;
}
.table dd{
	padding: 10px 20px;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.table{
		display: block;
	}
	.table dt{
		padding: 10px 30px;		
		margin-bottom: 0px;
	}
	.table dd{
		padding: 0px 30px 10px 30px;
		margin-bottom: 20px;
		border-left:1px solid #707070;
	}
}




/* ---------------------------------------
NO BOX
--------------------------------------- */
.no_box{
	display:flex;
	padding-bottom:100px;
	gap:60px;
	box-sizing:border-box;
	align-items:flex-start;
}
.no_box .text_area{
	position:relative;
	align-items:center;
	flex:1;
	padding-left:150px;
	padding-bottom:30px;
}
.no_box .no_midashi{
	display:flex;
	position:relative;
	padding-top:20px;
	padding-bottom:30px;
	align-items:center;
}
.no_box .label{
	letter-spacing:.2em;
	line-height:1;
	text-align:center;
	margin-left:-150px;
	width:150px;
	padding-bottom:30px;
	font-size: 16px;
	color:#727174;
}
.no_box .num{
	letter-spacing:-0.05em;
	font-size:100px;
	line-height:0.7;
	opacity:.4;
	display:block;
}
.no_box .title{
	font-size:28px;
	letter-spacing:0.2em;
	margin:0;
	text-align:left;
	font-weight: 200;
}
.no_box .text_area::before{
	content:"";
	position:absolute;
	left:70px;
	top:150px;
	bottom:0;
	width:1px;
	background:#727174;
	opacity:.5;
}
.no_box .desc p{
	line-height:2;
	margin-bottom:20px;
}
.no_box .image_area{
	width:37%;
}
.no_box .image_area img{
	width:100%;
	display:block;
}
@media (max-width:1000px){
	.no_box{
		flex-direction:column;
	}
	.no_box .text_area{
		padding-left:5%;
	}
	.no_box .no_midashi{
		margin-left:-15%;
	}
	.no_box .label{
		margin-left:3%;
		width:90px;
		padding-bottom:10px;
		font-size: 13px;
		letter-spacing: 0.05em;
	}
	.no_box .num{
		font-size:60px;
	}
	.no_box .text_area::before{
		left:0;
		top:110px;
	}
	.no_box .title{
		padding-left:4%;
	}
	.no_box .image_area{
		width:100%;
	}
}
@media (max-width:768px){
	.no_box .title{
		font-size:20px;
	}
}






/* ---------------------------------------
News
--------------------------------------- */
#idNews .main .main_photo img{
	object-position: bottom;
}

.news_list{
	gap: 100px 5%;
	box-sizing:border-box;
	flex-wrap: wrap;
	grid-template-columns: repeat(3, 1fr);
	display: grid;
	align-items: start;
	margin-bottom: 100px;
	overflow: visible;
}
.news_list .news_item{
	flex:1;
	width: 100%;
	overflow: visible;
}
.news_list .news_link{
	display:block;
	color:#fff;
	width: 100%;
}
.news_list .news_item a{
	text-decoration: none;
	width: 100%;
	display: block;
}
.news_list .news_media{
	position:relative;
	width: 100%;
}
.news_list .news_image_wrap .news_image{
	width: 100%;
}
.news_list .news_image_wrap{
	width: 100%;
	aspect-ratio:1/1;
	overflow:hidden;
}
.news_list .news_image_wrap img{
	width: 100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.news_list .news_image{
	width:100%;
	display:block;
	transition:transform .5s ease;
}
.news_list .news_link:hover .news_image{
	transform: translateY(-10px);
}
.news_list .news_date{
	position:absolute;
	left:0;
	top:0;
	transform:translateX(calc(10% - 10px)) rotate(90deg);
	transform-origin:left top;
	white-space:nowrap;
	font-size:18px;
	letter-spacing:.1em;
	pointer-events:none;
	z-index:20;
}
.news_list .news_date .mini_txt{
	font-size:80%;
}
.news_list .news_meta{
	margin-top:15px;
}
.news_list .news_category{
	font-size:80%;
	margin-bottom:8px;
	opacity:.7;
}
.news_list .news_title{
	line-height:1.6;
	font-size:90%;
}

.news_list .search_meta{

}
.news_list .search_meta .search_title{
	line-height:1.6;
	font-size:24px;
	padding: 1em 0;
}
.news_list .search_meta .search_ext{
	font-size:80%;
}


@media (max-width:1500px){
	.news_list{
	}
}
@media (max-width:768px){
	.news_list{
		display:flex;
		flex-direction:column;
		padding:0;
		gap: 7vh 0px;
		margin-bottom: 8vh;
		box-sizing: border-box;
	}
	.news_list .search_meta .search_title{
		font-size:20px;
	}
	.news_list .search_meta .search_ext{
		font-size:100%;
	}
	.news_list .news_date{
		left: 2px;
		font-size:16px;
	}
	.news_list .news_title{
		font-size:110%;
	}
}





/*------------------------

header

------------------------*/
#header_bk{
	background-color: #3C3B3E;
	box-sizing: border-box;
	border-bottom: 1px solid #525154;
	width: 100%;
	height: 90px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
}


/* logo
--------------------------------------- */
#logo{
	position: absolute;
	z-index: 1000;
	top:14px;
	left: 50%;
	transform: translateX(-50%);
}
#logo img{
	height: 65px;
	width: auto;
}
@media screen and (max-width:1000px){
	#header_bk{
		height: 60px;
	}
	#logo{
		top:10px;
	}
	#logo img{
		height: 42px;
	}
}


#header {
	position:fixed;
	top:32px;
	right:30px;
	display: flex;
	align-items: center; 
	justify-content: flex-end; 
	z-index:1000;
}
@media screen and (max-width:1000px){
	#header {
		display: none;
	}
}



/*検索
------------------------*/
#header .search-box {
	position: relative;
	display: flex;
	justify-content: flex-end;
	margin-right:20px;
	margin-top: 4px;
}
#header .search-btn {
	position: relative;
	z-index: 2;
	cursor: pointer;
	background: none;
	border: none;
	display: block;
}
#header #searchBtn{
	position: relative;
	background-color: transparent;
	border: 0;
	cursor: pointer;
	z-index: 2;
	height: 22px;
	width: 22px;
	margin-right: 2px;
	background-image: url("img/common/ico_search_br.svg");
	background-position: right top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
#header #searchBtn.active{
	background-image: url("img/common/ico_search_br.svg");
}

#header .search-input {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 0;
	opacity: 0;
	font-size:16px;
	padding: 5px 10px 5px 10px;
	background: #fff;
	transition: all 0.3s ease;
	transform-origin: right;
	z-index: 1;
	box-sizing:border-box;
	line-height:1;
}
#header .search-input:focus {
	outline: none;
	border: 0px;
	border: 1px solid #3C3B3E;
}
#header .search-box.active .search-input {
	width: 220px;
	opacity: 1;
	border-radius: 30px;
}

/* 言語リンク
--------------------------------------- */
.menu_lang {
	display: block;
	text-align: center;
	font-size: 16px;
	color: #B4ADA8;
	position: relative;
	line-height:1;
}
.menu_lang::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("img/common/ico_lang.svg") no-repeat center / contain;
	margin-right: 8px;
	vertical-align: middle;
}
.menu_lang a {
	color: #B4ADA8;
	text-decoration: none;
	margin: 0 5px;
}
.menu_lang a:hover {
	text-decoration: underline;	
}
.menu_lang span {
	color: #B4ADA8;
	margin: 0 5px;
	font-weight: 700;
}


/* ---------------------------------------

グローバルメニュー

--------------------------------------- */
#gmenu .menu_btn {
	position: fixed;
	top: 22px;
	left: 30px;
	width: 67px;
	height: 48px;
	cursor: pointer;
	z-index: 100001;
	transition: 0.5s;
}
#gmenu .menu_btn:hover{
	filter: brightness(1.5);
}
#gmenu .menu_btn::before,
#gmenu .menu_btn::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: opacity 0.4s ease, transform 0.4s ease;
	transform-origin: center;
}
#gmenu .menu_btn::before {
	background-image: url("img/common/ico_menu_open.svg");
	opacity: 1;
	transform-origin: left;
}
#gmenu .menu_btn::after {
	background-image: url("img/common/ico_menu_close.svg");
	opacity: 0;
	transform-origin: right;
}
#gmenu .menu_btn.active::before {
	opacity: 0;
	transform: scaleX(0);
}
#gmenu .menu_btn.active::after {
	opacity: 1;
	transform: scaleX(1);
}
#gmenu .menu_overlay {
	position: fixed;
	top: 90px;
	left: 0;
	width: 100%;
	height: calc(100vh - 90px);
	box-sizing: border-box;
	background: rgba(60,59,62,0.95); 
	z-index: 1000;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	overflow-y: auto;
	overflow-x: hidden;
}
#gmenu .menu_overlay.active {
	display: flex;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
#gmenu .menu_inner {
	transform: translateX(-100%);
	transition: 0.4s ease;
	width: 100%;
	padding: 0px;
	padding-top: 10vh;
}
#gmenu .menu_overlay.active .menu_inner {
	transform: translateX(0);
}
#gmenu .menu_inner .menu_links {
	margin-bottom: 2em;
	position: relative;
	z-index:10;
}
#gmenu .menu_inner .menu_links li{
	margin-bottom: 1.6em;
}
#gmenu .menu_inner .menu_links a {
	position: relative;
	display: block;
	padding-left: 120px;
	text-decoration: none;
}
#gmenu .menu_inner .menu_links a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100px;
	height: 1px;
	background: #68656E;
}
#gmenu .menu_inner .menu_links a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) scaleX(0);
	transform-origin: left;
	width: 100px;
	height: 1px;
	background: #fff;
	transition: transform 0.3s ease;
}
#gmenu .menu_inner .menu_links a:hover::after {
	transform: translateY(-50%) scaleX(1);
}

#gmenu .menu_inner .link_buttons_g {
	margin-left: 70px;
}
#gmenu .menu_inner .link_buttons_g li{
	margin-bottom: 1.6em;
}
#gmenu .menu_inner .link_buttons_g li:last-child{
	height: 3em;
}
#gmenu .menu_inner .link_buttons_g a{
	display: block;
	text-decoration: none;
}

#gmenu .menu_inner .menu_search,
#gmenu .menu_inner .menu_lang {
	display: none;
}


@media screen and (max-width: 1000px) {
	#gmenu .menu_btn {
		top: 14px;
		left: 5%;
		max-width: 54px;
		height: 54px;
	}
	#gmenu .menu_btn::before,
	#gmenu .menu_btn::after {
		background-position: right top;
		background-size:100% auto ;
	}

	#gmenu .menu_overlay {
		justify-content: flex-start;
		align-items: flex-start;
		padding-top:30px;
		top: 60px;
		height: calc(100vh - 60px);
	}
	#gmenu .menu_inner {
		padding:0px 0 0 0;
		max-width: 100%;
		width:100%;
	}
	#gmenu .menu_inner .menu_links_mask {
		width:100%;
		max-width: 100%;
		--fade: 0px;
		-webkit-mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0) 0px,
			rgba(0,0,0,1) var(--fade)
		);
		mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0) 0px,
			rgba(0,0,0,1) var(--fade)
		);
	}
	#gmenu .menu_inner .menu_links {
		display: block;
		gap: 0;
	}
	#gmenu .menu_inner .menu_links a {
		margin-left:-50px;
		margin-bottom: 30px;
	}
	#gmenu .menu_inner .menu_links a::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 100px;
	}
	#gmenu .menu_inner .link_buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		margin:0 5% 0 5%;
	}
	#gmenu .menu_inner .link_buttons a {
		width:100%;
		position:relative;
		border:1px solid #8193A5;
		box-sizing:border-box;
		overflow:hidden;
	}
	
	#gmenu .menu_inner .menu_search {
		display: block;
		margin:10px 8%  30px  8% ;
		position: relative;
		overflow: hidden;
		border-radius: 30px;
		padding:0;
		background-color: #FFF;
	}
	#gmenu .menu_inner .menu_search .search-input {
		box-sizing: border-box;
		width: 100%;
		border-radius: 30px;
		padding: 10px 45px 10px 15px;
		margin:0;
		border: 0px;
		background-color: #fff;
		color: #000;
	}
	#gmenu .menu_search .search-btn {
		box-sizing: border-box;
		background: none;
		border: 0;
		position: absolute;
		right: 4px;
		padding:0;
		margin:0;
		top: 50%;
		transform: translateY(-50%);
		height: 100%;
		width:30px;
		display: flex;
		align-items: center;
		cursor: pointer;
	}
	#gmenu .menu_search .search-btn img {
		display: block;
		width: auto;
		height: 30px;
	}
	
	#gmenu .menu_inner .menu_search,
	#gmenu .menu_inner .menu_lang {
		display: block;
	}
	#gmenu .menu_inner .menu_lang {
		margin-bottom:2em;
	}
	#gmenu .menu_lang a {
		color: #fff;
	}
	#gmenu .menu_lang span {
		color: #fff;
	}
	#gmenu .menu_lang::before {
		background: url("img/common/ico_lang_w.svg") no-repeat center / contain;
	}
	#gmenu .menu_inner .link_buttons_g {
		margin-left: 24px;
	}
}

@media screen and (max-width: 768px) {
	#gmenu .menu_inner .menu_search {
		margin:0px 5%  30px  5% ;
	}
}

@media screen and (max-height: 720px),
screen and (max-height: 820px) and (max-width: 1000px) and (min-width: 768px),
screen and (max-height: 600px) and (max-width: 768px),{
	#gmenu .menu_overlay::before {
		content: "";
		position: fixed;
		right: 22px;
		bottom: 0px;
		width: 1px;
		height: 100px;
		background: #fff;
		animation: scrollLine 1.5s infinite;
		transform-origin: top; 
	}
	#gmenu .menu_overlay::after {
		content: "";
		position: fixed;
		right: 13px;
		bottom: 100px;
		width: 13px; 
		height: 38px;
		background: url("img/common/ico_scroll.svg") no-repeat center / contain;
		opacity: 0.8;
	}
	
	html {
		scrollbar-gutter:auto;
	}
}

@keyframes scrollLine {
	0% {
		transform: scaleY(0);
		opacity: 0;
	}
	30% {
		transform: scaleY(0);
		opacity: 0.5;
	}
	70% {
		transform: scaleY(0);
		opacity: 1;
	}
	100% {
		transform: scaleY(1);
		opacity: 0;
	}
}





/* ---------------------------------------

サイドメニュー

--------------------------------------- */
.side_menu{
	position:fixed;
	right:0;
	top:50%;
	transform:translateY(-50%) translateX(100%);
	display:flex;
	flex-direction:column;
	z-index:1000;
	transition:transform 0.6s ease;
}
.side_menu.is-active{
	transform:translateY(-50%) translateX(0);
}
.side_menu ul{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.side_menu .side_btn{
	display:flex;
	align-items:center;
	width:180px;
	height:60px;
	background:#8193A5;
	color:#fff;
	text-decoration:none;
	position:relative;
	transform:translateX(120px);
	transition:transform 0.4s ease;
	overflow:hidden;
	border-radius:10px 0 0 10px;
	box-shadow:0 5px 10px rgba(0,0,0,0.10);
}
.side_menu li:nth-child(2) .side_btn,
.side_menu li:nth-child(3) .side_btn{
	background:#B4ADA8;
}
.side_menu .side_btn img{
	width:30px;
	height:30px;
	margin:0 15px;
	position:relative;
	z-index:2;
}
.side_menu .side_btn .txt{
	display:flex;
	flex-direction:column;
	line-height:1;
	letter-spacing:0.1em;
	font-size:18px;
}
.side_menu .side_btn .mini{
	line-height:1.6;
	display:block;
	font-size:10px;
	opacity:0.6;
	letter-spacing:0.1em;
}
.side_menu .side_btn:hover{
	transform:translateX(0);
}
@media screen and (max-width:768px){
	.side_menu{
		right:0;
		left:0;
		top:auto;
		bottom:0;
		transform:translateY(100%);
		width:100%;
		transition:transform 0.5s ease;
	}
	.side_menu.is-active{
		transform:translateY(0);
	}
	.side_menu ul{
		flex-direction:row;
		gap:0;
		border-radius:14px 14px 0 0;
		box-shadow:0 -5px 8px rgba(0,0,0,0.08);
		overflow:hidden;
	}
	.side_menu li{
		flex:1;
	}
	.side_menu li:nth-child(3){
		border-left:1px solid #C7C2BE;
	}
	.side_menu .side_btn{
		padding:10px 0;
		height:auto;
		width:100%;
		transform:none;
		border-radius:0;
		justify-content:center;
		box-shadow:none;
	}
	.side_menu .side_btn img{
		margin:0 5% 0 0;
		width:20%;
		height:auto;
	}
	.side_menu .side_btn .txt{
		font-size:4.0vw;
	}
	.side_menu .side_btn .mini{
		font-size:50%;
	}
}


/*----------------------------------------------

footer

----------------------------------------------*/
#footer{
	background-color: #B4ADA8;
	padding-top: 80px;
	padding-bottom: 130px;
	margin-bottom: 30px;
}
#footer .f_link_box{
	display: flex;
	gap:60px;
	align-items: flex-end;
}
#footer .f_logo{
	width: 40%;
}
#footer .f_link_textbox{
	width: 60%;	
}
#footer .f_link_textbox .f_link{
	display: flex;
	gap:20px;
	letter-spacing: 0.0.5em;
	font-size: 16px;
	margin-bottom: 1em;
}

#footer .f_link_textbox .f_link_sns{
	display: flex;
	gap:20px;	
	margin-bottom: 1em;
}
	
#footer .f_link_textbox .f_link:nth-child(2){
	margin-bottom: 3em;
}
#footer .f_link_textbox .f_link:nth-child(4){
	margin-bottom: -0.5em;
}
#footer .f_link_textbox .f_link a{
	text-decoration: none;
}
#footer .f_link_textbox .f_link a:hover{
	color: #FFF;
	text-decoration: underline;
}

@media screen and (max-width:1500px){
	#footer .f_link_box{
		flex-wrap: wrap;
		align-items: flex-start;
		text-align: center;
		justify-content: center;
	}
	#footer .f_logo{
		width: 100%;
	}
	#footer .f_link_textbox{
		width: auto;	
	}
	#footer .f_link_textbox .f_link{
		justify-content: center;
	}
	#footer .f_link_textbox .f_link_sns{
		justify-content: center;
	}
}
footer .copyright{
	text-align: right;
	margin-right: 5%;
	margin-bottom: 200px;
	font-size: 16px;
	letter-spacing: 0.05em;
	font-weight: 200;
}
@media screen and (max-width:768px){
	#footer .f_logo{
		width: 70%;
	}
	#footer .f_link_textbox .f_link{
		display: block;
		margin-bottom: 2em;
	}
	#footer .f_link_textbox .f_link li{
		margin-bottom: 1.4em;
	}
	#footer .f_link_textbox .f_link:nth-child(1),
	#footer .f_link_textbox .f_link:nth-child(2){
		display: none;
	}
	footer .copyright{
		font-size: 3vw;
		margin-bottom: 20vh;
	}
}





/*----------------------------------------------

下層ページ

----------------------------------------------*/
.kasoupage{}

/* MAIN
--------------------------------------- */
.kasoupage .main{
	position: relative;
	overflow: hidden;
	height: 100svh;
	width: 100%;
}
.kasoupage .main .main_photo{
	height: calc(100svh - 90px);
	margin-top: 90px;
}
.kasoupage .main .main_photo img{
	object-fit: cover;
	width: 100%;
	height: 100svh;
}
.kasoupage .main h1{
	position: absolute;
	right: 60px;
	bottom:40px;
	line-height: 1;
	font-weight: 500;
	font-size: 100px;
	text-align: right;
	letter-spacing: -0.05em;
	box-sizing: border-box;
}
.kasoupage .main h1 span{
	display: block;
	line-height: 1.3;
	font-weight: 200;
	font-size: 30px;
	letter-spacing: 0.15em;
}
@media screen and (max-width:1000px){
	.kasoupage .main .main_photo{
		height: calc(100svh - 60px);
		margin-top: 60px;
	}
}
@media screen and (orientation: portrait){
	.kasoupage .main h1{
		left: 0;
		right:auto;
		width: 100%;
		bottom:30px;
		font-size: 55px;
		text-align: center;
		word-break: break-all;
	}
	.kasoupage .main h1 span{
		font-size: 22px;
		letter-spacing: 0.15em;
	}
}
@media screen and (max-width:768px){
	.kasoupage .main h1{
		font-size: 55px;
		right: 5%;
		bottom:5%;
	}
	.kasoupage .main h1 span{
		font-size: 22px;
	}
}
@media screen and (min-aspect-ratio: 5/3) and (max-height:550px) and (orientation: landscape){
	.kasoupage .main{
		height: 600px;
	}
	.kasoupage .main .main_photo{
		height: 600px;
	}
	.kasoupage .main .main_photo img{
		height: 100%;
	}
}


/* MAIN02
--------------------------------------- */
.kasoupage .main.main02{
	width: 100%;
	background: linear-gradient(to bottom, #4F4C55, #3C3B3E);
	height: 600px;
}
.kasoupage .main.main02 h1{
	text-align: center;
	bottom: 90px;
	left: 0;
	right:auto;
	width: 100%;
}
.kasoupage .main.main02 h1 span{
	margin-top: 10px;
	/*
	text-shadow:
	2px 2px 0 #3C3B3E,
	-2px 2px 0 #3C3B3E,
	2px -2px 0 #3C3B3E,
	-2px -2px 0 #3C3B3E;
	*/
}

@media screen and (max-width:768px){
	.kasoupage .main.main02{
		height: 390px;
	}
	.kasoupage .main.main02 h1{
		bottom: 40px;
		font-size: 40px;
	}
	.kasoupage .main.main02 h1 span{
		font-size: 20px;
	}
}
@media screen and (max-width:768px) and (orientation: landscape){
	.kasoupage .main.main02{
		height: 80svh;
	}
}
@media screen and (max-height:440px) and (orientation: landscape){
	.kasoupage .main.main02{
		height: 400px;
	}
}
@media screen and (max-height:400px) and (max-width:768px) and (orientation: landscape){
	.kasoupage .main.main02{
		height: 250px;
	}
}


/* MAIN03
--------------------------------------- */
.kasoupage .main.main03{
	width: 100%;
	background: linear-gradient(to bottom, #4F4C55, #3C3B3E);
}





/* キャッチコピー（下層）
--------------------------------------- */
.kasoupage .catch_copy{
	padding:220px 0;
}
.kasoupage .catch_copy .inner{
	font-size: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight:200;
	letter-spacing:0.4em;
	line-height:1.3em;
	color:#FFF;
}
.kasoupage .catch_copy .inner::before,
.kasoupage .catch_copy .inner::after {
	content: "";
	width: 100px;
	height: 1px;
	background: #B4ADA8;
}
.kasoupage .catch_copy .inner::before {
	margin-right: 30px;
	margin-top:10px;
}
.kasoupage .catch_copy .inner::after {
	margin-left: 18px;
	margin-top:10px;
}
.kasoupage .catch_copy .en {
	display: block;
	margin-top: 30px;
	font-size: 22px;
	letter-spacing: 0.3em;
	position: relative;
	line-height:1.6em;
	color: #B4ADA8;
}
.kasoupage .catch_copy .jp .punct {
	letter-spacing: -0.3em; 
	margin-left: -0.3em; 
}

@media screen and (max-width:1200px){
	.kasoupage .catch_copy{
		padding:15vh 0;
	}
	.kasoupage .catch_copy .inner{
		flex-direction: column;
		align-items: center;
	}
	.kasoupage .catch_copy .inner::before{
		width: 1px;
		height: 60px;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	.kasoupage .catch_copy .inner::after {
		width: 0px;
	}
	.kasoupage .catch_copy .inner::before {
		margin-bottom: 45px;
	}
	.kasoupage .catch_copy::after {
		content: "";
		width: 1px;
		height: 60px;
		background: #B4ADA8;
		display: block;
		margin: 50px auto 0;
	}
}
@media screen and (max-width:768px){
	.kasoupage .catch_copy .en {
		text-align: left;
		font-size: 16px;
	}
	.kasoupage .catch_copy .inner{
		font-size: 28px;
	}
}


/* midashi
--------------------------------------- */
.kasoupage .center_txt{}
.kasoupage .center_txt .H_midashi{
	font-size: 60px;
	letter-spacing: 0.2em;
	line-height: 1.3;
	margin-bottom: 100px;
	font-weight: 200;
}
.kasoupage .center_txt .H_midashi .mini{
	font-size: 20px;
	display: block;
	margin-top: 5px;
}
.kasoupage .H_midashi02{
	font-size: 36px;
	letter-spacing: 0.3em;
	font-weight: 200;
	line-height: 1.3;
}
@media screen and (max-width:768px){
	.kasoupage .center_txt .H_midashi{
		font-size: 40px;
	}
	.kasoupage .center_txt .H_midashi .mini{
		font-size: 18px;
	}
	.kasoupage .H_midashi02{
		font-size: 24px;
	}
}



/* contents_box
--------------------------------------- */
.kasoupage .contents_box{
	display: flex;
	align-items: center;
	gap:6%;
	margin-bottom: 50px;
}
.kasoupage .contents_box p{
	line-height: 1.6;
}
.kasoupage .contents_box .box,
.kasoupage .contents_box .map{
	width: 50%;
}
.kasoupage .contents_box .box{
	box-sizing: border-box;
	width: 44%;
}
.kasoupage .contents_box.reverse{
	flex-direction: row-reverse;
}
@media screen and (max-width:1000px){
	.kasoupage .contents_box{
		flex-wrap: wrap;
		text-align: center;
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
		padding: 0!important;
	}
	.kasoupage .contents_box .box{
		width: 100%;
		text-align: left;
		padding-top: 8vh
	}
	.kasoupage .contents_box .H_midashi02{
		text-align: center;
	}
	.kasoupage .contents_box .box{
		width: 70%;
	}
	.kasoupage .contents_box .map{
		width: 100%;
	}
	.kasoupage .contents_box .map iframe{
		height: 300px;
	}
}
@media screen and (max-width:768px){
	.kasoupage .contents_box .H_midashi02{
		text-align: left;
	}
	.kasoupage .contents_box .box{
		width: 100%;
	}
	.kasoupage .contents_box img{
		width: 100%;
	}
	.kasoupage .contents_box .map iframe{
		height: 240px;
	}
}


/*----------------------------------------------

Top

----------------------------------------------*/
/* logo
--------------------------------------- */
#idToppage #logo_main{
	position: absolute;
	z-index: 1000;
	bottom:45px;
	right:50px;
	top:auto;
	left: auto;
	width: 25%;
	text-align: right;
}
#idToppage #logo_main img{
	width: 100%;
	height: auto;
}
@media screen and (orientation: portrait){
	#idToppage #logo_main{
		bottom:30px;
		right:auto;
		left: 50%;
		transform: translateX(-50%);
		width: 70%;
	}
}
@media screen and (max-height:400px){
	#idToppage #logo_main{
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
		bottom:5%;
		right:5%;
	}
	#idToppage #logo_main img{
		width: auto;
		height: 35vh;
	}
}
@media screen and (max-height:250px){
	#idToppage #logo_main{
		display: none;
	}
}




/* キャッチコピー
------------------------------*/
#idToppage .catch_copy {
	font-size: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight:200;
	letter-spacing:0.4em;
	line-height:1em;
	color:#FFF;
	background: linear-gradient(20deg, #3C3B3E, #4F4C55);
	padding:220px 0;
}
#idToppage .catch_copy .jp .punct {
	letter-spacing: -0.3em; 
	margin-left: -0.3em; 
}
#idToppage .catch_copy::before,
#idToppage .catch_copy::after {
	content: "";
	width: 100px;
	height: 1px;
	background: #B4ADA8;
}

#idToppage .catch_copy::before {
	margin-right: 16px;
	margin-top:0.1em;
}
#idToppage .catch_copy::after {
	margin-left: 16px;
	margin-top:0.1em;
}

#idToppage .catch_copy .en {
	display: block;
	margin-top: 15px;
	font-size: 22px;
	letter-spacing: 0.3em;
	position: relative;
	line-height:1em;
	color: #B4ADA8;
}
@media screen and (max-width:1000px) {
	#idToppage .catch_copy {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		white-space: nowrap;
		font-size: 34px;
		padding:20vh 0;
	}
	#idToppage .catch_copy .jp .punct {
		margin-top: -0.3em; 
		margin-left: 0; 
	}
	#idToppage .catch_copy::before,
	#idToppage .catch_copy::after {
		content: "";
		display: block;
		width: 1px;
		height: 100px;
		background: #B4ADA8;
		margin-left: auto;
		margin-right: auto;
	}
	#idToppage .catch_copy::before {
		margin-bottom: 16px;
	}
	#idToppage .catch_copy::after {
		margin-top: 16px;
	}
	#idToppage .catch_copy .inner {
		display: flex;
		align-items: center;
	}
	#idToppage .catch_copy .jp {
		writing-mode: vertical-rl;
		text-orientation: upright;
		margin-left:0;
	}
	#idToppage .catch_copy .en {
		font-size: 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 0;
		margin-left: 1em;
	}
	#idToppage .catch_copy .en span {
		display: inline-block;
		white-space: nowrap;
		transform: rotate(90deg);
		transform-origin: center;
	}
}


/* H_midashi
--------------------------------------- */
#idToppage .H_midashi_box{
	padding: 100px 0 110px 0;
}
#idToppage .H_midashi{
	font-size: 44px;
	letter-spacing: 0.3em;
	font-weight: 200;
	line-height: 1.3;
	margin-bottom: 1.0em;
}
#idToppage .H_midashi .en{
	color: #B4ADA8;
	letter-spacing: 0.3em;
	font-size: 20px;
	margin: 0px 0 1.8em 0;
	display: block;
}
#idToppage .H_midashi_box p{
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
@media (max-width:768px){
	#idToppage .H_midashi_box{
		padding: 10vh 0 8vh 0;
	}
	#idToppage .H_midashi{
		font-size: 26px;
	}
	#idToppage .H_midashi .en{
		font-size: 16px;
	}
	#idToppage .H_midashi_box p{
		font-size: 18px;
	}
}




/* PRPOINT
------------------------------*/
#idToppage .pr_point{
}
#idToppage .pr_point .row{
}



@media screen and (max-width:768px){
	#idToppage .pr_point .row{
	}
	
	#idToppage .pr_point .pr_point_box .H_midashi_box h3.H_midashi{
		font-size: 6vw;
	}
	#idToppage .pr_point .pr_point_box .H_midashi_box p{
		font-size: 16px;
	}
}



/* 特徴
------------------------------*/
#idToppage .charm{
}
#idToppage .charm.reverse{
}
#idToppage .charm .content_box{
	position:relative;
	box-sizing:border-box;
}
#idToppage .charm .distinctive_image img{
	width:50vw;
	height:auto;
	display:block;
	box-sizing:border-box;
}
#idToppage .charm .distinctive_inner{
	position:absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	width:1440px;
	height:100%;
	display:flex;
	align-items:center;
	box-sizing:border-box;
}
#idToppage .charm .distinctive_text{
	width:44%;
	margin-left: auto;
	box-sizing:border-box;
	color:#fff;
}
#idToppage .charm.reverse .distinctive_image{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 60px;
}
#idToppage .charm.reverse .distinctive_inner {
	left: auto;
	right: 50%;
	transform: translateX(50%);
}
#idToppage .charm.reverse .distinctive_text {
	margin-left: 0;
	margin-right: auto;
}


#idToppage .charm .distinctive_title{
	font-size:44px;
	line-height:1.4;
	font-weight: 200;
	letter-spacing: 0.2em; 
	padding-bottom: 0.5em;
}
#idToppage .charm .distinctive_lead{
	font-size:20px;
	margin-bottom:1.5em;
	letter-spacing: 0.2em; 
	line-height:1.6;
}

#idToppage .distinctive_image_ul{
	display: flex;
	gap:60px;
}
#idToppage .distinctive_image_ul_back{
	position: relative;
}
#idToppage .distinctive_image_ul_back::before{
	content: "";
	background: linear-gradient(to bottom, #525154, #3C3B3E);
	height: 330px;
	width: 100%;
	position: absolute;
	bottom: -240px;
	left: 0;
	z-index: -1;
}


@media (max-width:1800px){
	#idToppage .charm .distinctive_image img{
		width:48vw;
	}
}
@media (max-width:1500px){
	#idToppage .charm .distinctive_inner{
		width:90%;
	}
	#idToppage .charm .distinctive_title{
		font-size:26px;
	}
	#idToppage .charm .distinctive_lead{
		font-size:16px;
	}
}
@media (max-width:1000px){
	#idToppage .charm .distinctive_image img{
		width:95%;
	}
	#idToppage .charm .distinctive_inner{
		position:relative;
		height:auto;
		display:block;
		padding-bottom: 50px;
	}
	#idToppage .charm.reverse .distinctive_inner {
		left: auto;
		right: auto;
		transform: none;
		margin: 0 auto;
	}
	#idToppage .charm.reverse .distinctive_image{
		margin-bottom: 4vh;
	}
	#idToppage .charm .distinctive_text{
		padding:20px 0;
		width:100%;
	}
}
@media (max-width:768px){
	#idToppage .distinctive_image_ul{
		flex-wrap: wrap;
		gap:30px;
	}
}


/* story
------------------------------*/
#idToppage .story{}

#idToppage .story_box_list{
	display: flex;
	gap:60px;
	margin-bottom: 50px;
}
#idToppage .story_box_list h3{
	padding: 30px 0 14px 0;
	font-size: 30px;
	font-weight: 200;
	line-height: 1.3;
	letter-spacing: 0.3em;
}
@media (max-width:768px){
	#idToppage .story_box_list{
		flex-wrap: wrap;
		gap:30px;
	}
	#idToppage .story .H_midashi_box p{
		text-align: left;
	}
	#idToppage .story_box_list h3{
		font-size: 20px;
	}
}

/* 
News
--------------------------------------- */
#idToppage .news{
	width: 1300px;
	margin-left:auto;
	margin-right:auto;
}
@media (max-width:1500px){
	#idToppage .news{
		width: 90%;
	}
}



/*----------------------------------------------

コレクション

----------------------------------------------*/
#idCollection{}

/* 見出し
--------------------------------------- */
#idCollection .midashi{
	display: flex;
	align-items: center;
}
#idCollection .midashi h3{
	font-size: 60px;
	font-weight: 200;
	letter-spacing: 0.15em;
	line-height: 1.5;
}
#idCollection .midashi p{
	margin: 0;
	font-size: 22px;
	letter-spacing: 0.15em;
}
#idCollection .midashi .photo,
#idCollection .midashi .txt{
	width: 50%;
	box-sizing: border-box;
}
#idCollection .midashi .txt{
	padding-left: 8%;
}
@media screen and (max-width: 1500px) {
	#idCollection .midashi h3{
		font-size: 32px;
	}
	#idCollection .midashi p{
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	#idCollection .midashi{
		flex-wrap: wrap;
		margin-bottom: 10%;
	}
	#idCollection .midashi .photo,
	#idCollection .midashi .txt{
		width: 100%;
		text-align: center;
	}
}

/* item_list
--------------------------------------- */
#idCollection .item_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	list-style: none;
	padding: 0;
	margin: 0;
}
#idCollection .item_list li{
	list-style: none;
	margin-bottom: 100px;
	text-align: center;
	font-size: 16px;
}
#idCollection .item_list li figure{
	margin-bottom: 30px;
	width:100%;
	aspect-ratio:1/1;
	overflow:hidden;
}
#idCollection .item_list li p{
	margin: 0 0 20px 0;
	padding: 0;
	line-height: 1;
}
#idCollection .item_list li img{
	width: 100%;
	height:100%;
	object-fit:cover;
	display:block;
}
#idCollection .item_list li p.id{
	font-size: 90%;
}
#idCollection .item_list li p.type{
	border-bottom: 1px solid #B4ADA8;
	padding-bottom: 5px;
	margin-bottom: 25px;
	display: inline-block;
}
#idCollection .item_list li p.color{

}
#idCollection .item_list li p.price{
	padding-top: 0.5em;
	font-size: 26px;
}

#idCollection .item_list li p.price .zei{
	font-size: 50%;
}

@media screen and (max-width: 768px) {
	#idCollection .item_list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	#idCollection .item_list li{
		margin-bottom: 15%;
		display: flex;
		flex-direction: column;
	}
	#idCollection .item_list li p{
	}
	#idCollection .item_list li p.color,
	#idCollection .item_list li p.type{
		font-size: 90%;
	}
	#idCollection .item_list li p.type{
		width: fit-content;
		align-self: center;
	}
	#idCollection .item_list li p.price{
		font-size: 16px;
		margin-top: auto;
	}
	
	#idCollection .item_list li p.id{
		min-height: calc(1.0em * 2);
	}
	#idCollection .item_list li p.color{
		flex-grow: 1;	
	}
}




/*----------------------------------------------

ABOUT

----------------------------------------------*/
#idAbout{}
#idAbout .main{
	background:
	radial-gradient(
		circle at top left,
		rgba(255,255,255,0.90) 0%,
		rgba(255,255,255,0) 45%
	),
	linear-gradient(
		135deg,
		#ffffff 0%,
		#e5e5e5 65%,
		#e5e5e5 100%
	);
}
#idAbout .main .main_photo{
	text-align: center;
}
#idAbout .main .main_photo img{
	object-fit:contain;
	height: 100vh;
	width: auto;
}
@media screen and (orientation: portrait){
	#idAbout .main .main_photo img{
		object-position: center;
		object-fit: cover;
		width: 100%;
		height: 100vh;
	}
}




/* History
--------------------------------------- */

#idAbout .history_time{
	list-style: none;
	padding: 0;
	margin: 0 auto;
	width: 790px;
}
#idAbout .history_time li{
	display: flex;
	align-items: flex-start;
	gap: 20px;
	position: relative;
}
#idAbout .history_time time{
	position: relative;
	display: inline-block;
	width: 240px;
	flex-shrink: 0;
	letter-spacing: 0.2em;
	text-align: center;
	box-sizing: border-box;
	z-index: 1;
	background: #3C3B3E;
	padding: 15px 0;
	margin-bottom: 15px;
	line-height: 1.8;
}
#idAbout .history_time li::before{
	content: "";
	position: absolute;
	top: 0px;
	left: 120px;
	width: 1px;
	height: 100%;
	background: #707070;
}
@media screen and (min-width: 900px) {
#idAbout .history_time li:last-child::before{
	width: 0;
}
}

#idAbout .history_time .txt{
	font-size: 18px;
	box-sizing: border-box;
	padding: 15px 0;
	margin-bottom: 15px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}

@media screen and (max-width: 900px) {
	#idAbout .history_time{
		width: 100%;
	}
	#idAbout .history_time time{
		font-size: 14px;
		width: 120px;
		text-align: left
	}
	#idAbout .history_time li::before{
		left: 20px;
	}
	#idAbout .history_time .txt{
		font-size: 16px;
		padding: 65px 0 5px 0;
		margin-left: -90px;
		width: 1;
	}
}



/*----------------------------------------------

美を支える技術

----------------------------------------------*/
#idCraftsmanship{}

#idCraftsmanship main h1{
	line-height: 1.1;
}
#idCraftsmanship main h1 span{
	margin-top: 10px;
}
@media screen and (max-width: 1000px) {
	#idCraftsmanship main h1{
		line-height: 0.7;
	}
	#idCraftsmanship main h1 span{
		margin-top: 15px;
	}
}



/* system_box
--------------------------------------- */
#idCraftsmanship .system_box figcaption{
	margin-bottom: 90px;
}
#idCraftsmanship .system_box .title{
	font-size: 36px;
	letter-spacing: 0.3em;
	font-weight: 200;
	margin-bottom: 40px;
}
#idCraftsmanship .system_box p{
	font-size: 20px;
	line-height: 1.8;
	margin: 0;
}
#idCraftsmanship .system_box .no_box{
	justify-content: center;
	padding-bottom: 50px;
}
#idCraftsmanship .system_box .no_box .label{
	margin-left:0;
	width:150px;
	padding-bottom:0px;
}

@media screen and (max-width: 1000px) {
	#idCraftsmanship .system_box .no_box .label{
		margin-left: auto;
		margin-right: auto;
		font-size: 14px;
	}
}
@media screen and (max-width: 768px) {
	#idCraftsmanship .system_box figcaption{
		margin-bottom: 7vh;
	}
	#idCraftsmanship .system_box p{
		font-size: 16px;
		text-align: left;
	}
	#idCraftsmanship .system_box .title{
		font-size: 24px;
	}
}



/*----------------------------------------------

会社概要

----------------------------------------------*/
#idCompany{}
#idCompany .map iframe{
	width: 100%;
	height: 500px;
}
@media screen and (max-width: 768px) {
	#idCompany .map{
		height: 400px;
	}
	#idCompany .map iframe{
		height: 100%;
	}
}



/*----------------------------------------------

STORE

----------------------------------------------*/
#idStoreList{}
#idStoreList .store_list .link_buttons_box02{
	display: flex;
	gap:5%;
}
#idStoreList .store_list .link_buttons_box02 .link_buttons a{
	width: auto;
	padding: 10px 50px 10px 70px;
}
#idStoreList .store_list .link_buttons_box02 .link_buttons.tel a{
	font-size: 24px;
	padding: 5px 50px 5px 70px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}
#idStoreList .store_list .link_buttons_box02 .link_buttons a::after{
	content: "";
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-position: 0px center;
	background-size:cover;
	left: 15px;
	background-color: transparent;
}
#idStoreList .store_list .link_buttons_box02 .link_buttons.tel a::after{
	background-image: url("img/store/telephone.svg");
}
#idStoreList .store_list .link_buttons_box02 .link_buttons.mark a::after{
	background-image: url("img/store/map marker.svg");
}
#idStoreList .store_list .link_buttons_box02 .link_buttons a::before{
	width: auto;
}
#idStoreList .store_list .link_buttons_box02 .link_buttons a:hover::after {
	transform: translateY(-50%) scale(0.8);
}

#idStoreList .store_list iframe{
	width: 100%;
	height: 485px;
}

@media screen and (max-width: 1500px) {
	#idStoreList .store_list .link_buttons_box02{
		flex-wrap: wrap;
		flex-direction:row;
		gap:20px;
	}
}

@media screen and (max-width: 768px) {
	#idStoreList .store_list .link_buttons_box02{
		flex-direction: column;
	}
	#idStoreList .store_list .link_buttons_box02 .link_buttons a{
		width: 100%;
		padding: 14px 50px 10px 50px;
	}
	#idStoreList .store_list .link_buttons_box02 .link_buttons a::before{
		width: auto;
	}
}


#idStoreList .store_list .store_table{
	width: 100%;
	margin-bottom: 30px;
	font-size: 16px;
}
#idStoreList .store_list .store_table th{
	padding:10px 0 ;
	width: 80px;
}
#idStoreList .store_list .store_table td{
	padding:10px 0 10px 40px;
}




/*----------------------------------------------

Care Service

----------------------------------------------*/
#idCare_service{}
#idCare_service #REPAIR .photo img{
	width: 100%;
}




/*----------------------------------------------

NEWS

----------------------------------------------*/
#idNews{}


#idNews .news_head{
}
#idNews .news_head .categorylink a{
	color: #B4ADA8;
}

#idNews .details_entry{
}
#idNews .details_entry p{
	line-height: 1.8;
	margin-bottom: 2em;
}

#idNews .main .main_photo{
	text-align: center;
}
#idNews .main .main_photo img{
	object-fit:contain;
	height: 100vh;
	width: auto;
}
@media screen and (max-height:550px) and (orientation: landscape){
	#idNews .main{
		height:500px;
	}
	#idNews .main .main_photo{
		height:500px;
	}
	#idNews .main .main_photo img{
		height:100%;
	}
}
@media screen and (max-width:940px) and (max-height:550px) and (orientation: landscape){
	#idNews .main{
		height:100svh;
	}
	#idNews .main .main_photo{
		height: calc(100svh);
		margin-top: 60px;
	}
	#idNews .main .main_photo img{
		margin-top: -8svh;
	}
	#idNews .main h1{
		bottom: 10px;
	}
}



/*pagination
---------------------------------------*/
.pagination{
	text-align: center;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 80%;
	box-sizing: border-box;
}
.pagination a{
	text-decoration: none;
	display: block;
}
.pagination .pagination__list{
    display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.pagination .pagination__list li{
	margin-bottom: 20px;
}
.pagination .pagination__list .pagination__item,
.pagination .pagination__list .pagination__item--current {
	box-sizing: border-box;
    text-align: center;
    line-height: 50px;
    margin-right: 10px;
	border-radius: 50%;
}
.pagination .pagination__list li:last-child{
    margin-right: 0px!important;	
}
.pagination .pagination__list .pagination__item a,
.pagination .pagination__list .pagination__item--current{
	display: block;
    height: 50px;
    width: 50px!important;
	box-sizing: border-box;
	border-radius: 50%;
}
.pagination.column_page_link .pagination__list .pagination__item a{
    width: auto!important;
	padding: 0px 25px;
}
.pagination .pagination__list .pagination__item a{
	color: #B4ADA8;
    border: 1px solid #B4ADA8;
}
.pagination .pagination__list .pagination__item a:hover{
	color: #FFF;
	border:1px solid #f4eDe8;
}
.pagination .pagination__list li:nth-child(n+10){
	display: none;
}
.pagination .pagination__list li:nth-child(n+6){
	display: none;
}

.pagination .pagination__list .pagination__item--current {
    background: #B4ADA8;
	border: #B4ADA8;
    color: #FFFFFF;
    padding: 0;
}
.pagination .pagination_waku{
	position: relative;
	display: inline-block;
}
.pagination .pagination__btn--prev{
	position: absolute;
	left: -63px;
	top: 0;
	border-radius: 50%;
    height: 50px;
	width: 50px;
	box-sizing:border-box;
}
.pagination .pagination__btn--next{
	position: absolute;
	right: -63px;
	top: 0;
	border-radius: 50%;
    height: 50px;
	width: 50px;
}
.pagination .pagination__btn--prev a,
.pagination .pagination__btn--next a,
.pagination .pagination__btn--prev span,
.pagination .pagination__btn--next span{
	box-sizing:border-box;
	display: flex;
	justify-content: center;
	transition-duration: 0.8s;
	transition-delay: 0.01s;
	border-radius: 50%;
    border: 1px solid #B4ADA8;
	
	height: 50px;
	width: 50px;
	background-position: center center;
	background-repeat: no-repeat;
}
.pagination .pagination__btn--prev a,
.pagination .pagination__btn--prev span{
	background-image: url("img/news/arrow-left.svg");
}
.pagination .pagination__btn--next a,
.pagination .pagination__btn--next span{
	background-image: url("img/news/arrow-right.svg");
}

.pagination .pagination__btn--prev a,
.pagination .pagination__btn--next a{
	position: relative;
	box-sizing: border-box;
	border-radius:30px;
	display: block;
	border:1px solid #B4ADA8;
	height: 50px;
	width: 50px;
	overflow: hidden;
	z-index: 0;
	transition-duration: 0.3s;
	transition-delay: 0.01s;
}
.pagination .pagination__btn--prev a:hover,
.pagination .pagination__btn--next a:hover{
	border:1px solid #f4eDe8;
}
.pagination .pagination__btn--prev a:hover{
	background-image: url("img/news/arrow-left_w.svg");
}
.pagination .pagination__btn--next a:hover{
	background-image: url("img/news/arrow-right_w.svg");
}

.pagination .pagination__btn--prev span,
.pagination .pagination__btn--next span{
	opacity: 0.3;
}


@media screen and (max-width: 500px){
.pagination .pagination__list li:nth-child(n+1){
	display: none;
}
.pagination .pagination_waku{
	width: 100%;
}
.pagination .pagination__btn--prev{
	left: 0px;
}
.pagination .pagination__btn--next{
	right: 0px;
}

}


/*details_entry_link
---------------------------------------*/
.details_entry_link ul{
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	position: relative;
}
.details_entry_link ul li{
	font-size: 18px;
	flex:1;
	position: relative;
}
.details_entry_link ul li a{
	transition-duration: 0.3s;
	transition-delay: 0.01s;
	text-align: center;
}
.details_entry_link ul li a,
.details_entry_link ul li span{
	display: block;
	text-decoration: none;
	background-repeat: no-repeat;
	color: #B4ADA8;
	border: 1px solid #B4ADA8;
	border-radius: 30px;
	line-height: 1;
	box-sizing: border-box;
}
.details_entry_link ul li.back{
	text-align: left;
	
}
.details_entry_link ul li.next{
	text-align: right;
}
.details_entry_link ul li.center{
	text-align: center;
	box-sizing: border-box;
}

.details_entry_link ul li.back a,
.details_entry_link ul li.back span,
.details_entry_link ul li.next a,
.details_entry_link ul li.next span{
	height: 50px;
	width: 50px;
	background-position: center center;
	background-repeat: no-repeat;
}
.details_entry_link ul li.next a{
	margin-left:auto;
}

.details_entry_link ul li.back a,
.details_entry_link ul li.back span{
	background-image: url("img/news/arrow-left.svg");
}
.details_entry_link ul li.next a,
.details_entry_link ul li.next span{
	background-image: url("img/news/arrow-right.svg");
}

.details_entry_link ul li.back a,
.details_entry_link ul li.next a{
	position: relative;
	border: none;
	border:1px solid #f4eDe8;
	border-radius:30px;
}
.details_entry_link ul li.back a:hover,
.details_entry_link ul li.next a:hover {
	border:1px solid #f4eDe8;
}
.details_entry_link ul li.back a:hover{
	background-repeat: no-repeat;
	background-image: url("img/news/arrow-left_w.svg");
	background-position: center center;
}
.details_entry_link ul li.next a:hover{
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("img/news/arrow-right_w.svg");
}
.details_entry_link ul li.next a,
.details_entry_link ul li.back a{
	overflow: hidden;
}

.details_entry_link ul li.center a{
	padding: 15px 25px;
	position: relative;
	border: 1px solid #f4eDe8;
	height: 50px;
	width: 140px;
	box-sizing: border-box;
	margin:0 auto;
}
.details_entry_link ul li.center a::before {
	content: "";
	position: absolute;
	box-sizing: border-box;
	inset: 0px;
	left: -1px;
	top: -1px;
	z-index: 100;
	height: 50px;
	width: 140px;
	border: 1px solid #B4ADA8;
	border-radius: 30px;
	clip-path: inset(0px 0px 0px 0px);
	transition: clip-path 0.6s ease;
}
.details_entry_link ul li.center a:hover{
	color: #fff;
}
.details_entry_link ul li.center a:hover::before {
	clip-path: inset(0 0 0 100%);
}

.details_entry_link ul li span{
	opacity: 0.3;
}

@media screen and (max-width: 768px){
	.details_entry_link ul li:nth-child(1),
	.details_entry_link ul li:nth-child(3){
		width: 25%;
	}
	.details_entry_link ul li:nth-child(2){
		width: 50%;
	}
	.details_entry_link ul li.center a,
	.details_entry_link ul li.center a::before {
		padding: 15px 4px 15px 8px;
		width: 110px;
	}
}

/*ins_box
---------------------------------------*/
.ins_box{}
.ins_box ul{
	box-sizing:border-box;
	flex-wrap: wrap;
	grid-template-columns: repeat(4, 1fr);
	display: grid;
	align-items: start;
}
@media screen and (max-width: 768px){
	.ins_box ul{
		grid-template-columns: repeat(2, 1fr);
	}
}


.link_sns{
	padding: 40px;
}
.link_sns img{
	margin-bottom: 10px;
}



/*----------------------------------------------

DISCOVER

----------------------------------------------*/
#idDiscover{}
#idDiscover h2{
	font-size: 30px;
	margin-bottom: 20px;
}
#idDiscover .search_form{
	width: 536px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	border-radius: 30px;
	overflow: hidden;
}
#idDiscover .search_form .search-input{
	width: 100%;
	padding: 10px 60px 10px 20px;
	box-sizing: border-box;
	border-radius: 30px;
	border: 0;
}
#idDiscover .search_form .search-btn{
	box-sizing: border-box;
	position: absolute;
	right: 4px;
	top:5px;
	height: 90%;
}
#idDiscover .fix{
	font-size: 22px;
	letter-spacing: 0.15em;
}
#idDiscover .fix .big{
	font-size: 250%;
}

@media screen and (max-width: 768px){
	#idDiscover h2{
		font-size: 20px;
		margin-bottom: 15px;
		text-align: left;
	}
	#idDiscover .search_form{
		width: 100%;
	}
	#idDiscover .fix{
		font-size: 18px;
	}
}



/* ---------------------------------------

CONTACT

--------------------------------------- */
#idContact{}
#formname{
	position: relative;
}
.form dl{
}
.form dl dt{
	margin-bottom: 0.8em;
}
.form dl dd{
	margin-bottom: 4em;
	position: relative;
}
.form dl dd:last-child{
	margin-bottom: 0;
}
.form .mini_txt{
	font-size: 16px;
	position: relative;
}
.form .form_ul{
	display: flex;
	gap:30px;
}
.form .hisu{
	margin-left: 10px;
}
.form .doui{
	border: 1px solid #B4ADA8;
	border-radius: 5px;
	padding: 20px 15px 10px 15px; 
}
@media screen and (max-width: 768px){
	.form .form_ul{
		flex-wrap: wrap;
	}
	.form .form_ul li{
		width: 100%;
	}
	
	.form .mini_txt{
		text-align: left;
	}
}


.form .put_txt{
	width: 100%;
	box-sizing: border-box;
	border: 0;
	border-radius: 5px;
	background-color: #FFF;
	padding: 20px 10px;
	line-height: 1.6;
}
.form .put_radio{
	transform: scale(1.8);
	margin-right: 15px;
}
.form .put_check{
	font-weight: 500;
}
.form .put_check input{
	transform: scale(1.8);
	margin-right: 15px;
}

.form .put_submit{
	background-color: #8193A5;
	border: 1px solid #8193A5;
	border-radius: 30px;
	text-align: center;
	color: #FFF;
	padding: 15px 40px;
	font-size: 16px;
	box-sizing: border-box;
	position: relative;
	width: 300px;
	cursor: pointer;
}

.form .put_submit::after {
	background: #fff;
	content: "";
	position: absolute;
	border-radius: 30px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	transition: transform 0.3s ease;
}
.form .put_submit:hover{
	background-color: transparent;
}
.form .put_submit:hover::after {
	transform: translateY(-50%) scale(1.5);
}
.form .put_submit:disabled{
	opacity: 0.5;
	cursor: not-allowed;
}
.form .put_submit:hover:disabled{
	background-color: #8193A5;
}
.form .put_submit::after:disabled{
	transition: none;
}



/* ---------------------------------------

利用規約・プライバシーポリシー

--------------------------------------- */
#idRead{}
#idRead .read_contents{}

#idRead .read_contents .txt{
	font-size: 16px;
}
#idRead .read_contents dl{
}
#idRead .read_contents dl dt{
	font-size: 36px;
	letter-spacing: 0.15em;
	margin-bottom: 10px;
	line-height: 1.3;
}
#idRead .read_contents dl dt .mini_txt{
	font-size: 65%;
}
#idRead .read_contents dl dd{
	font-size: 16px;
	line-height: 1.8;
}
#idRead .read_contents dl dd ol{
	list-style-type:decimal;
	margin-left: 2em;
}
#idRead .read_contents dl dd ul{
	list-style-type:disc;
	margin-left: 2em;
}
#idRead .read_contents dl dd ol li{
	margin-bottom: 0.5rem;
}

#idRead .midashi_h2{
	font-size: 40px;
	font-weight: 200;
	letter-spacing: 0.15em;
}


@media screen and (max-width: 768px){
	#idRead .read_contents dl dt{
		font-size: 24px;
	}
	#idRead .read_contents dl dt .mini_txt{
		font-size: 80%;
		display: block;
		margin-top: 5px;
		margin-bottom: 1em;;
	}
	#idRead .midashi_h2{
		font-size: 30px;
	}
}

#idRead .mail::before{
  content:"info@neoplan-intl.com";
}



