@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..600&family=Noto+Serif+JP:wght@200..600&display=swap');

:root {
	--font-serif: "Noto Serif JP", serif;
	--font-sanserif: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	font-family: var(--font-serif);
	font-weight: 400;
}

a {
	text-decoration: none;
}

img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

html {
	font-size: 62.5%; 
}

body {
	font-size: 1.6rem;
	position: relative;
	background-color: #4b78b4;
}

#wrapper {
	position: relative;
	width: 1920px;
	margin: 0 auto;
	background-color: #FFF;
	padding-top: 45px;
	box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.45);
}

#header {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
	height: 163px;
	margin: 0 auto;
}

#logo {
	position: relative;
	flex: none;
	width: 180px;
	height: 134px;
	margin: 0 68px 0 56px;
}

#logo a {
	display: block;
	width: 100%;
	height: 100%;
}

#logo a img {
	width: 100%;
	height: 100%;
}

#header #navi {
	position: relative;
	flex: none;
	width: 660px;
	margin: 10px 364px 0 0;
}

.s0 #header #navi {
	width: 800px;
	margin: 10px 224px 0 0;
}

#header #navi ul {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
}

#navi li {
	/* width: 105px; */
	flex: 1;
	height: 43px;
	margin-right: 6px;
}

#navi li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	background: #89cdc9;
	border-radius: 4px;
	font-size: 1.4rem;
	font-family: var(--font-serif);
	font-weight: 600;
	font-style: normal;
	color: #3e3a39;
	transition: 0.5s;

}

#navi li a:hover {
	background: #e4f0f9;
	background-color: rgba(137, 205, 201, 0.5);
}

#home #navi li.home a,
#archive #navi li.archive a,
#concept #navi li.concept a,
#size #navi li.size a,
#shopping #navi li.shopping a,
#contact #navi li.contact a {
	background: #26b5b0;

}

#header .col {
	position: relative;
	flex: none;
	width: 546px;
}

#header #textsize {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 540px;
	margin-top: 18px;
}

#header #textsize p {
	width: 368px;
}

#header #textsize p img {
	width: 100%;
}

#header #textsize ul {

	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style-type: none;
}

#header #textsize li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 9px;
	border-radius: 4px;
	border: solid 1px #3e3a39;
}

#header #textsize li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-family: var(--font-serif);
	color: #3e3a39;
	transition: 0.5s;
}

#header #textsize li a:hover {
	background: rgba(137, 205, 201, 0.5);
}

#textsize #large {
	font-size: 22px;
	width: 43px;
	height: 43px;

}

#textsize #medium {
	font-size: 20px;
	width: 38px;
	height: 38px;

}

#textsize #small {
	font-size: 18px;
	width: 32px;
	height: 32px;
}

#tel_block {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	margin-top: 20px;
	font-family: var(--font-serif);
}
.s0 #tel_block {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	width: 100%;
	margin-top: 20px;
	font-family: var(--font-serif);
}

#tel_block .telNum {
	padding-left: 4px;
	font-size: 2.9rem;
	font-family: var(--font-serif);
	letter-spacing: 5px;
}

#tel_block .hours {
	font-size: 2rem;
	font-family: var(--font-serif);
}

#mainvisual-wrap {
	position: relative;
	height: 1724px;
}
#mainvisual-wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 690px;
	right: 0px;
	width: 910px;
	height: 862px;
	background: url("../images/bg_a.gif") left top / 1150px 862px;
	mix-blend-mode: multiply;
}

#mainvisual {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	height: 874px;
}

#mainvisual .mainphoto {
	flex: none;
	width: 870px;
	height: 874px;
	margin-right: 110px;
}

#mainvisual .mainphoto img {
	width: 100%;
	height: auto;
}

#mainvisual .col {
	display: flex;
	flex-direction: column;
	justify-content:flex-start;
	align-items: flex-start;
	flex: none;
	width: 780px;
	height: 874px;
}

#mainvisual .col img {
	width: 100%;
}

#mainvisual .mv-50-70 {
	width: 100%;
	height: 251px;
	margin-top: 151px;
}

