@charset "UTF-8";
/**************************************
							共 通 項 目
**************************************/
body { color: #272D2E; }

#topcontrol { z-index: 9999; }

.btn { background-color: #67C9A7; display: flex; align-items: center; justify-content: center; text-align: center; color: #FFFFFF; font-size: 1.2rem; line-height: 1; padding: 1.5rem 5.0rem 1.25rem 5.0rem; position: relative; transition: .4s; letter-spacing: 1px; }
.btn a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; display: block; text-indent: -9999px; }
.btn:hover { background-color: #647375; }

h1 { font-size: 0; }

h2 { font-family: "Raleway", "Lato", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif; font-size: 4.6rem; }

.swiper-slide img { width: 100%; height: auto; }

.accent { font-size: 1.0rem; letter-spacing: 2px; color: #67C9A7 !important; position: relative; }
.accent::after { position: absolute; bottom: -2px; left: 0; width: 4.0em; height: 2px; border-radius: 1px; content: ""; background-color: #67C9A7; display: block; }

/**************************************
						 ヘ ッ ダ ー
**************************************/
.header { background-color: #272D2E; padding: 0; }
.header img { max-width: 100px; }

.hero-area { width: 100%; background: url("../img/hero-bg.jpg") center/cover no-repeat; display: flex; align-items: center; justify-content: center; flex-direction: column; position: relative; }
.hero-area > img { width: 30%; max-width: 180px; }
.hero-area p { text-align: center; color: #FFFFFF; font-size: 1.0rem; }
.hero-area p span { font-size: 2.1rem; font-weight: 700; font-family: "Merriweather", "Times New Roman", "EB Garamond", serif; }
@media (min-width: 992px) { .hero-area p { font-size: 1.6rem; }
  .hero-area p span { font-size: 4.0rem; } }

/**************************************
						コ ン テ ン ツ
**************************************/
.content-block { padding-top: 5.0rem; padding-bottom: 5.0rem; }

.about { background: url("../img/bg-grained.jpg") repeat; }
.about h2 { font-family: "Merriweather", "Times New Roman", "EB Garamond", serif; font-size: 3.4rem; font-weight: 300; }
.about .typo { justify-content: flex-start; width: auto; }
.about .typo h2 { font-size: 15.0rem; color: #67C9A7; line-height: 0.85; letter-spacing: -15px; text-align: center; font-weight: 700; }
.about p { color: #647375; line-height: 1.6; }

.workshop-images .swiper-container .swiper-wrapper { transition-timing-function: linear !important; }

.item-block { display: flex; justify-content: space-between; align-items: center; position: relative; transition: .4s; margin-bottom: 4.0rem; }
.item-block img { width: 45%; height: auto; border-bottom: solid 3px transparent; transition: .4s; }
.item-block .item-info { width: 55%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.item-block .item-info h3 { font-family: "Raleway", "Lato", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif; font-size: 3.0rem; line-height: 1; }
.item-block .item-info .moreinfo { color: #647375; font-size: 1.0rem; transition: .4s; }
.item-block .item-info .moreinfo span { position: relative; }
.item-block a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; display: block; text-indent: -9999px; }
.item-block:hover { box-shadow: 0px 4.0rem 4.0rem -4.0rem #d9d9d9; }
.item-block:hover img { border-bottom: solid 3px #67C9A7; }
.item-block:hover .item-info .moreinfo { color: #67C9A7; }
@media (min-width: 992px) { .item-block { flex-direction: column; }
  .item-block img, .item-block .item-info { width: 100%; }
  .item-block .item-info h3 { font-size: 3.4rem; } }

.model { background-color: #272D2E; border-top: solid 1px #647375; }
.model img { width: 100%; height: auto; }
.model .model-img { width: 75vw; margin-left: auto; margin-right: auto; }
@media (min-width: 992px) { .model .model-img { width: 100%; } }
.model .model-info { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.model .model-info h2 { font-size: 4.0rem; color: #FFFFFF; }
.model .model-info h2 span { font-size: 2.0rem; display: block; }
.model .model-info .caption { font-size: 1.4rem; color: #647375; }
@media (min-width: 992px) { .model .model-info h2 { font-size: 5.0rem; }
  .model .model-info .caption { font-size: 1.6rem; } }
.model .model-gallery { display: flex; flex-wrap: wrap; margin: 0; padding: 0; margin-right: -1.0rem; }
.model .model-gallery li { width: calc((100% / 4) - 1.0rem); margin-right: 1.0rem; margin-bottom: 1.0rem; }
.model .model-gallery li img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
@media (min-width: 992px) { .model .model-gallery li { width: calc((100% / 6) - 1.0rem); }
  .model .model-gallery.has-movie li { width: calc((100% / 4) - 1.0rem); } }
.model .movie { aspect-ratio: 16 / 9; }
.model .movie iframe { width: 100%; height: 100%; }
@media (min-width: 992px) { .model .movie { padding-bottom: min(2.2vw, calc(1200px * 0.022)); } }

.spec { display: flex; flex-wrap: wrap; width: 100%; }
.spec li { border-bottom: dashed 1px #647375; display: flex; align-items: center; line-height: 1.6; }
.spec li:nth-child(odd) { width: 40%; color: #647375; font-size: 1.6rem; letter-spacing: 1px; }
.spec li:nth-child(even) { width: 60%; color: #67C9A7; font-size: 1.8rem; font-family: "Merriweather", "Times New Roman", "EB Garamond", serif; }
@media (min-width: 992px) { .spec li:nth-child(odd) { width: 30%; }
  .spec li:nth-child(even) { width: 70%; } }

/**************************************
						フ ッ タ ー
**************************************/
.shop { background: #272D2E; color: #FFFFFF; }
.shop img { width: 100%; height: auto; }
.shop a, .shop a:visited { color: #FFFFFF; transition: .4s; }
.shop a:hover { color: #67C9A7; }
.shop .shopinfo { display: flex; flex-direction: column; align-items: center; }
.shop .shopinfo img { max-width: 55vw; }
.shop .shopinfo h4 { font-size: 1.6rem; font-weight: 700; text-align: center; }
.shop .shopinfo p { font-size: 1.6rem; border-bottom: dashed 1px #647375; width: 100%; color: #FFFFFF; }
.shop .shopinfo p span { font-size: 2.0rem; font-weight: 700; color: #FFFFFF; }
@media (min-width: 768px) { .shop .shopinfo img { max-width: 200px; }
  .shop .shopinfo h4 { font-size: 1.4rem; }
  .shop .shopinfo p { font-size: 1.4rem; }
  .shop .shopinfo p span { font-size: 1.8rem; } }
@media (min-width: 992px) { .shop .shopinfo img { max-width: 250px; }
  .shop .shopinfo h4 { font-size: 1.8rem; }
  .shop .shopinfo p { font-size: 1.8rem; }
  .shop .shopinfo p span { font-size: 2.2rem; } }
.shop .mapimg img { max-width: 800px; }
.shop .copyright { font-size: 1.4rem; text-align: center; color: #647375; }