#mainvisual .mv-new-topics {
	width: 100%;
	height: 281px;
	margin-top: 91px;
}

.slider-wrap {
	position: relative;
	display: flex;
	align-items: center;
	height: 850px;
	width: 100%;
	margin: 0 auto 8px;
}

.slider-wrap::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: #cfe9e7;
	mix-blend-mode: multiply;
}

#slider {
	flex: none;
	height: 623px;
	width: 100%;
	margin: 0 auto;
}

#slider .sp-slides {
	height: 623px;
	list-style-type: none;
	padding: 0px;
	margin: 0;
}

#slider .sp-slide img {
	width: 400px;
	height: 623px;
}

.slider-wrap .st {
	position: absolute;
	bottom: 36px;
	left: 0;
	right: 0;
	font-size: 2.4rem;
	text-align: center;
	margin: 0 auto;
	font-family: var(--font-serif);
	color: #555;
	font-weight: normal;
}

#contents {
	margin: 0 auto 0;
	font-size: 1.6rem;
	line-height: 150%;
	padding-top: 20px;
	color: #555;
}

#home #contents {
	width: 1120px;
	padding-top: 0px;
}

#contents a {
	color: #36C;
}

#contents a:hover {
	color: #6CF;
}


.row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.col {
	flex: none;
}

#contents .lead {
	flex: none;
	width: 500px;
	font-size: 1.8rem;
	padding-top: 1em;
}

#contents .lead p {
	width: 100%;
	line-height: 1.7;
	margin-bottom: 1.5em;
	text-align: justify;
}

#contents .lead p:last-child {
	margin: 0 1.5em 1em auto;
	text-align: right;
}

.concept_img {
	flex: none;
	width: 280px;
	height: 412px;
}


.concept_img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#contents .schedule {
	width: 1120px;
	margin: 128px 0 4em;
}

#contents .schedule .st {
	margin-bottom: 1em;
	text-align: left;
	color: #000;
	font-size: 3.8rem;
	font-weight: 400;
	line-height: 2;
	border-bottom: double;
}

#event {
	position: relative;
	width: 1120px;
	margin: 0 auto;
}
#event::before {
	content: "";
	display: block;
	position: absolute;
	top: 90px;
	left: -400px;
	width: 430px;
	height: 862px;
	background: url("../images/bg_a.gif") right top / 1150px 862px;
	mix-blend-mode: multiply;
}

.event_list {
	width: 880px;
	border-collapse: collapse;
	margin: 0 0 2em;
}

.event_list .date,
.event_list .category,
.event_list .venue,
.event_list .venue2 {
	
	padding: 0px 0px 1em 2px;
	font-size: 2.6rem;
	font-family: var(--font-sanserif);
	font-weight: 400;
	line-height: 125%;
}

.event_list .date {
	width: 30%;
	font-family: monospace, sans-serif;
}

.event_list .date::before {
	content: "■";
	margin: 0 0.2em 0 0;
}

.event_list .date span.ex {
	font-size: 1.4rem;
	line-height: 1.2;
	color: red;
}

.event_list .category {
	width: 20%;
}

.category.festival {
	color: #ff00ff;
}

.category.gallery {
	color: #00A8AD;
}

.category.department {
	color: #008000;
}

.category.gallery span {
	display: block;
	letter-spacing: -0.1em;
	transform-origin: left top;
	transform: scale(0.8, 1);
}

.event_list .venue {
	width: 36%;
}

.event_item {
	width: 1120px;
	margin: 0 auto 180px;
}

.event_title {
	position: relative;
	width: 100%;
	margin: 0 auto 22px;
	font-size: 3.0rem;
	font-weight: normal;
	line-height: 2;
	border-bottom: solid 1px;
}

#contents .event_comment {
	margin: 0 5px 1em;
	font-family: var(--font-sanserif);
	font-size: 2rem;
	line-height: 1.5;
}

#contents .event_comment.nmb {
	margin: 0 5px 6px;
}

.event_comment_list {
	margin: 0 5px 32px 5.5em;
	list-style: none;
}

.event_photo {
	display: flex;
	width: 100%;
	margin: 0 auto 20px;
}
.event_photo figure {
	text-align: center;
}
.event_photo figure figcaption {
	font-family: var(--font-sanserif);
	font-size: 1.4rem;
}
.event_photo figure img {
	width: 100%;
	height: auto;
}

.event_photo img {
	width: 100%;
	height: auto;
}

.event_photo.p3 {
	display: flex;
	justify-content: space-between;
}

.event_photo.p3 img {
	flex: none;
	width: 260px;
}

.more {
	text-align: right;
}
.more a {
	font-size: 2.2rem;
	color: #000;
}

#size {
	padding: 0 0 140px;
}
#size p, #size ul li {
	font-family: var(--font-sanserif);

}
#size .st {
	font-size: 3.6rem;
	text-align: center;
	font-family: var(--font-serif);
	font-weight: 200;
	line-height: 1.5;
	margin: 0 auto 40px;
}

#size .img-size {
	margin: 0 auto 70px;
	width: 1000px;
	height: 390px;
}
#size .img-size img {
	width: 100%;
	height: auto;
}

#size .row {
	align-items: flex-start;
}


#size .row .col:first-child {
	width: 840px;
}
#size .row .col:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 225px;
}

#size .row .col .img-wrap {
	width: 146px;
	height: 360px;
	margin: 0 0 5px;
}
#size .row .col .img-wrap img {
	width: 100%;
	height: auto;
}
#size .row .col:last-child p {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2;
}
#size .sst {
	font-size: 3.2rem;
	margin-bottom: 16px;
	font-family: var(--font-serif);
}
#size .sst span {
	margin-right: 0.8em;
	font-size: 2.6rem;
}

#size table {
	width: 720px;
	margin: 0 0 12px;
	border-collapse: collapse;
}
#size th, #size td {
	padding: 10px;
	border: solid 1px #000;
	font-family: var(--font-sanserif);
	font-size: 2rem;
	line-height: 1.2;
	text-align: center;
}
#size th {
	background-color: #ccddeb;
}
#size td {
	padding: 15px 10px;
}
#size th.gou {
	width: 105px;
}
#size table th span {
	font-family: var(--font-sanserif);
	font-size: 90%;
}
#size table td span {
	font-size: 80%;
}
#size .ex {
	margin: 0 0 20px;
	font-size: 1.8rem;

}

#size .caution {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 720px;
	margin: 0 0 48px;
	padding: 20px;
	border: solid 1px #31b3e8;
	font-family: var(--font-sanserif);
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.5;
	color: #31b3e8;
}

#size ul {
	font-size: 1.8rem;
	list-style: none;
}
#size ul li {
	display: inline-block;
	margin: 0 0 12px;
	font-weight: 600;
}
#size ul li::before {
	display: inline-block;
	content: "";
	width: 16px;
	height: 16px;
	margin: 0 5px 0 0;
	background: #000;
	border-radius: 100%;
	line-height: 18px;
}

#size .ssst {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 48px;
	font-family: var(--font-sanserif);
	font-size: 20px;
	font-weight: 600;
	border: solid 1px #000;
	border-top: none;
	border-bottom: none;
}
#size .ssst span {
	margin: 0 8px;
	font-family: var(--font-sanserif);
	font-size: 40px;
	font-weight: 600;
	color: #3e3a39;
}


#bgcolor {
	position: relative;
	max-width: 1920px;
	margin: 0 calc(50% - 960px);
	padding-top: 157px;
	background: #fff;
	
}

#bgcolor::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: #cfe9e7;
}

#design {
	position: relative;
	width: 1120px;
	margin: 0 auto 87px;
	  /* isolation: auto; */
	   /* isolation: isolate; */
}

#design::before, #design::after {
	content: "";
	display: block;
	position: absolute;

	mix-blend-mode: multiply;
}
#design::before {
	top: -402px;
	right: -400px;
	width: 910px;
	height: 862px;
	background: url("../images/bg_a.gif") left top / 1150px 862px;
}
#design::after {
	top: 680px;
	right: 984px;
	width: 535px;
	height: 862px;
	background: url("../images/bg_a.gif") right top / 1150px 862px;
}
#design .tt {
	position: absolute;
	top: 0;
	left: -317px;
	width: 292px;
	height: 850px;
}
#design .tt img {
	width: 100%;
	height: auto;
}
#design .row {
	align-items: flex-start;
}
#design .col {
	width: 322px;
}
#design .col:first-child {
	width: 660px;
}
#design .col:last-child {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
#design .col:first-child .st {
	margin-bottom: 20px;
	font-size: 3.6rem;
	line-height: 1.5;
}
#design .col:first-child p {
	font-size: 2.2rem;
	line-height: 1.8;
}
#design .col img {
	width: 100%;
	height: auto;
}
#design .col img:first-child {
	margin-bottom: 180px;
}
#design .col .img-wrap {
	position: relative;
	width: 100%;
	height: 774px;
	margin: 0 0 55px 0;
}
#design .col .img-wrap img.des-photo {
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 560px;
}
#design .col .img-wrap img.des-text {
	display: block;
	position: absolute;
	bottom: -5px;
	right: 35px;
	width: 610px;
	height: 140px;
}

#cloth {
	position: relative;
	width: 1120px;
	margin: 0 auto 0;
	padding: 94px 0 88px;
	border-top: double;
}
#cloth::before {
	content: "";
	display: block;
	position: absolute;
	top: 525px;
	right: -400px;
	width: 794px;
	height: 862px;
	background: url("../images/bg_b.gif") left top / 1150px 862px;
	mix-blend-mode: multiply;
}
#cloth .row {
	align-items: flex-start;

}
#cloth .col {
	width: 480px;
}
#cloth .col:last-child {
	position: relative;
	width: 512px;

}
#cloth .col:last-child .tt {
	position: absolute;
	top: 0;
	left: 0;
	width: 676px;
	height: 223px;
	mix-blend-mode: multiply;
}
#cloth .col:last-child .tt img {
	width: 100%;
	height: auto;
}
#cloth .col:last-child .img-wrap {
	width: 512px;
	height: 754px;
	margin: 242px auto 0;
}
#cloth .col:last-child .img-wrap  img {
	width: 100%;
	height: auto;
}
#cloth .img-wrap {
	width: 480px;
	height: 480px;
	margin-bottom: 100px;
}
#cloth .img-wrap img {
	width: 100%;
	height: 100%;
}
#cloth .col .st {
	margin-bottom: 24px;
	font-size: 3.6rem;
	line-height: 1.5;
}
#cloth .col:first-child p {
	font-size: 2.1rem;
	line-height: 2;
}
#fits {
	position: relative;
	margin: 0 auto 90px;
	padding-top: 94px;
	width: 1120px;
	border-top: double;
}
#fits::before {
	content: "";
	display: block;
	position: absolute;
	top: 401px;
	left: -400px;
	width: 822px;
	height: 862px;
	background: url("../images/bg_c.gif") right top / 1150px 862px;
	mix-blend-mode: multiply;
}
#fits .row {
	align-items: flex-start;
}
#fits .row .col:first-child {
	width: 448px;
	
}
#fits .row .col:first-child img {
	width: 100%;
	height: auto;
	
}
#fits .row .col:last-child {
	width: 622px;
	
}
#fits .row .col:last-child .row {
	align-items: flex-start;
	margin-bottom: 88px;
}
#fits .row .col:last-child .row .tt {
	width: 456px;
	height: 220px;
	
}
#fits .row .col:last-child .row .tt img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}
#fits .row .col:last-child .row .img-wrap {
	width: 88px;
	height: 220px;
	
}
#fits .row .col:last-child .row .img-wrap img {
	width: 100%;
	height: auto;
	
}
#fits .row .col:last-child .st {
	font-size: 3.6rem;
	margin-bottom: 40px;
	
}
#fits .row .col:last-child p {
	font-size: 2.2rem;
	line-height: 1.8;
	
}
#sewing {
	position: relative;
	width: 1120px;
	margin: 0 auto;
	padding: 86px 0px 150px;
	border-top: double;
}
#sewing::before {
	content: "";
	display: block;
	position: absolute;
	top: 568px;
	right: -400px;
	width: 745px;
	height: 862px;
	background: url("../images/bg_b.gif") left top / 1150px 862px;
	mix-blend-mode: multiply;
}
#sewing .tt {
	position: absolute;
	top: 90px;
	right: -326px
}
#sewing .row {
	align-items: flex-start;
}
#sewing .row .col:first-child {
	width: 610px;
}
#sewing .row .col:first-child .st {
	margin: 64px 0 40px;
	font-size: 3.6rem;
}
#sewing .row .col:first-child p {
	margin-bottom: 112px;
	font-size: 2rem;
	line-height: 1.8;
}
#sewing .row .col:first-child .img-wrap {
	width: 400px;
	height: 400px;
}
#sewing .row .col:first-child .img-wrap img {
	width: 100%;
	height: auto;
}
#sewing .row .col:last-child {
	width: 510px;
}
#sewing .row .col:last-child .img-wrap {
	width: 510px;
	height: 754px;
}
#sewing .row .col:last-child .img-wrap img {
	width: 100%;
	height: auto;
}


#information {
	position: relative;
	width: 1120px;
	margin: 0 auto 0px;
	padding: 86px 0px 70px;
}
#information::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: -400px;
	width: 873px;
	height: 818px;
	background: url("../images/bg_a45.gif") 100% 100% / cover;
	mix-blend-mode: multiply;
}
#information .st {
	position: relative;
	margin-bottom: 50px;
	width: 100%;
	font-size: 8rem;
	line-height: 1.3;
	border-bottom: double;
}
#information .st span {
	position: absolute;
	bottom: 10px;
	right: 0px;
	font-size: 2.2rem;
}
#information .row {
	width: 100%;
	align-items: stretch;
	margin-bottom: 66px;
}
#information .row .col {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 372px;
	padding: 0 0 0 25px;
	border-left: solid 1px #000;
}
#information .row .col::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 24px;
	height: 68px;
	background: url("../images/info_no1.png") 100% 100% / cover;
}
#information .row .col:nth-child(2)::before {
	background: url("../images/info_no2.png") 100% 100% / cover;
}
#information .row .col:nth-child(3)::before {
	background: url("../images/info_no3.png") 100% 100% / cover;
}
#information .row .col .img-wrap {
	width: 330px;
	height: 305px;
}
#information .row .col .img-wrap img {
	width: 100%;
	height: auto;
}
#information .search {
	position: relative;
	width: 1120px;
	height: 90px;
	margin-bottom: 88px;
}
#information .search::after {
	content: "";
	position: absolute;
	top: -74px;
	right: -50px;
	width: 82px;
	height: 94px;
	background: url("../images/info_img_search_d.png") 82px 94px / cover;
}
#information .search img {
	width: 100%;
	height: auto;
}
#information .ex {
	font-size: 2rem;
}
#information h3 {
	font-size: 2.6rem;
	line-height: 1.2;
	margin-bottom: 20px;
}
#information p {
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 5px;
}
#information ul {
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 5px;
	list-style: none;
}
footer {
	height: 158px;
	padding: 58px 0px 54px;
	background: #eae9e9;
	isolation: isolate;
}
footer #fnavi {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1120px;
	margin: 0 auto 12px;
	list-style: none;
}
footer #fnavi li {
	flex: none;
	display: flex;
	justify-content: center;
	width: fit-content;
	margin: 0 0;
	padding: 0 1.5em 0;
	font-size: 1.8rem;
	list-style: none;
	border-left: solid 1px #000;
}
footer #fnavi li a {
	font-family: var(--font-sanserif);
	color: #000;
}
footer #copyright {
	text-align: center;
	font-family: var(--font-sanserif);
	font-size: 1.4rem;
}

/*文字サイズ変更用*/
html.s0 {
	font-size: 80% !important;
}

html.s1 {
	font-size: 62.5% !important;
}

html.s2 {
	font-size: 50% !important;
}